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

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

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

ERASE, попробую поискать, скрипт изначально задумывался как бот =) только заброшен был давно ...
QaK вне форума   Ответить с цитированием
Старый 27.01.2009, 22:03   #12
Рыцарь
 
Аватар для NLObP
 
Регистрация: 25.02.2008
Адрес: г.Волгоград
Сообщений: 2,009
Сказал Спасибо: 1,285
Имеет 1,458 спасибок в 793 сообщенях
NLObP пока неопределено
По умолчанию

Цитата:
Сообщение от ERASE Посмотреть сообщение
пытался разобраться в куске кода из скрипта на заточку
Ещё раз посмотри в нём внимательно процедуры:
delphi Код:
var   BaseItems:  array[1..maxitems, 1..12] of integer//все предметы в инвентаре //.............................................................................. procedure ItemList; {Создаем базу Items} var   i, j, k: integer;   ListCount: integer; begin   j:=4; //смещение для ListCount   ListCount:=ReadH(j); //количество итемов не должно превышать max!   for i:=1 to maxitems do     if (i<=ListCount) then begin       BaseItems[i,1]:=ReadH(j)//ItemType1       BaseItems[i,2]:=ReadD(j)//ObjectID       BaseItems[i,3]:=ReadD(j)//ItemID       BaseItems[i,4]:=ReadD(j)//LocationSlot       BaseItems[i,5]:=ReadD(j)//Count       BaseItems[i,6]:=ReadH(j)//ItemType2       BaseItems[i,7]:=ReadH(j)//CustomType1       BaseItems[i,8]:=ReadH(j)//isEquipped       BaseItems[i,9]:=ReadD(j)//BodyPart       BaseItems[i,10]:=ReadH(j); //EnchantLevel       BaseItems[i,11]:=ReadH(j); //CustType2       BaseItems[i,12]:=ReadD(j); //AugmentationID       inc(j,40);     end else for k:=1 to 12 do BaseItems[i,k]:=0; // забиваем нулями end; //.............................................................................. procedure InventoryUpdate; var   i, ii, j, k, ListCount, UpdType : integer;   ItemType1, ObjectID, ItemID, LocationSlot, Count, ItemType2, CustomType1,   isEquipped, BodyPart, EnchantLevel, CustType2, AugmentationID :integer;   additem : boolean; begin   additem:=true;   ListCount:=ReadH(2); //количество итемов   j:=4; //смещение для действия с предметом 1-добавлен 2-изменен 3-удален   for i:=1 to ListCount do begin     UpdType:=ReadH(j);     ItemType1:=ReadH(j);     ObjectID:=ReadD(j);     ItemID:=ReadD(j);     LocationSlot:=ReadD(j);     Count:=ReadD(j);     ItemType2:=ReadH(j);     CustomType1:=ReadH(j);     isEquipped:=ReadH(j);     BodyPart:=ReadD(j);     EnchantLevel:=ReadH(j);     CustType2:=ReadH(j);     AugmentationID:=ReadD(j);     case UpdType of       1: k:=0;         //добавлен новый предмет       2: k:=ObjectID; //изменен предмет в инвентаре       3: begin       //удален         for ii:=1 to maxitems do           if (BaseItems[ii,2]=ObjectID) then begin             for k:=1 to 12 do BaseItems[ii,k]:=0;             break;           end;       end;     end;     for ii:=1 to maxitems do begin       if (BaseItems[ii,2]=k) then begin         BaseItems[ii,1]:=ItemType1;         BaseItems[ii,3]:=ItemID;         BaseItems[ii,4]:=LocationSlot;         BaseItems[ii,5]:=Count;         BaseItems[ii,6]:=ItemType2;         BaseItems[ii,7]:=CustomType1;         BaseItems[ii,8]:=isEquipped;         BaseItems[ii,9]:=BodyPart;         BaseItems[ii,10]:=EnchantLevel;         BaseItems[ii,11]:=CustType2;         BaseItems[ii,12]:=AugmentationID;         break;       end;     end;     inc(j,38);   end; end; //..............................................................................  

А если надо из базы найти что-то, то смотри функцию
delphi Код:
//.............................................................................. function GetItem(ID, FieldIn, FieldOut : integer): integer; {GetInv(что ищем, № поля где ищем, № поля что возвращать) где:   ID - искомый код;   FieldIn - по какому полю ищем;   FieldOut - какое поле возвращаем; 1=ItemType1; 2=ObjectID;3=ItemID;4=LocationSlot;5=Count;6=ItemType2;7=CustomType1; 8=isEquipped;9=BodyPart;10=EnchantLevel;11=CustType2;12=AugmentationID; ex1: GetInv(6408,2,1) - вернет ObjectID свадебного платья, если онное лежит в                         инвентаре, иначе вернет -1 ex2: GetInv(6408,2,8) - вернет уровень заточки первого попавшегося в инвентаре                         свадебного платья, если свадебного платья нет, то вернет -1 } var   i: integer; begin   for i:=1 to maxitems do     if (BaseItems[i,FieldIn]=ID) then begin       Result:=BaseItems[i,FieldOut];       exit;     end;   Result:=-1; end; //..............................................................................  
__________________
| Для самых ленивый | Телепаты в отпуске |Мы работаем над этим |
Не умеешь - учись, не хочешь учиться - плати © Суровый Закон Жизни



Последний раз редактировалось NLObP, 27.01.2009 в 22:11.
NLObP вне форума   Ответить с цитированием
За это сообщение NLObP нажился 3 спасибками от:
Старый 27.01.2009, 22:08   #13
Пользователь
 
Аватар для ERASE
 
Регистрация: 09.08.2008
Сообщений: 29
Сказал Спасибо: 14
Имеет 2 спасибок в 2 сообщенях
ERASE пока неопределено
По умолчанию

Кстати, что-то с оид есть в скриптах на заточку...

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

Добавлено через 1 минуту
Эмммм... Это для определения всех параметров всех вещей... А мне нужно только ОИД адены в инвентаре... Сейчас попробую открутить все, кроме оид...

Последний раз редактировалось ERASE, 27.01.2009 в 22:08. Причина: Добавлено сообщение
ERASE вне форума   Ответить с цитированием
Старый 27.01.2009, 22:13   #14
Рыцарь
 
Аватар для NLObP
 
Регистрация: 25.02.2008
Адрес: г.Волгоград
Сообщений: 2,009
Сказал Спасибо: 1,285
Имеет 1,458 спасибок в 793 сообщенях
NLObP пока неопределено
По умолчанию

Цитата:
Сообщение от ERASE Посмотреть сообщение
А мне нужно только ОИД адены в инвентаре...
Возьми готовое и не мучай нас. Три подпрограммы, которые могут найти всё, что угодно в инвентаре. Кстати их уже выкладывали в теме с готовыми функциями.
__________________
| Для самых ленивый | Телепаты в отпуске |Мы работаем над этим |
Не умеешь - учись, не хочешь учиться - плати © Суровый Закон Жизни


NLObP вне форума   Ответить с цитированием
Старый 27.01.2009, 22:23   #15
Пользователь
 
Аватар для ERASE
 
Регистрация: 09.08.2008
Сообщений: 29
Сказал Спасибо: 14
Имеет 2 спасибок в 2 сообщенях
ERASE пока неопределено
По умолчанию

Ну мне просто интересно... В любом случае, спасибо всем
ERASE вне форума   Ответить с цитированием
Ответ

  CoderX :: Forums > Lineage II > L2PacketHack



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

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


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

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

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