Показать сообщение отдельно
Старый 05.09.2009, 22:07   #7
Рыцарь
 
Аватар для TAMBIK
 
Регистрация: 03.03.2009
Сообщений: 773
Сказал Спасибо: 361
Имеет 300 спасибок в 168 сообщенях
TAMBIK на пути к лучшему
По умолчанию

спасибо вот это как раз
долго лазил по форуму смотрел как сделано в других
скриптах с массивом НО так как я в школе курил ток травку в коридорах то не понял нечего
может тема пригодится другим


delphi Код: Код:
var      ItemBase:array[1..100] of integer;// создали массив      objectID:integer;      i: integer; procedure Init; //Вызывается при включении скрипта begin end; // при приходе пакета begin      if FromServer and (pck[1]=#$21)  and (ReadD(12)= itemID) then begin           // при условии           if  условие then                // записать  objectID в массив                objectID:=ReadD(8);                for i:=1 to 100 do begin                     if (ItemBase[i] == 0) then begin                                             // как  ЗАПИСАТЬ ?                          ItemBase[i]:= objectID;  // да просто :)                          Break// прерываем дальнейший перебор массива.                     end;                end;          end;      end;
мне не надо следить за количеством записаных objectID
и не надо следить за количеством вещей

поэтому как дополнить скрипт
тем что сказал alexteam
просьба при совете использовать значения из скрипта выше
delphi Код: Код:
Function ObjIdInArray(value:integer):integer; var  i:integer; begin   result := 0;   while (i < itemcount) and (itemarray[result] <> value) do inc(result); end;

delphi Код: Код:
index := ObjIdInArray(value); //лучше поуступать так. избегая повторного запуска цикла. If index < itemcount then   //значение существует. его к примеру можно удалить вот так   GetItemIdAndMove(index) //индекс мы получили выше else   //значение не существует, добавляем   additemtoarray(value)
__________________
Тут не форум гадалок, если ты делаешь все правильно и по пунктам - то все должно работать

Последний раз редактировалось TAMBIK, 09.12.2009 в 17:28. Причина: Добавлено сообщение
TAMBIK вне форума   Ответить с цитированием