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

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

Последний раз редактировалось ERASE, 27.01.2009 в 20:24.
ERASE вне форума   Ответить с цитированием