Вернуться   CoderX :: Forums > Lineage II > L2PacketHack > Скриптинг
Войти через OpenID

Скриптинг Форум посвещенный созданию скриптов для L2PacketHack

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
 
 
Опции темы Опции просмотра
Старый 04.09.2009, 18:39   #2
Пользователь
 
Регистрация: 09.06.2009
Сообщений: 73
Сказал Спасибо: 10
Имеет 10 спасибок в 9 сообщенях
klemberg пока неопределено
По умолчанию

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

Добавлено через 5 минут
это был первый вариант, при котором каждое значение objectID записывается в следующий по порядку элемент массива.


вариант второй, при котором каждое значение objectID записывается в первый свободный элемент массива:
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;      sendMSG(IntToStr(ItemBase[1]));    // для последнего ПХ, вывод содержимого первого элемента массива в окно лога. end.

оба варианта - не более, чем примеры.
при обеих схемах рано или поздно массив заполнится и что тогда?

а если прийдт 15 пакетов с одинаковым значеним objectID, есть ли смысл хранить 15 одинаковых значений в массиве?

думай)

Последний раз редактировалось TAMBIK, 16.09.2009 в 14:34. Причина: Добавлено сообщение
klemberg вне форума   Ответить с цитированием
За это сообщение klemberg нажился спасибкой от:
 

  CoderX :: Forums > Lineage II > L2PacketHack > Скриптинг


Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 20:28.

vBulletin style designed by MSC Team.
Powered by vBulletin® Version 3.6.11
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd. Перевод: zCarot
Locations of visitors to this page
Rambler's Top100

Вы хотите чувствовать себя в безопасности? чоп Белган обеспечит её!