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

L2PacketHack Форум программы L2PacketHack, всё что с ней связано находится тут.
Правила раздела! Обсуждение багов Lineage ЗАПРЕЩЕНО!

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 27.01.2009, 19:12   #1
Пользователь
 
Аватар для ERASE
 
Регистрация: 09.08.2008
Сообщений: 29
Сказал Спасибо: 14
Имеет 2 спасибок в 2 сообщенях
ERASE пока неопределено
По умолчанию Определение ObjectID

Если есть у кого кусок кода, прошу скинуть... Желательно, если он будет простенький и небольшой, т.к. пытался разобраться в куске кода из скрипта на заточку - не особо получилось... (Ну, хотя, было 4 часа ночи где-то... ).

Суть вопроса: в инвентаре есть вещь, например, адена, OID которой нужно определить при включении скрипта, допустим. ID адены известен.

За кусочек кода буду благодарен.
ERASE вне форума   Ответить с цитированием
Старый 27.01.2009, 19:49   #2
Рыцарь
 
Аватар для QaK
 
Регистрация: 28.09.2007
Сообщений: 1,558
Сказал Спасибо: 71
Имеет 351 спасибок в 244 сообщенях
QaK пока неопределено
По умолчанию

delphi Код:
//Считываем параметры одной вещи procedure SetItem(var PckPos:integer;ItemIndex:byte); begin Inventory[ItemIndex].ItemType1:=ps.ReadHEx(ppck^,PckPos);    //1       inc(PckPos,2);       Inventory[ItemIndex].ObjectID:=ps.ReadDEx(ppck^,PckPos);     //2       inc(PckPos,4);       Inventory[ItemIndex].ItemID:=ps.ReadDEx(ppck^,PckPos);       //3       inc(PckPos,8);       Inventory[ItemIndex].ItemCount:=ps.ReadDEx(ppck^,PckPos);    //4       inc(PckPos,4);       Inventory[ItemIndex].ItemType2:=ps.ReadHEx(ppck^,PckPos);    //5       inc(PckPos,2);       Inventory[ItemIndex].CustType1:=ps.ReadHEx(ppck^,PckPos);    //6       inc(PckPos,2);       Inventory[ItemIndex].IsEquipped:=ps.ReadHEx(ppck^,PckPos);   //7       inc(PckPos,2);       Inventory[ItemIndex].BodyPart:=ps.ReadDEx(ppck^,PckPos);     //8       inc(PckPos,4);       Inventory[ItemIndex].EnchantLevel:=ps.ReadHEx(ppck^,PckPos); //9       inc(PckPos,2);       Inventory[ItemIndex].CustType2:=ps.ReadHEx(ppck^,PckPos);    //10       inc(PckPos,2);       Inventory[ItemIndex].AugID:=ps.ReadDEx(ppck^,PckPos);        //11       inc(PckPos,4);       Inventory[ItemIndex].ShadowTime:=ps.ReadDEx(ppck^,PckPos);   //12       inc(PckPos,40); end; //Для пакета Inventory Init procedure ExtractInvInfo; var c1,c2:integer; begin SetLength(Inventory,ps.ReadHEx(ppck^,5)); //количество вещей в инвентаре       if Length(Inventory)<>0 then       c2:=7;       for c1:=0 to Length(Inventory)-1 do //пробегаем по всем предметам         begin SetItem(c2,c1);   //считываем параметры одного предмета         end; end;
это для пакета InventoryInit.
QaK вне форума   Ответить с цитированием
За это сообщение QaK нажился спасибкой от:
Старый 27.01.2009, 20:17   #3
Пользователь
 
Аватар для ERASE
 
Регистрация: 09.08.2008
Сообщений: 29
Сказал Спасибо: 14
Имеет 2 спасибок в 2 сообщенях
ERASE пока неопределено
По умолчанию

Ёпть... А можно, пожалуйста, комментов побольше?
ERASE вне форума   Ответить с цитированием
Старый 27.01.2009, 20:21   #5
Пользователь
 
Аватар для ERASE
 
Регистрация: 09.08.2008
Сообщений: 29
Сказал Спасибо: 14
Имеет 2 спасибок в 2 сообщенях
ERASE пока неопределено
По умолчанию

Нужный мне кусок с ОИД:
Код:
procedure SetItem(var PckPos:integer;ItemIndex:byte);
begin 
      Inventory[ItemIndex].ObjectID:=ps.ReadDEx(ppck^,PckPos);     //OID
      inc(PckPos,4);
end;
Или писать полностью всю процедуру?

Эту процедуру запускаем при получении пакета InventoryInit, правильно?:

Код:
procedure ExtractInvInfo;
var c1,c2:integer;
begin SetLength(Inventory,ps.ReadHEx(ppck^,5)); //Определяем кол-во вещей?
      if Length(Inventory)<>0 then
      c2:=7;
      for c1:=0 to Length(Inventory)-1 do //пробегаем по всем предметам
        begin SetItem(c2,c1);   //считываем параметры одного предмета
        end;
end;
В итоге, он ОИД пишет в Inventory[номер айтима].ObjectID ?

Последний раз редактировалось ERASE, 27.01.2009 в 20:24.
ERASE вне форума   Ответить с цитированием
Старый 27.01.2009, 20:31   #6
Рыцарь
 
Аватар для Grinch
 
Регистрация: 29.02.2008
Сообщений: 928
Сказал Спасибо: 127
Имеет 130 спасибок в 93 сообщенях
Grinch пока неопределено
По умолчанию

ERASE, ты определись сначала ты скрипт пишешь или длл? сразу объясняю в чем разница в скриптах пакет хак передает строки байт а в длл массивы т.е. в скрипте 1-й байт типа пакета, а в длл 2-й байт тип пакета и 2 байта перед ним размер этого пакета так что procedure ExtractInvInfo; надо перешать смещение, и в скрипте масив объявить да и в длл не забудь. и определись с хрониками это кусочег особенно procedure SetItem(var PckPos:integer;ItemIndex:byte); для ОФФ сервера Грации пат1.
Grinch вне форума   Ответить с цитированием
За это сообщение Grinch нажился спасибкой от:
Старый 27.01.2009, 20:37   #7
Пользователь
 
Аватар для ERASE
 
Регистрация: 09.08.2008
Сообщений: 29
Сказал Спасибо: 14
Имеет 2 спасибок в 2 сообщенях
ERASE пока неопределено
По умолчанию

Я пишу скрипт и просил для скрипта До дллок мне далеко
Интерлюд у меня...
ERASE вне форума   Ответить с цитированием
Старый 27.01.2009, 21:04   #8
Рыцарь
 
Аватар для QaK
 
Регистрация: 28.09.2007
Сообщений: 1,558
Сказал Спасибо: 71
Имеет 351 спасибок в 244 сообщенях
QaK пока неопределено
По умолчанию

Грих, выдери кусок из того скрипта, а то я его опять похерил.
QaK вне форума   Ответить с цитированием
Старый 27.01.2009, 21:10   #9
Рыцарь
 
Аватар для Grinch
 
Регистрация: 29.02.2008
Сообщений: 928
Сказал Спасибо: 127
Имеет 130 спасибок в 93 сообщенях
Grinch пока неопределено
По умолчанию

Ген
Цитата:
Сообщение от QaK Посмотреть сообщение
того скрипта
это что ? я его кажись то ж похерил точней пропал в неизвестном направление скриптик.
Grinch вне форума   Ответить с цитированием
Старый 27.01.2009, 21:11   #10
Пользователь
 
Аватар для ERASE
 
Регистрация: 09.08.2008
Сообщений: 29
Сказал Спасибо: 14
Имеет 2 спасибок в 2 сообщенях
ERASE пока неопределено
По умолчанию

Че за скрипт? И можно ли все-таки для меня его как-то выдрать?))
ERASE вне форума   Ответить с цитированием
Ответ

  CoderX :: Forums > Lineage II > L2PacketHack



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

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


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

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

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