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

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

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
 
 
Опции темы Опции просмотра
Старый 25.05.2008, 01:50   #1
Пользователь
 
Регистрация: 10.12.2007
Сообщений: 52
Сказал Спасибо: 22
Имеет 16 спасибок в 9 сообщенях
ChiterEPT
По умолчанию Вопросы по синтаксису языка Паскаль!

Ребят у меня вопрос: Мне надо реализовать сборку информации об инвентаре нескольких чаров в одном скрипте и чтобы не писать для каждого чара отдельную процедуру я решил написать одну процедуру с возможностью подстановки разных массивов. Короче процедуру из скрипта бота Локомотива:
delphi Код:
procedure InventoryCreate; var   i,k : integer; begin   for i:=0 to 79 do     if (i<ReadH(4)) then begin       Inventory[i,0]:=ReadH(i*36+6)// itemType1       Inventory[i,1]:=ReadD(i*36+8)// ObjectId       Inventory[i,2]:=ReadD(i*36+12); // ItemID       Inventory[i,3]:=ReadD(i*36+16); // count       Inventory[i,4]:=ReadH(i*36+20); // itemType2       Inventory[i,5]:=ReadH(i*36+22); // CustType1       Inventory[i,6]:=ReadH(i*36+24); // isEquipped       Inventory[i,7]:=ReadD(i*36+26); // BodyPart       Inventory[i,8]:=ReadH(i*36+30); // EnchantLevel       Inventory[i,9]:=ReadH(i*36+32); // CustType2     end else       for k:=0 to 9 do Inventory[i,k]:=0; end;
Переделал так:
delphi Код:
procedure InventoryCreate(array1: array[0..79,0..9] of integer); var   i,k : integer; begin   for i:=0 to 79 do     if (i<ReadH(4)) then begin       array1[i,0]:=ReadH(i*36+6)// itemType1        array1[i,1]:=ReadD(i*36+8)// ObjectId        array1[i,2]:=ReadD(i*36+12); // ItemID        array1[i,3]:=ReadD(i*36+16); // count        array1[i,4]:=ReadH(i*36+20); // itemType2        array1[i,5]:=ReadH(i*36+22); // CustType1        array1[i,6]:=ReadH(i*36+24); // isEquipped        array1[i,7]:=ReadD(i*36+26); // BodyPart        array1[i,8]:=ReadH(i*36+30); // EnchantLevel        array1[i,9]:=ReadH(i*36+32); // CustType2     end else       for k:=0 to 9 do  array1[i,k]:=0; end;
Как вы уже поняли такой подход не сработал... массив который я подставляю в процедуру в качестве аргумента остается забитым нулями. Кто знает что я сделал не так, прошу отпишите. Заранее Спасибо

Добавлено через 3 минуты
Кстати я проделал то же самое с Функцией GetInv (то есть добавил новый аргумент: массив в котором нужно проводить поиск) И все работает. Разницу вижу в том, что в случае с процедурой InventoryCreat в аргумент должна записываться информация, а в функции GetInv происходит считывание информации из аргумента. Думаю дело в этом ... я прав?

Последний раз редактировалось ChiterEPT, 25.05.2008 в 01:51. Причина: Добавлено сообщение
ChiterEPT вне форума   Ответить с цитированием
 

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



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

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


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

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

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