написано на коленке, могут быть ошибки синтаксиса (я не ходячий компилатор и спеллчеккер) но идея понятна.
delphi Код:
var
itemcount:integer;// - колво вещей в очереди при инициализации скрипта установить равным нулю.!!
itemarray:array[0..255] of integer;
Function GetItemIdAndMove(index:integer):integer;
var
i:integer;
begin
result := 0;
if index >= itemcount then exit;
result := itemarray[index];
i := index;
while i < itemcount -1 do
begin
itemarray[i] := itemarray[i+1];
inc(i);
end;
itemarray[i] := 0;
dec (itemcount);
end;
procedure additemtoarray(itemobjid:integer);
begin
itemarray[itemcount] := itemobjid;
inc(itemcount);
end;
использование.
добавить:
additemtoarray(обжектайди вещи.)
подымать:
var
PickupItemId : integer
begin
pickupitemid := GetItemIdAndMove(0); //получаем первый элемент массива и смещаем все последующие
if pickupitemid <> 0 then
begin
//подымаем тут. ориентируясь на pickupitemid
end;