Показать сообщение отдельно
Старый 05.05.2011, 15:15   #52
Йоха
Умный
 
Регистрация: 02.07.2010
Сообщений: 434
Сказал(а) спасибо: 27
Поблагодарили 73 раз(а) в 45 сообщениях
Йоха Скоро придёт к известности
По умолчанию

В общем ясно, это надо допилить по ходу дела. Сейчас допишу элементарное взаимодействие со скриптами.

В целом архитектура вырисовывается такая, для работы программы требуются 2 файла:
opcodes.txt
parsers.lua

оба файла загружаются из папки соответсвующей номеру билда снифа (берется из заголовка pkt файла)
формат opcodes.txt:
Код:
опкод, текстовое_представление_опкода, имя_функции_для_парсинга
опкод может быть как в десятичной системе, так и в шестьнадцатеричной. Для последней число должно начинаться с "0x"
например:
Код:
0x8581, CMSG_WORLD_TELEPORT, cmsg_world_teleport
для этого примера файл parsers.lua должен содержать функцию cmsg_world_teleport
Код:
function cmsg_world_teleport()
// тут написать собственно сам парсер пакета
end
внутри lua функции доступен объект "packet" который используется для чтения данных из пакета, например:
Код:
function cmsg_world_teleport()
  packet.Read8()
  packet.Read32()
end
ну и конечно какой-нибудь объект для вывода отпарсеной информации в окно программы, название пока не придумал
Йоха вне форума   Ответить с цитированием