можно ли отправить EventID с сервера

root@localhost:~#

Гений мысли
VIP
Сообщения
975
Розыгрыши
0
Решения
4
Репутация
295
Реакции
551
Баллы
1 813
в unreal script есть метод OnEvent, собственно вопрос, можно ли как то отправить ивент со стороны сервера без костылей?
 
а глянь в скрипте осады там отправляются эвенты точно

искал не нашел, но евент там точно есть через евент запускаются эмиттеры в переходах

надо какую то приближенную сборку к офу смотреть
 
Последнее редактирование:
ну думаю он немного другое имеет в виду, ты то про EventTrigger пишешь, а он скорее всего хочет послать с сервера каким-нибудь пакетом определенный ид, и чтобы он обработался через OnEvent
 
не нашел ничего подобного
глянь в сторону EX_BR_BROADCAST_EVENT_STATE - в клиенте вроде как на его как раз регаются определенные eventId, чтобы показывать/скрывать к примеру доп. эвентовые окошки в интерфейсе.
 
я читал этот мануал
но к сожалению из предложенных там вариантов для меня сработал только вариант с EXSendUIEvent, но и тут мне немного провели по губам, потому что я работаю с люцерой, а там нет нужного мне метода с передачей инт значения, а когда дизер его добавит - не известно
а вот как ловить ExBR_BroadcastEventState клиентом я не разобрался
 
ну да я о нём, но я вот тож не нашел где он включается
 
Try to communicate with interface via NpcHtmlMessage, where you can send plain string and then parse it to any format you'd like
 
Для IT writeC(0xa0);
.uc
ExecuteEvent(EVENT_ID,param);
или
ExecuteEvent(EVENT_ID);
 
Я так понимаю нет доступа к исходникам, а разве нельзя в скриптах создать еще 1 реализацию пакета EXSendUIEvent где уже будешь передавать что хочешь ?
 
доступа к исходникам нет, может конечно и можно создать еще одну реализацию пакета, но я пока не сильно в таких вещах понимаю :с
 
Java:
class ServerPacket extends L2GameServerPacket
    {
        final StringBuilder sb;
        ServerPacket(StringBuilder sb)
        {
            this.sb = sb;
        }
        
        @Override
        protected void writeImpl()
        {
            writeC(0xa0);
            writeS(sb.toString());
        }
    }
    
    void sendParamServerPacket(Player activeChar, StringBuilder sb)
    {
        activeChar.sendPacket(new ServerPacket(sb));
    }
 
у меня ХФ сборка, думаю на ИТ структура такая же
пакет можно создать как отдельным классом так и прям внутри скрипта из которого хочешь отправить

Java:
    public static class ExSendUIEventExt extends L2GameServerPacket {
        private final Player player;

        public ExSendUIEventExt(Player player) {
            this.player = player;
        }

        @Override
        protected void writeImpl() {
            writeC(0xFE);
            writeH(0x8E);
            writeD(player.getObjectId()); //UserID
            writeD(1000); // EventID
            writeD(222); //Ask
            writeD(333); //Reply
            writeS("qwerqwer"); //Param1
            writeS("qwerqwer"); //Param...
            writeS("qwerqwer");
            writeS("qwerqwer");
            writeS("qwerqwer");
            writeS("qwerqwer");
        }
    }
Данные можешь подставить как захочешь) у стрингов ограничение в 255 символов
 
на эпилоге так и юзаю и вполне все четко работает( правда не как в т воем формате но подобно )
 
вот это сработало, спасибо, только чуть по другому для классика
 
Deazer
Когда ты уже реализуешь - то что нужно еденицам а не будешь мамонта откапывать зубочисткой?
 
в сборке есть хороший инструментарий что бы реализовать большую часть хотелок самому