Показать сообщение отдельно
Старый 05.09.2009, 23:16   #8
Рыцарь
 
Аватар для alexteam
 
Регистрация: 07.03.2009
Сообщений: 9,139
Сказал Спасибо: 70
Имеет 2,820 спасибок в 1,735 сообщенях
alexteam на пути к лучшему
По умолчанию

Что ау ?

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.
alexteam вне форума   Ответить с цитированием
За это сообщение alexteam нажился 2 спасибками от: