1. Запускаем программу 2. Запускаем клиент 3. Входим в игру Если всё нормально, то первым делом в игре получите приватное сообщение от hLaPEx
В качестве бонуса готовые пакеты на LVL-UP анимацию и вызов страйдера/виверна
* hLaPEx умеет работать с L2Walker * Поддержка L2J (ява серверов) * Новая закладка "Explorer"
* Теперь программе не требуется BFKey (Token)
* Пакеты можно отправлять в обе стороны (как клиенту, так и серверу)
* Полностью переписан код работы с сокетами (теперь hLaPEx не боится оживленных площадей). В связи с этим был очень сильно модифицирован весь код программы (возможно появление новых "багов"). * Сохранение/загрузка скриптов (default.pas автоматически загружается при запуске hLaPEx'a) * Вывод первых пакетов Client <-> GameServer (ProtocolVersion и FirstKey)
* Изменилось содержимое закладок * В списке пакетов sniffer'a появилось контекстное меню ("Hide packets with same ID" - спрятать все пакеты с таким же ID, "Show only packets with same ID" - оставить только пакеты с таким же ID, "Show all packets (reset filter)" - отобразить все пакеты, сброс фильтра) * Добавлена функция HStr * Немного модифицированы функции WriteD и WriteC * Проект закрыт
-------------------------------------------------------------------------
Скрипты
Описание FastScript: http://msfu.net.ru/download/other/fs.rtf
Доступные переменные: pck (string) - текущий обрабатываемый пакет (без первых двух байт с размером) FromClient (boolean) - пакет (pck) пришел от клиента FromServer (boolean) - пакет (pck) пришел от сервера buf (string) - буфер, используемый некоторыми функциями
Доступные функции: ShowTab и HideTab - для отображения/скрытия панели, управлять которой можно из скрипта SendToClient - отправляет клиенту содержимое переменной buf SendToServer - отправляет серверу содержимое переменной buf (к пакету buf автоматически добавляются 2 байта длины)
ReadD(var index:integer):integer - читает из переменной pck число (4 байта) ReadS(var index:integer):string - читает из переменной pck строку ReadC(var index:integer):byte - читает из переменной pck байт Index - начальная позиция чтения, которая модифицируется функцией (сдвигается на число считанных байт)
HStr(h:string):string - преобразует строку в HEX-последовательность К примеру, HStr('AA 00 BB 00 CC 00') вернёт цепочку байт #$AA#$00#$BB#$00#$CC#$00. Можно передавать строку как с пробелами, так и без них; регистр символов не имеет значения.
WriteS(v:string) - пишет в переменную buf строку (автоматический перевод в unicode) WriteD(v:integer; ind:integer=0) - пишет в переменную buf число (4 байта) WriteC(v:byte; ind:integer=0) - пишет в переменную buf один байт
В первых двух процедурах присутствует необязательный параметр ind. Если параметр не указан, то переменная buf дополняется байтом/числом, иначе модифицируется часть буфера.
Пример: buf=HStr('AA BB CC DD EE'); Если вызвать функцию WriteD(10,1), то получим buf=[0A 00 00 00 EE]. А если просто WriteD(10), то [AA BB CC DD EE 0A 00 00 00].
---
При входе в игру вызывается процедура Init, при выходе из игры - процедура Free. Основное тело скрипта (между begin и end) вызывается каждый раз при получении пакета от сервера или клиента.
|