Скрипт не полностью мой, дорабатывал чужие идеи, добавлял свои, в основном все копирайте сохранил
 
	delphi Код:
	//исходник by mks | переработан boyan
//Доделан ElKornacio
//Prophet
// x- воин a- маг
//   Небольшие настройки: В OsnovaName введите ник вашей основы, в PPName ник вашей ПП.
// Управление - запускаете скрипт. Для включения меню управления ПП введите в пати чат 's'(без кавычек).
// Откроецо Диалог с несколькими кнопками.
// Кнопка "МР офф" - ППшка пишет в чат: "Ребята MP мало! Баффацо временно не советую. MegoPP отключена на время респа МР!". После етого она садиЦо на землю и не принимает трейд.
// Кнопка "МР он" - ППшка пишет в чат: "МР было восстановленно! Можете продолжать баффаца." после етого встаёт и начинает принимать трейд, баффать ну короче исполнять свои основные функции:)
// Кнопка "Friend Fuff" - на случай если вы хотите баффнуть друга. Первый кто кинет ППшке трейд и даст 1 адену будет баффнут маг баффом. Можете сменить если надо на воина.
// Кнопка "Friend Buff off" - если вы включиле режим, а тут друг оказал вдруг.. и не друг и не враг.... А ГМ! То можно смело отключать етой кнопкой Friend Buff и подлецу придёцо плалить полную стоимость баффа.
// В принципе всё, со временем буду улучшать.
const //основные константы.
OsnovaName='ElKornacio'; //Имя основы
PPName='MegoPP'; //Имя ПП
BuffTime=2000;  //Время между использованием 2 баффов(что бы не лагало).
shield='2F 10 04 00 00 00 00 00 00 00'; //shield
Mental_shield='2F 0B 04 00 00 00 00 00 00 00'; //mental shield
acumen='2F 3D 04 00 00 00 00 00 00 00'; //acumen
BlessHP='2F 15 04 00 00 00 00 00 00 00'; //blessHP
wind_walk='2F B4 04 00 00 00 00 00 00 00'; //ww
Magic_barier='2F 0C 04 00 00 00 00 00 00 00'; //magic barier
Concentration='2F 36 04 00 00 00 00 00 00 00'; //concert
Invigor='2F 08 04 00 00 00 00 00 00 00';
BlessMP='2F 18 04 00 00 00 00 00 00 00';
Regeneration='2F 14 04 00 00 00 00 00 00 00';
Might='2F 2C 04 00 00 00 00 00 00 00';
Focus='2F 35 04 00 00 00 00 00 00 00';
Haste='2F 3E 04 00 00 00 00 00 00 00';
Resist_fire='2F A7 04 00 00 00 00 00 00 00';
Guildance='2F D8 04 00 00 00 00 00 00 00';
Death_wisper='2F DA 04 00 00 00 00 00 00 00';
Bless_shield='2F DB 04 00 00 00 00 00 00 00';
HTML='<html><body><center>'+
'<img src="L2UI_CH3.herotower_deco width=256 height=32>'+
'<img src="L2UI.SquareWhite" width=280 height=1>'+
'<img src="L2UI.SquareBlank" width=260 height=4><br>'+
'<button value="МР офф" action="bypass -h MPoff" width=100 height=15 back="sek.cbui94" fore="sek.cbui92">'+
'<button value="МР он" action="bypass -h MPon" width=100 height=15 back="sek.cbui94" fore="sek.cbui92">'+
'<button value="Friend buff" action="bypass -h friend" width=100 height=15 back="sek.cbui94" fore="sek.cbui92">'+
'<button value="Friend buff off" action="bypass -h friendoff" width=100 height=15 back="sek.cbui94" fore="sek.cbui92">'+
'<img src="L2UI.SquareWhite" width=260 height=1>'+
'<img src="L2UI.SquareBlank" width=260 height=4><br>'+
'</center></body></html>';
var
pck48:string;
buffcan: boolean;
ObjectID, ActionID, Status: Integer;
Bypass: String;
Target: string;
prof,x,a: integer;
friend: boolean;
timer1: TTimer;
MyMP: integer;
procedure Init;
begin
friend:=true;
buffcan:=true;
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(shield);
    sendtoserverEX(PPName);
    x:=x+1;
end;
2: begin
    buf:=hstr(Mental_shield);
    sendtoserverEX(PPName);
    x:=x+1;
end;
3: begin
    delay(BuffTime);
    buf:=hstr(blessHP);
    sendtoserverEX(PPName);
    x:=x+1;
end;
4: begin
    buf:=hstr(wind_walk);
    sendtoserverEX(PPName);
    x:=x+1;
end;
5: begin
    delay(BuffTime);
    buf:=hstr(Magic_Barier);
    sendtoserverEX(PPName);
    x:=x+1;
end;
6: begin
    buf:=hstr(Invigor);
    sendtoserverEX(PPName);
    x:=x+1;
end;
7: begin
    delay(BuffTime);
    buf:=hstr(BlessMP);
    sendtoserverEX(PPName);
    x:=x+1;
end;
8: begin
    buf:=hstr(Regeneration);
    sendtoserverEX(PPName);
    x:=x+1;
end;
9: begin
    delay(BuffTime);
    buf:=hstr(Might);
    sendtoserverEX(PPName);
    x:=x+1;
end;
10: begin
    buf:=hstr(Focus);
    sendtoserverEX(PPName);
    x:=x+1;
end;
11: begin
    delay(BuffTime);
    buf:=hstr(Haste);
    sendtoserverEX(PPName);
    x:=x+1;
end;
12: begin
    buf:=hstr(Resist_fire);
    sendtoserverEX(PPName);
    x:=x+1;
end;
13: begin
    delay(BuffTime);
    buf:=hstr(Guildance);
    sendtoserverEX(PPName);
    x:=x+1;
end;
14: begin
    buf:=hstr(Death_wisper);
    sendtoserverEX(PPName);
    x:=x+1;
end;
15: begin
    delay(BuffTime);
    buf:=hstr(Bless_shield);
    sendtoserverEX(PPName);
    x:=x+1;
end;
16: begin
    friend:=false;
    x:=0;
    a:=0;
    buf:=#$38;
    WriteS('Вы получили бафф воина. Спасибо и удачи!');
    WriteD(0);
    SendToServerEX(PPName);
end;
end;
case a of
1: begin
    buf:=hstr(acumen);
    sendtoserverEx(PPName);
    a:=a+1;
end;
2: begin
    buf:=hstr(Resist_fire);
    sendtoserverEX(PPName);
    a:=a+1;
end;
3: begin
    buf:=hstr(Regeneration);
    sendtoserverEX(PPName);
    a:=a+1;
end;
4: begin
    delay(BuffTime);
    buf:=hstr(BlessMP);
    sendtoserverEX(PPName);
    a:=a+1;
end;
5: begin
    buf:=hstr(shield);
    sendtoserverEX(PPName);
    a:=a+1;
end;
6: begin
    buf:=hstr(Mental_shield);
    sendtoserverEX(PPName);
    a:=a+1;
end;
7: begin
    delay(BuffTime);
    buf:=hstr(blessHP);
    sendtoserverEX(PPName);
    a:=a+1;
end;
8: begin
    buf:=hstr(wind_walk);
    sendtoserverEX(PPName);
    a:=a+1;
end;
9: begin
    delay(BuffTime);
    buf:=hstr(Magic_Barier);
    sendtoserverEX(PPName);
    a:=a+1;
end;
10: begin
    delay(BuffTime);
    buf:=hstr(Bless_shield);
    sendtoserverEX(PPName);
    a:=a+1;
end;
11: begin
    delay(BuffTime);
    buf:=hstr(Concentration);
    sendtoserverEX(PPName);
    a:=a+1;
end;
12: begin
    friend:=false;
    x:=0;
    a:=0;
    buf:=#$38;
    WriteS('Вы получили бафф мага. Спасибо и удачи!');
    WriteD(0);
    SendToServerEX(PPName);
end;
end;
end;
Procedure ShowHTML( _html : string );
begin
   buf:=#$0F;
   WriteD(5);
   WriteS(_HTML);
   SendToClientEX(OsnovaName);
end;
procedure MPoff;
begin
    buf:=#$38;
    WriteS('Ребята MP мало! Баффацо временно не советую. MegoPP отключена на время респа МР!');
    WriteD(0);
    SendToServerEX(PPName);
    buf:=HStr('45 00 00 00 00 00 00 00 00 00');
    SendToClientEX(PPName);
    buffcan:=false;
end;
procedure MPon;
begin
    buf:=#$38;
    WriteS('МР было восстановленно! Можете продолжать баффаца.');
    WriteD(0);
    SendToServerEX(PPName);
    buf:=HStr('45 00 00 00 00 00 00 00 00 00');
    SendToServerEX(PPName);
    buffcan:=true;
end;
procedure Free;
begin
timer1.Free;
end;
///////////////////////////////////////////////////////////////////
begin
if FromClient and (ConnectName=OsnovaName) and (pck=#$38#$73#$00#$00#$00#$03#$00#$00#$00) then
    begin
          ShowHTML(HTML);
    end;
  if FromClient and (ConnectName=OsnovaName) and (pck[1]=#$21) then
  begin
      Bypass:=ReadS(2);
      case Bypass of
      'MPoff'    : MPoff;
      'MPon'     : MPon;
      'friend'    : friend:=true;
      'friendoff'    : friend:=false;
      end;
      end;
      if buffcan then
      begin
   if FromServer and buffcan and (ConnectName=PPName) and (pck[1]=#$5E) and (x=0) and (a=0) then //Проверка на бафф. Если ПП уже кого то баффает то она отменит трейд.
      begin
        Target:=#$04+pck[2]+pck[3]+pck[4]+pck[5];
        buf:=hstr('44 01 00 00 00');
        sendtoserverex(PPName);  //Если кинули трейд то принимаем
   end;
      if fromclient and (pck[1]=#$44) then
  begin
    pck:=''; {Тут какой то пакет из за которого, бывало клиент сбрасывал трейд. Поетому убиваем его.}
    sendtoserverex(PPName);
  end;
   if fromserver and (pck[1]=#$21) and (ConnectName=PPName) then
      begin
      if friend then
      begin
      if pck[14]+pck[15]+pck[16]=#$01#$00#$00  then {Если ПП во фриенд режиме и в трейд положили 1 адену то..}
             begin
             buf:=hstr('17 01 00 00 00');//Принимаем трейд
             prof:=2;
             end;
             end;
      if pck[14]+pck[15]+pck[16]=#$F0#$49#$02  then {Если положили 150к то...}
             begin
             buf:=hstr('17 01 00 00 00');//Принимаем трейд и устанавливаем бафф в режим воина.
             prof:=1;
             end;
      if pck[14]+pck[15]+pck[16]=#$F1#$49#$02  then {Если положили 150,001к то...}
             begin
             buf:=hstr('17 01 00 00 00');//Принимаем и устанавливаем бафф в режим мага
             prof:=2;
             end;
            if prof=0 then buf:=hstr('17 00 00 00 00');//Если положили что то другое отменяем
      sendtoserverex(PPName);
   end;
   if FromServer and (pck[1]+pck[2]=#$22#$01) then
     begin
      buf:=target;
      sendtoserverex(PPName);
    if prof=2 then
    begin
      a:=1;
      prof:=0;
    end;
    if prof=1 then
    begin
      x:=1;
      prof:=0;
    end;
    end;
end;
end.