Ребят у меня вопрос: Мне надо реализовать сборку информации об инвентаре нескольких чаров в одном скрипте и чтобы не писать для каждого чара отдельную процедуру я решил написать одну процедуру с возможностью подстановки разных массивов. Короче процедуру из скрипта бота Локомотива:
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 происходит считывание информации из аргумента. Думаю дело в этом ... я прав?