Вот слямдил идею навено у -=mks=- решил создать авто бафера. Задача у него за разные суммы кидать разные бафы, те зок воин, 25 лучнег, 20 маг. так вот это я осилил(в скрипте тока на 30 пока прописал, дальше не делал уперся в пару вопросов). вопрос как сделать что бы он кидал после трейда патю. 29 пакет крутил и так и сяк 8)
после бафа выходил из пати, ну и ессно не бежал за ним дальше, решить это наверное можно кидать таргет на сешку что рядом будет стоять. Вопрос второй как бы прикрутить, те к сумме например 30к чтобы сешка кидала вампирик, на 20 вилд и эмпавер. И уже из области фантастики заливала манку пп.
зы
Этот скрипт работает криво, бафает как хочет 8) те я тестил тока первую часть на 30к (тк бафы прописал тока там, остальные не правил пока)те криво, он может кидать в разном порядке и не всегда кидает все бафы.
понятное дело что тут ошибки, профи прошу подправить, подсказать идею как осуществить мою задумку. Пасибо за внимание..........
delphi Код:
//by mks
//Бот баффер PP, баффает за 30-20к
const //баффы
b1='2F 10 04 00 00 00 00 00 00 00'; // Shield
b2='2F 26 04 00 00 00 00 00 00 00'; // Berserker Spirit
b3='2F 3D 04 00 00 00 00 00 00 00'; // Acumen
b4='2F B4 04 00 00 00 00 00 00 00'; // Wind Walk
b5='2F 36 04 00 00 00 00 00 00 00'; // Concentration
b6='2F 15 04 00 00 00 00 00 00 00'; // Bless the Body
b7='2F 18 04 00 00 00 00 00 00 00'; // Bless the Soul
b8='2F 14 04 00 00 00 00 00 00 00'; // Regeneration
b9='2F 0B 04 00 00 00 00 00 00 00'; // ментал
b10='2F 35 04 00 00 00 00 00 00 00'; // фокус
b11='2F 36 04 00 00 00 00 00 00 00'; // кон
b12='2F A7 04 00 00 00 00 00 00 00'; // резист к огню
b13='2F 14 04 00 00 00 00 00 00 00'; // ХП реген
b14='2F 0C 04 00 00 00 00 00 00 00'; // маджик барьер
b15='2F 6C 05 00 00 00 00 00 00 00'; // гритер ПА
b16='2F DA 04 00 00 00 00 00 00 00'; // деф виспер
b17='2F D8 04 00 00 00 00 00 00 00'; // гвиданс
var
Target: string;
prof,x,z,y: integer;
timer1: TTimer;
procedure Init;
begin
timer1:=TTimer.Create(nil);
timer1.OnTimer:=@OnTimer;
timer1.enabled:=true;
timer1.interval:=3500;
end;
procedure OnTimer(Sender: TObject);
begin
case x of
1: begin
buf:=hstr(b1);
sendtoserver;
x:=x+1;
end;
2: begin
buf:=hstr(b2);
sendtoserver;
x:=x+1;
end;
3: begin
buf:=hstr(b3);
sendtoserver;
x:=x+1;
end;
4: begin
buf:=hstr(b4);
sendtoserver;
x:=x+1;
end;
5: begin
buf:=hstr(b5);
sendtoserver;
x:=x+1;
end;
6: begin
buf:=hstr(b6);
sendtoserver;
x:=x+1;
end;
7: begin
buf:=hstr(b7);
sendtoserver;
x:=x+1;
end;4: begin
buf:=hstr(b4);
sendtoserver;
x:=x+1;
end;
8: begin
buf:=hstr(b8);
sendtoserver;
x:=x+1;
end;
9: begin
buf:=hstr(b9);
sendtoserver;
x:=x+1;
end;
10: begin
buf:=hstr(b10);
sendtoserver;
x:=x+1;
end;
11: begin
buf:=hstr(b11);
sendtoserver;
x:=x+1;
end;
12: begin
buf:=hstr(b12);
sendtoserver;
x:=x+1;
end;
13: begin
buf:=hstr(b13);
sendtoserver;
x:=x+1;
end;
14: begin
buf:=hstr(b14);
sendtoserver;
x:=x+1;
end;
15: begin
buf:=hstr(b15);
sendtoserver;
x:=x+1;
end;
16: begin
buf:=hstr(b16);
sendtoserver;
x:=x+1;
end;
17: begin
buf:=hstr(b17);
sendtoserver;
x:=0;
end;
end;
begin
case z of
1: begin
buf:=hstr(b5);
sendtoserver;
z:=z+1;
end;
2: begin
buf:=hstr(b6);
sendtoserver;
z:=z+1;
end;
3: begin
buf:=hstr(b7);
sendtoserver;
z:=z+1;
end;
4: begin
buf:=hstr(b8);
sendtoserver;
z:=0;
end;
end;
begin
case y of
1: begin
buf:=hstr(b1);
sendtoserver;
y:=y+1;
end;
2: begin
buf:=hstr(b2);
sendtoserver;
y:=y+1;
end;
3: begin
buf:=hstr(b3);
sendtoserver;
y:=y+1;
end;
4: begin
buf:=hstr(b4);
sendtoserver;
y:=0;
end;
end;
end;
end;
end;
procedure Free;
begin
timer1.Free;
end;
///////////////////////////////////////////////////////////////////
begin
if FromServer and (pck[1]=#$5E) and (x=0) then //подкорректил немного, что б бот не принимал трэйд когда кого-то уже баффает 06.08.07
begin
Target:=#$04+pck[2]+pck[3]+pck[4]+pck[5];
buf:=hstr('44 01 00 00 00');
sendtoserver; //если кидают трэйд, то принимать
end;
if fromclient and (pck[1]=#$44) then pck:=''; {клиент почему-то иногда автоматом отылает кэнсл трэйд, поэтому убиватю этот пакет}
if fromserver and (pck[1]=#$21) then
begin
if pck[14]+pck[15]=#$30#$75 then {если в трэйд положили 30к}
begin
buf:=hstr('17 01 00 00 00');//подтвердить трэйд
prof:=1;
end;
if pck[14]+pck[15]=#$A8#$61 then {если в трэйд положили 25к}
begin
buf:=hstr('17 01 00 00 00');//подтвердить трэйд
prof:=2;
end;
if pck[14]+pck[15]=#$20#$4E then {если в трэйд положили 20к}
begin
buf:=hstr('17 01 00 00 00');//подтвердить трэйд
prof:=3;
end;
if prof=0 then buf:=hstr('17 00 00 00 00');//отмена трэйда
sendtoserver;
end;
if FromServer and (pck[1]+pck[2]=#$22#$01) then
begin
buf:=target;
sendtoserver;
if prof=1 then
begin
x:=1;
prof:=0;
end;
if prof=2 then
begin
z:=1;
prof:=0;
end;
if prof=3 then
begin
y:=1;
prof:=0;
end;
end;
end.