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

root@localhost:~#

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

а глянь в скрипте осады там отправляются эвенты точно

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

надо какую то приближенную сборку к офу смотреть
 
Последнее редактирование:
а глянь в скрипте осады там отправляются эвенты точно

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

надо какую то приближенную сборку к офу смотреть
ну думаю он немного другое имеет в виду, ты то про EventTrigger пишешь, а он скорее всего хочет послать с сервера каким-нибудь пакетом определенный ид, и чтобы он обработался через OnEvent
 
не нашел ничего подобного
глянь в сторону EX_BR_BROADCAST_EVENT_STATE - в клиенте вроде как на его как раз регаются определенные eventId, чтобы показывать/скрывать к примеру доп. эвентовые окошки в интерфейсе.
 
глянь в сторону EX_BR_BROADCAST_EVENT_STATE - в клиенте вроде как на его как раз регаются определенные eventId, чтобы показывать/скрывать к примеру доп. эвентовые окошки в интерфейсе.
я читал этот мануал
но к сожалению из предложенных там вариантов для меня сработал только вариант с EXSendUIEvent, но и тут мне немного провели по губам, потому что я работаю с люцерой, а там нет нужного мне метода с передачей инт значения, а когда дизер его добавит - не известно
а вот как ловить ExBR_BroadcastEventState клиентом я не разобрался
 
ну думаю он немного другое имеет в виду, ты то про EventTrigger пишешь, а он скорее всего хочет послать с сервера каким-нибудь пакетом определенный ид, и чтобы он обработался через OnEvent
ну да я о нём, но я вот тож не нашел где он включается
 
I read this manual
but unfortunately, from the options proposed there, only the option with EXSendUIEvent worked for me, but even here I was a little bit tricked, because I work with Lucera, and there is no method I need with the transfer of an int value, and when the deezer will add it - it is unknown
but I didn't figure out how to catch ExBR_BroadcastEventState with the client
Try to communicate with interface via NpcHtmlMessage, where you can send plain string and then parse it to any format you'd like
 
в unreal script есть метод OnEvent, собственно вопрос, можно ли как то отправить ивент со стороны сервера без костылей?
Для IT writeC(0xa0);
.uc
ExecuteEvent(EVENT_ID,param);
или
ExecuteEvent(EVENT_ID);
 
я читал этот мануал
но к сожалению из предложенных там вариантов для меня сработал только вариант с EXSendUIEvent, но и тут мне немного провели по губам, потому что я работаю с люцерой, а там нет нужного мне метода с передачей инт значения, а когда дизер его добавит - не известно
а вот как ловить ExBR_BroadcastEventState клиентом я не разобрался
Я так понимаю нет доступа к исходникам, а разве нельзя в скриптах создать еще 1 реализацию пакета EXSendUIEvent где уже будешь передавать что хочешь ?
 
Я так понимаю нет доступа к исходникам, а разве нельзя в скриптах создать еще 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 символов
 
у меня ХФ сборка, думаю на ИТ структура такая же
пакет можно создать как отдельным классом так и прям внутри скрипта из которого хочешь отправить

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 символов
на эпилоге так и юзаю и вполне все четко работает( правда не как в т воем формате но подобно )
 
у меня ХФ сборка, думаю на ИТ структура такая же
пакет можно создать как отдельным классом так и прям внутри скрипта из которого хочешь отправить

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
Когда ты уже реализуешь - то что нужно еденицам а не будешь мамонта откапывать зубочисткой?
 
Deazer
Когда ты уже реализуешь - то что нужно еденицам а не будешь мамонта откапывать зубочисткой?
в сборке есть хороший инструментарий что бы реализовать большую часть хотелок самому
 
Назад
Сверху Снизу