Ругается на последний end
Добавлено спустя 2 минуты 55 секунд:
Вроде это не на то чтобы в пати бафал.
Добавлено спустя 1 час 53 минуты 15 секунд:
Пытаюсь использовать этот скрипт
Код:
//исходник by mks | переработан boyan
//Prophet бафае
const //баффы профета
b1='2F 30 01 00 00 00 00 00 00 00 '; //shield
b2='2F 0E 01 00 00 00 00 00 00 00 '; //mental shield
b3='2F 0D 01 00 00 00 00 00 00 00 '; //acumen
b4='2F 0C 01 00 00 00 00 00 00 00 '; //blessHP
b5='2F B4 04 00 00 00 00 00 00 00 '; //ww
b6='2F 0C 04 00 00 00 00 00 00 00 '; //magic barier
b7='2F 30 01 00 00 00 00 00 00 00 '; //bers
var
Target1: string;
Target: string;
prof,x: integer;
timer1: TTimer;
procedure Init;
begin
timer1:=TTimer.Create(nil);
timer1.OnTimer:=@OnTimer;
timer1.enabled:=true;
timer1.interval:=2000;
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:=0;
buf:=#$38;
WriteS('text');
WriteD(0);
SendToServer;
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
begin
pck:=''; {клиент почему-то иногда автоматом отылает кэнсл трэйд, поэтому убиватю этот пакет}
sendtoserver;
end;
if fromserver and (pck[1]=#$21) then
begin
if pck[14]+pck[15]+pck[16]=#$E8#$03#$00 then {если в трэйд положили 1000}
begin
buf:=hstr('17 01 00 00 00');//подтвердить трэйд
prof:=1;
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:=hstr('29');
sendtoserver;
if FromServer and (pck[1]+pck[2]=#$3A#$01) then
buf:=target;
sendtoserver;
if prof=1 then
begin
x:=1;
prof:=0;
end;
end;
if FromServer and (pck[1]=#$39) then //если кидают пати - берет ее, бафает берс, и выходит из пати
begin
buf:=Hstr('2A 01 00 00 00 ');
sendtoserver;
buf:=Hstr(b1);
sendtoserver;
delay(1000);
buf:=Hstr(b2);
sendtoserver;
delay(1000);
buf:=Hstr(b3);
sendtoserver;
delay(1000);
buf:=Hstr(b4);
sendtoserver;
delay(2000);
buf:=Hstr('2B');
SendToServer;
end;
end.
Посе получения денег не знаю как сделать так тчобы выделил цель и послал предложение пати, после входа в пати продолжил скрипт по оригиналу, тоесть надо просто вставить чтобы после получения денег предлогал пати.
Добавлено спустя 1 час 5 минут 1 секунду:
Сделал вот так
Код:
//???????? by mks | ??????????? boyan
//Prophet ?????
const //????? ???????
b1='2F 30 01 00 00 00 00 00 00 00 '; //shield
b2='2F 0E 01 00 00 00 00 00 00 00 '; //mental shield
b3='2F 0D 01 00 00 00 00 00 00 00 '; //acumen
b4='2F 0C 01 00 00 00 00 00 00 00 '; //blessHP
b5='2F B4 04 00 00 00 00 00 00 00 '; //ww
b6='2F 0C 04 00 00 00 00 00 00 00 '; //magic barier
b7='2F 30 01 00 00 00 00 00 00 00 '; //bers
var
Target: string;
prof,x: integer;
timer1: TTimer;
procedure Init;
begin
timer1:=TTimer.Create(nil);
timer1.OnTimer:=@OnTimer;
timer1.enabled:=true;
timer1.interval:=2000;
end;
procedure OnTimer(Sender: TObject);
begin
case x of
1: begin
buf:=hstr('29');
sendtoserver;
x:=x+1;
end;
2: begin
buf:=hstr(b1);
sendtoserver;
x:=x+1;
end;
3: begin
buf:=hstr(b2);
sendtoserver;
x:=x+1;
end;
4: begin
buf:=hstr(b3);
sendtoserver;
x:=x+1;
end;
5: begin
buf:=hstr(b4);
sendtoserver;
x:=x+1;
end;
6: begin
buf:=hstr(b5);
sendtoserver;
x:=x+1;
end;
7: begin
buf:=hstr(b6);
sendtoserver;
x:=0;
buf:=#$38;
WriteS('Spasibo i udachi! Nuzhen bers? invite to party');
WriteD(0);
SendToServer;
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
begin
pck:=''; {?????? ??????-?? ?????? ????????? ??????? ????? ?????, ??????? ??????? ???? ?????}
sendtoserver;
end;
if fromserver and (pck[1]=#$21) then
begin
if pck[14]+pck[15]+pck[16]=#$E8#$03#$00 then {???? ? ????? ???????? 2000000}
begin
buf:=hstr('17 01 00 00 00');//??????????? ?????
prof:=1;
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;
end;
if FromServer and (pck[1]=#$39) then //???? ?????? ???? - ????? ??, ?????? ????, ? ??????? ?? ????
begin
buf:=Hstr('2A 01 00 00 00 ');
sendtoserver;
buf:=Hstr(b1);
sendtoserver;;
buf:=Hstr(b2);
sendtoserver;
buf:=Hstr(b3);
sendtoserver;
buf:=Hstr(b4);
sendtoserver;
buf:=Hstr('2B');
SendToServer;
end;
end.
Но пати не кидает, пишет неправельная цель...
Добавлено спустя 8 минут 55 секунд:
Вобщем не понимаю как сделать так чтобы скрипт послал покет запроса пати тому кто дал деньги
Код:
case x of
1: begin
buf:=hstr('29');
sendtoserver;
x:=x+1;
end;
здесь кажется точно не просто 29, надо тчото ещё вписать, но что...