Привет всем, вот хочу написать скрипт на автоматизацию выполнения квеста с крафтом, в общем игра айон, но это не важно!
я хочу сделать, чтоб посылался автоматически пакет на взятие квеста, потом в окне крафта посылал пакет на крафт нужных вещей сколько надо раз ,например 9, после этого сдавал квест, потом опять брал и по такому циклу! но там крафт идет несколько секунд, и пока он идет другой пакет на крафт следующего итема послать нельзя!
Пакет на крафт одинаковый, на сдачу и взятия квеста разные...
у меня голова немного варит в этом деле, но просто хочу спросить можно ли это реализовать и прошу от вас толчок в правильном направлении, что нужно в скрипте, а я уже сам реализую если возможно...
я ботами не пользовался ниразу....я всегда скрипты писал.
вот я словил уже нужные пакеты, в общем в принципе я смогу реализовать таймер...
Но у меня проблема с крафтом будет, каждый раз время крафта разное, а я хотел бы поймать пакет синий который показывает, что крафт закончен и после него сразу бы начинался другой...
Но я не знаю какой пакет ловить, там когда крафт заканчивается в чат посылается инфа об обновлении миссии, думал может этот использовать, но пробовал ловить синии пакеты и отсылать, чтоб найти тот самый, думал если отошлю, то в инфе появится надпись, но не появилось, вот подскажите с этим пожалуйста, как мне поступить?
Добавлено через 55 минут
в общем после крафта идут около 5 синих пакетов, я выбрал самый простой и решил, что после его посылки "
PHP код:
#$16 SendToClient
"
Будет запрос на пакет типа
PHP код:
#$E3 SendToServer
......
хочу, чтоб скрипт начинался с посылки слова в чат например "/го"
PHP код:
('B9 57 76 00 2F 00 33 04 3E 04 00 00')
ну вот наглядно:
PHP код:
begin
if FromClient and (pck=Hstr('B9 57 76 00 2F 00 33 04 3E 04 00 00')
then
begin
buf:=HStr('9C 57 5B D3 01 00 00 EA 03 01 00 04 00 0F 19 00 00 00 00');
SendToServer;
pck:='';
после должен идти крафт #$E3, до синиго пакета #$16 ,потом опять #$E3
И так 9 раз....
Потом сдача квеста....
вот не могу придумать, как сделать, я с таким еще не имел дело.
можете подсказать как именно реализовать, посылку пакета #$E3 9 раз подряд, потом бы шел пакет на сдачу квеста, потом принятие и по циклу?
Последний раз редактировалось Deffol, 06.06.2011 в 06:10.
Причина: Добавлено сообщение
Там в конце таймер выключается, когда я должен пробежать, но я бегу, а таймер работает, то есть идет посылка в чат, как бы дальше крафт идет, мне нужно его выключить по приходу пакета, что я не так сделал?
//Breadfan: тут каша из бегин\эндов. Проверка с отключением таймера - находится внутри проверки на старт - не выполнится оно.
Добавлено через 38 минут
в общем я нашел ошибку и сделал так:
Теперь при посылке в чат "/го" посылается пакет на покупку заказа, затем включается таймер и сразу идет крафт. После того как крафт закончится, посылается пакет который объявляет о том, что вешь скрафтилась и таймер останавливается....
Подскажите, как сделать именно, чтоб крафтилось 9 раз, а потом сдавался квест, и сразу покупался?
Но еще момент, надо чтоб пакет на крафт после того как начал посылаться после покупки миссии, сразу останавливался, и начался бы только тогда, когда прийдет пакет который объявляет, что крафт закончен.
я не могу придумать...подскажите что нибудь
//Breadfan: в таймере введи переменную step - которая будет показывать на каком шаге находится выполнение. Навроде
в блоке добавь нужное
if FromClient and (pck=Hstr('B9 57 76 00 41 04 42 04 3E 04 3F 04 00 00')) then
Timer.enabled:=false;//отключил таймер
////сдаешь че там нужно
///берешь заново
///запускаешь таймер вновь.
end;
Почему привязка отключения таймера - к клиенту, а не к ответу сервера?
__________________ На фразы в аську типа "слух карочь 1)как точить 2)как раскачаться за 5 мин" - игнор. ИМХО идиотизм
Дай голодному рыбу - он будет один день сыт. Покажи ему, как удить рыбу - он пошлёт тебя и скажет, что у него есть более интересные занятия, чем забрасывать снасти в воду
David Kastrup @ de.comp.text.tex.
"Приобретенные навыки общения с маленькими детьми - сильно упрощают взаимопонимание на форумах..."
А вы знаете, что для качественной сварки - место шва нужно протереть спиртом?
Начинают спамиться пакеты только на покупку и сдачу с минимальным интервалом времени
Добавлено через 20 минут
не могу ничего придумать, пытался сделать вспомогательный скрипт, на то, чтоб после пакета завершения квеста, посылал сдачу кв и покупку, так выкидывает из игры....не знаю, что и делать
Последний раз редактировалось Deffol, 06.06.2011 в 10:20.
Причина: Добавлено сообщение
var
Timer:TTimer;
PlayerID:integer;
step : integer;
procedure Init;
begin
step:=0;
Timer:=TTimer.Create(nil);
Timer.OnTimer:=@OnTimer;
Timer.enabled:=false;
Timer.interval:=1500;
PlayerID:= $0019CE0C;
end;
procedure Free;
begin
Timer.free;
end;
procedure OnTimer(Sender: TObject);
begin//заказif(step=0)then buf:=HStr('заказ');
//крафтif(step>0)and(step<10)then buf:=HStr('крафт');
if(step>9)then buf:=Hstr('сдача');
SendToServer;
step:=step+1;
if step>11then step:=0;
end;
begin//ввод команды в чатif FromClient and(pck=HStr('команда на старт от клиента'))thenbegin//замена команды на покупку заказа
pck:='';
Timer.enabled:=true;
end;
//Пакет завершения квестаif FromClient and(pck=Hstr('команда от клиента на остановку сего действа'))thenbegin
Timer.enabled:=false;step:=0;
end;
end.
__________________ На фразы в аську типа "слух карочь 1)как точить 2)как раскачаться за 5 мин" - игнор. ИМХО идиотизм
Дай голодному рыбу - он будет один день сыт. Покажи ему, как удить рыбу - он пошлёт тебя и скажет, что у него есть более интересные занятия, чем забрасывать снасти в воду
David Kastrup @ de.comp.text.tex.
"Приобретенные навыки общения с маленькими детьми - сильно упрощают взаимопонимание на форумах..."
А вы знаете, что для качественной сварки - место шва нужно протереть спиртом?
Последний раз редактировалось Breadfan, 06.06.2011 в 10:38.