Что ау ?
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;
Function ObjIdInArray(value:integer):integer;
var
i:integer;
begin
result := 0;
while (i < itemcount) and (itemarray[result] <> value) do inc(result);
end;
procedure Init; //Вызывается при включении скрипта
begin
itemcount := 0;
end;
procedure Free; //Вызывается при выключении скрипта
begin
end;
//основная часть скрипта
//вызывается при приходе каждого пакета если скрипт включен
begin
if FromServer
and (pck[1]=#$21)
and (ReadD(12)= itemID) then
begin
objectID := ReadD(8);
if ObjIdInArray(objectID) < itemcount then
begin // если вещь в массиве есть
end
else
begin // если вещи в массиве нет - добавляем.
additemtoarray(objectID);
end;
if itemcount = 255 then //Если массив вот вот лопнет - удаляем самую "старую" шмотку с аррая.
GetItemIdAndMove(0);
end;
end.
__________________
L2Ext - project closed.
Последний раз редактировалось alexteam, 05.09.2009 в 23:19.
|