Нужный мне кусок с ОИД:
Код:
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 ?