Вернуться   CoderX :: Forums > Lineage II > L2PacketHack > Скриптинг
Войти через OpenID

Скриптинг Форум посвещенный созданию скриптов для L2PacketHack

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
 
 
Опции темы Опции просмотра
Старый 26.06.2011, 17:36   #26
Местный
 
Регистрация: 23.02.2009
Сообщений: 319
Сказал Спасибо: 72
Имеет 60 спасибок в 45 сообщенях
Kilatif пока неопределено
По умолчанию

Deffol, ну для начала нужно понять структуру пакета, который отвечает за то что тебе нужно. Т.е. разобрать в каком месте пакета можно найти допустим ник или лвл... Если l2phx уже показывает тебе структуру, тогда пришли ее сюда. Но, ты вроде говорил что там все плохо и структуру пакетов ты не видишь. Тогда разбирай пакет самостоятельно и пытайся выделить все части. А потом когда его разберешь, тебе нужно по количеству байт читать с пакета. Да, нужно разные переменные для себя выделять, типа ника, лвла и т.д. В общем, те, которые тебе нужно. А потом читаешь с помощью Read эти переменные. Допустим, есть у тебя пакет с такой структурой:
Name(S)ObjectID(D)Race(C)Lvl(C)x(d)y(d)z(d)

и тебе нужно из этого только имя, ObjectID и координаты. Тогда ты делаешь так:
Объявляешь нужные переменные:
var Name : string;
ObjectID : integer;
x, y, z : integer;

и потом уже где нужно ловишь пакет и считываешь через Read'ы:
pos := 2; //пропускаешь тип пакета (я только не знаю как в аионе, в ла2 это 1 байт обычно)
Name := ReadS(pos);
ObjectID := ReadD(pos);
pos := pos + 2;// пропускаем 2 байта Race(C)Lvl(C)
x := ReadD(pos);
y := ReadD(pos);
z := ReadD(pos);

Для справки:
C - 1 байт
D - 4 байта
S - строка (не фиксированное кол-во байт)

Надеюсь ты уловил мою мысль =)

P.S. Когда будешь получать структуру пакета, можешь даже не полностью ее получать, а выделить только то, что тебе нужно, главное что бы это нужное всегда было на том месте, с которого ты можешь определить программно. Допустим в моем примере ты мог получить структуру:
Name(S)ObjectID(D)??(2 байта)x(d)y(d)z(d)

И в этом случае мой пример все равно работает, потому что на эти неизвестные 2 байта я смещаюсь и это количество никогда не измениться.

Последний раз редактировалось Kilatif, 26.06.2011 в 17:40.
Kilatif вне форума   Ответить с цитированием
За это сообщение Kilatif нажился спасибкой от:
 

  CoderX :: Forums > Lineage II > L2PacketHack > Скриптинг



Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 06:18.

vBulletin style designed by MSC Team.
Powered by vBulletin® Version 3.6.11
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Locations of visitors to this page
Rambler's Top100

Вы хотите чувствовать себя в безопасности? чоп Белган обеспечит её!