PDA

Просмотр полной версии : Помогите со скриптом


KrazyKeNNy
24.05.2010, 21:57
Я делаю скрипт, который покупает у нпц пушку, точит ее, затачивает до нужного уровня, либо ломает и покупает заного. Другие скрипты не подойдут, т.к на моем сервере пакеты меняются каждые пол часа. Сделайте пожалуйста набросок скрипта, ведь он не сложный.
На заметку:
выбрать заточку: 72 F5 99 38 40 00 00 00 00
Заточить: 3C 44 1F 34 40 00 00 00 00
Купить пушку: 3C 6D 00 65 00 6E 00 75 00 5F 00 73 00 65 00 6C 00 65 00 63 00 74 00 3F 00 61 00 73 00 6B 00 3D 00 31 00 30 00 30 00 30 00 26 00 72 00 65 00 70 00 6C 00 79 00 3D 00 31 00 00 00

И еще. Не до конца разобрался в таймерах.

var timer01:ttimer;
procedure Init;
begin
Timer01:=TTimer.Create(nil);
Timer01.OnTimer:=@OnTimer01;
Timer01.enabled:=false;
Timer01.interval:=2100;
end;

procedure OnTimer01(Sender: TObject);
begin
buf:=#$4A;
WriteD(0);
WriteD(10);
WriteS('');
WriteS('ololo');
SendToClient;
end;


//При поступлении пакета
begin
if fromclient and (pck[1]=#$18) and (pck[2]=#$0C) then timer01.enabled:=true;
end.



Почему таймер не работает?:(

J-Fobos
24.05.2010, 22:36
Таймер не работает из за того что пропущен end, оно вообще компилируется?
А еще вместо SendToClient используйте SendToClientEx.

А по поводу наброски скрипта... вы написали что пакеты меняются... очень сомневаюсь что кто-то на форуме знает по какому алгоритму они меняются... сложно предвидеть каков будет скрипт.

Ну вот примерная наброска, от которой я бы отталкивался (конечно каждый думает по разному :) ):
Два таймера со счетчиком итераций. В первом таймере реализовать покупку итема в шопе, потом поиск в инвентаре ObjectID итема по его ID и запуск второго таймера (себя остановить). А во втором таймере процесс точения и при сломе итема запуск первого таймера (и себя останавливает). А также в таймере с каждой итерацией считать время работы скрипта и каждый пол часа менять пакеты (без понятия как, мы же не знаем алгоритма).
Конечно можно обойтись одним таймером меняя интервал времени, но для начала с 2-мя будет нагляднее.

KrazyKeNNy
25.05.2010, 09:14
Это я скопировал не так:) Там энд есть. Все компилируется, но таймер при приходе пакета не работает ни в какую.

Добавлено через 4 часа 54 минуты
Все, разобрался. Кто ж знал, что нужно писать SendtoclientEx(); ^_^

J-Fobos
25.05.2010, 20:35
Все, разобрался. Кто ж знал, что нужно писать SendtoclientEx(); ^_^
Вроде все знали :) Я ж написал что надо заменить на
SendtoclientEx :)