Показать сообщение отдельно
Старый 13.12.2007, 00:51   #94
Пользователь
 
Регистрация: 15.11.2007
Сообщений: 67
Сказал Спасибо: 4
Имеет 2 спасибок в 2 сообщенях
boyan
По умолчанию

а может кто нить подкоректировать вот это, чтобы определял профу маг/дд и соответсвтенно баф на выбор делал

Код:
//by mks
//Бот баффер Elven Saint, баффает за 5кк

const //баффы 3й профы
b1='2F 49 05 00 00 00 00 00 00 00 ';
b2='2F 4A 05 00 00 00 00 00 00 00 ';
b3='2F 17 05 00 00 00 00 00 00 00 ';
b4='2F 4B 05 00 00 00 00 00 00 00 ';

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(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:=0;
    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]+pck[16]=#$40#$4B#$4C  then {если в трэйд положили 5кк}
             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;
end.
boyan вне форума   Ответить с цитированием