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

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

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 10.12.2010, 22:46   #1
Местный
 
Аватар для Nickers
 
Регистрация: 23.11.2009
Сообщений: 574
Сказал Спасибо: 134
Имеет 117 спасибок в 82 сообщенях
Nickers пока неопределено
По умолчанию

Цитата:
Сообщение от QaK Посмотреть сообщение
hopuah1991, м.б. переделать самому из существующего?
Как смещения редактировать под версии? Есть темка такая?
(Я случаем не бред несу?)
__________________
Пишу что думаю, но ничего не знаю...
[LameGuard|Скрипты l2phx]
Nickers вне форума   Ответить с цитированием
Старый 11.12.2010, 04:36   #2
Рыцарь
 
Аватар для NLObP
 
Регистрация: 25.02.2008
Адрес: г.Волгоград
Сообщений: 2,009
Сказал Спасибо: 1,285
Имеет 1,458 спасибок в 793 сообщенях
NLObP пока неопределено
По умолчанию

Цитата:
Сообщение от Nickers Посмотреть сообщение
Как смещения редактировать под версии?
Берешь конкретный сервер, точишся руками, смотришь пакеты: ItemList, InventoryUpdate. Если во всех предметах видно правильное описание по ItemID (смещение 10 и 78 по рисунку), то смотришь, в например этот кусок скрипта:
delphi Код:
procedure ItemList; var   i, j, k: integer;   ListSize: integer;  begin    j:=4; //пропускаем дo ListSize   ListSize:=ReadH(j);   for i:=1 to ListSize do   if (i<=ListSize) then begin       BaseItems[i,1]:=ReadH(j)//ItemType1- 1:одето броня. 0:бижа. 4:в рюкзаке       BaseItems[i,2]:=ReadD(j)//ObjectID       BaseItems[i,3]:=ReadD(j)//ItemID       BaseItems[i,4]:=ReadD(j)//LocationSlot       BaseItems[i,5]:=ReadD(j)//  q Amount:                j:=j+4;           //  q Amount:       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         inc(j,30);// ФИНАЛ  end else for k:=1 to 10 do BaseItems[i,k]:=0;    // забиваем нулями  if (0<ItemID) then objectOID:=GetObjectID(ItemID);//находим по ItemID  предмет с ObjectID  end;
Нас интересуют смещения ObjectID, EnchantLevel и кусочек скрипта - inc(j,30). Так вот. На рисунке, в первом блоке EnchantLevel находится по смещению 36 он размером 2 байта, за ним идет CustType2 смещение 38. Оно нам и надо. В следующем блоке ObjectID по смещению - 74. Вычисляем разницу 74-38=36. Вот поэтому сюда inc(j,30); надо не 30, а 36 вставить. Так как по видимому другие хроники. Процедура должна быть такая:
delphi Код:
procedure ItemList; var   i, j, k: integer;   ListSize: integer;  begin    j:=4; //пропускаем дo ListSize   ListSize:=ReadH(j);   for i:=1 to ListSize do   if (i<=ListSize) then begin       BaseItems[i,1]:=ReadH(j)//ItemType1- 1:одето броня. 0:бижа. 4:в рюкзаке       BaseItems[i,2]:=ReadD(j)//ObjectID       BaseItems[i,3]:=ReadD(j)//ItemID       BaseItems[i,4]:=ReadD(j)//LocationSlot       BaseItems[i,5]:=ReadD(j)//  q Amount:                j:=j+4;           //  q Amount:       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         inc(j,36);// ФИНАЛ  end else for k:=1 to 10 do BaseItems[i,k]:=0;    // забиваем нулями  if (0<ItemID) then objectOID:=GetObjectID(ItemID);//находим по ItemID  предмет с ObjectID  end;

С пакетом и процедурой InventoryUpdate, поступаем аналогично.
Кроме этого из лога надо проверить соответствие ID пакетов, тем которые в скрипте. Ну и сама логика заточки в скрипте должна соответствовать хроникам сервера.
Миниатюры
Нажмите на изображение для увеличения
Название: Безымянный+.JPG
Просмотров: 193
Размер:	174.7 Кб
ID:	1687  
__________________
| Для самых ленивый | Телепаты в отпуске |Мы работаем над этим |
Не умеешь - учись, не хочешь учиться - плати © Суровый Закон Жизни


NLObP вне форума   Ответить с цитированием
За это сообщение NLObP нажился 9 спасибками от:
Ответ

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



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

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


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

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

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