Итак насчет таймера и перезапуск его 5 раз для примера
Мой вариант, если кто подскажет проще оч. буду признателен.
CONST N:=5 //Сколько раз посылать
var i:integer;
SendBufArr:Array[0..N] of string; //Массив пакетов для отсылки
Procedure init;
Begin
i:=0; //инициализация нач значения счетчика
SendBuffArr[0]:='C9...';
//не буду вдаваться в подробности заполнения массива пакетами для посылки друг за другом
SendBuffArr[N]:='1А...';
End;
//Создание самого таймера я пропустил, ибо не требуется для примера.
Procedure OnTimer;
Begin
buf:=HStr(SendBuffArr[i]);
SendToServer;
i:=i+1;
if i=5 then Timer01.enabled:=false;
end;
//Ну и тело скрипта
BEGIN
if FromServer and (pck[1]=#$17) then Timer01.enabled:=True;
END.
В общем суть в том чтобы через счетчик не обнуляя его послать пять пакетов. По задумке таймер не выключается и снова сработает через таймер-интервал пока не получиться 5 раз после чего таймер отключиться.
Добавлено через 12 минут
Цитата:
Сообщение от Nickers
TEHb, В саму суть еще не вникал, но крайне не советую так делать:
В плане отсылки пакетов... Т.к. там могут быть элементы (В пакетах) подвижные, которые меняются в разных ситуациях... (Нада посмотреть разборку пакетов под Айон) Если есть ОИДы их требуется выводить в Const (Чтоб менять если что) Если есть координаты цели нужны запоминалки разные))
J-Fobos, Да тож хотелось бы сначала начать, а то на глаз тяжко разбираться...
Добавлено через 56 секунд
Прикрепите кто-нить PacketsAion.ini
|
Цитата:
Сообщение от TEHb
Вот 3 пакета при которых происходит отсоединения от сервера
С9 - Выполнить действие объект
В5 - сам объект (цель)
Е3 - действие с объектом в частности пакет производства какой-то там байды содержит id всех итемов покупаемых в магазе для производства и квестовых
Если послать пакеты просто дург за другом через обычную посылку все пашет норм а в скрипте ну никак не получается сразу дисконнект
ЗЫ: Обнаружил что при разных соединениях иногда пакет Е3 меняется с течением времени а иногда нет не понятно от чего это зависит т.е. в пакете меняется только число в 4 байта остальные неизменны ну может и больше 4 байт долго не наблюдал. Предположил что это время сервера или коиента, но не смог найти статью как вычислить время в пакете а она мне точно попадалась.
|
Вот вся проблема пакеты E3 какие то странные но при посылке через обычную отсылку работают (мое предположение все дело в задержке
так как после производства 1 вещи чар какое-то время машет руками типа радуется но это всего лишь анимация но кнопка изготовить недоступна в это время, так что возможно меня кикает за спам пакетами или выполнение невозможного действия.
Если решу через задержку с таймером обязательно отпишусь, но чуть позже пока нет времени реализовывать.