Пакет TutorialEnableClientEvent

  • Автор темы Автор темы nesss
  • Дата начала Дата начала

nesss

Пляшущий с бубном
Участник
Сообщения
238
Розыгрыши
0
Решения
3
Репутация
-2
Реакции
23
Баллы
230
Хроники
  1. The 2nd Throne: Gracia
Исходники
Присутствуют
Сборка
Собственная
Всем привет, подскажите пожалуйста идентификаторы событий пакета, что за что отвечает? Вот нашел в сборках 1 вроде за бег, начал тестить, не срабатывает бег, клиент не шлет ответ серверу, а вот тестил 2, там да работает, при зажатой правой кнопке мыши изменение обзора, тут клиент шлет отвеку.
 
Java:
public class TutorialEnableClientEvent extends L2GameServerPacket
{
    private final int _mask;

    /**
     * 1 - кликнуть на левую кнопку мыши для перемещения<br>
     * 2 - зажать правую кнопку мыши и подвигать камеру<br>
     * 4 - покрутить колесиком мыши<br>
     * 8 - кликнуть на правую кнопку мыши для сброса положения камеры<br>
     * 16 - кликнуть колесиком мыши<br>
     * возможно еще что-то есть на следующих выставляемых битах (32, 64, 128 и т.д.)
     */
    public TutorialEnableClientEvent(int mask)
    {
        _mask = mask;
    }

    @Override
    protected final void writeImpl()
    {
        writeId(ServerPackets.TUTORIAL_ENABLE_CLIENT_EVENT);
        writeD(_mask);
    }
}
 
Я потести его, работает только 2, 4, 8, 16. Все остальное что вот в сборках нашел не работает, возможно это осталось с прошлого, то есть нашел такую закономерность, вот действия клиента от 2, 4, 8, 16 не имеют каких-либо пакетов, которые при их выполнении сервер получал пакет, который оповещал его, что клиент скажем покрутил колесико, вот я так понял для этого пакет данный и есть, а вот клик для передвижения, тут уже интереснее, то есть данное задание должно выполнится, когда игрок начал передвижение, а это может гарантировать только сервер, то есть тут клиент шлет пакет, передвижение в точку, а сервер отслеживает триггеры, так же и для поднятия предмета, поговорить с НПС и все остальное делается через триггеры, так же и по заданиям все через триггеры, в клиенте вот если посмотреть там та же система триггеров, а вот в бесплатный сборках реализовано иначе, там делают маркеры скажем на НПС, если клиент убил НПС, проверяется, в каких квестах участвует? затем проверяется есть ли такие квесты у игрока, и дальше обработка.
 
Обратите внимание, что данный пользователь заблокирован! Не совершайте с ним никаких сделок! Перейдите в его профиль, чтобы узнать причину блокировки.
В приведённом классе поле называется _mask, а значения 1, 2, 4, 8 и 16 занимают разные биты. Поэтому это стоит проверять как маску, а не как номера последовательных событий: для уже работающих 2, 4, 8 и 16 их объединение даёт 30. В таблице тестов полезно разделить отправленную маску и полученное значение ответа клиента. Поведение бита 1 всё равно нужно подтверждать на конкретном протоколе, а не переносить из комментария старой сборки.
 
Да, 1 на епилоге не работает
 
Это для GF.

Код:
[TUTORIAL_MOVE_CLICK]            =    0x00000001
[TUTORIAL_VIEW_CHANGE]            =    0x00000002
[TUTORIAL_WHEELING]                =    0x00000004
[TUTORIAL_RIGHT_CLICK]            =    0x00000008
[TUTORIAL_WHEEL_CLICK]            =    0x00000010
[TUTORIAL_LEVEL_UP_36]            =    0x00000020
[TUTORIAL_LEVEL_UP_61]            =    0x00000040
[TUTORIAL_LEVEL_UP_73]            =    0x00000080

[TUTORIAL_HP_UNDER_1over3]        =    0x00000100
[TUTORIAL_DIE_1_9]                =    0x00000200
[TUTORIAL_LEVEL_UP_5]            =    0x00000400
[TUTORIAL_LEVEL_UP_7]            =    0x00000800
[TUTORIAL_LEVEL_UP_20]            =    0x00001000
[TUTORIAL_OPEN_QUEST_WINDOW]    =    0x00002000
[TUTORIAL_LEVEL_UP_39]            =    0x00004000
[TUTORIAL_LEVEL_UP_76]            =    0x00008000

[TUTORIAL_PICK_BLUE_GEM]        =    0x00100000
[TUTORIAL_PICK_ADENA]            =    0x00200000
[TUTORIAL_LEVEL_UP_4]            =    0x00400000
[TUTORIAL_SIT_DOWN]                =    0x00800000

[TUTORIAL_LEVEL_UP_35]            =    0x01000000
[TUTORIAL_LEVEL_UP_75]            =    0x02000000
[TUTORIAL_LEVEL_UP_15]            =    0x04000000
[TUTORIAL_LEVEL_UP_6]            =    0x08000000

[TUTORIAL_LEVEL_UP_9]            =    0x10000000
[TUTORIAL_LEVEL_UP_10]            =    0x20000000
[TUTORIAL_LEVEL_UP_12]            =    0x40000000



[TUTORIAL_INITIAL_EVENT_SET]    =    0x7fffff00
 
Назад
Сверху Снизу