вообщем весь прикол что при старте таймера на 20 мин баф , не передавал значение x:=1; вот и всё )) "смотрим в книгу , видим фигу" 

работает вместе с LxAssistent )
надо отладить до конца, затем выложу 
	delphi Код:
	var
    Bot1X,Bot1Y,Bot1Z:string; //координаты варки
    IDAssistTarget:string; //таргет командира
    rnd:integer;  // вспомогательная для случайного события
    bafWC: array [1..100] of string; //список бафов WС
    NameKom,NameBot1:string; //имена чаров учавствующих в процессе
    MaxHPKom,MaxHPBot1:integer; //максимальные уровни ХП (лимиты)
    CurHPKom,CurHPBot1:integer; //текущие значения ХП
    IDKomandos,IDbot1:string; // идешники командира и варки
    timer4,timer3,timer5:TTimer; //таймера бафа
    i,x:integer;
    tempS:String;
    ///////////////////////////////////////// buff's//////////////////////////////////////////////
procedure OnTimer4 (Sender: TObject);
begin
case x of
1: begin
//выделяем командира, эмулируя щелчек мыши
buf:=hstr('04') + IDKomandos + Bot1X + Bot1Y + Bot1Z + hstr('00');
SendToServerEX(NameBot1);
buf:=bafWC[6];
SendToServerEx(NameBot1);
x:=x+1;
end;
2: begin
buf:=bafWC[1];
SendToServerEx(NameBot1);
x:=x+1;
end;
3: begin
buf:=bafWC[2];
SendToServerEx(NameBot1);
x:=x+1;
end;
4: begin
buf:=bafWC[3];
SendToServerEx(NameBot1);
x:=x+1;
end;
5: begin
buf:=bafWC[4];
SendToServerEx(NameBot1);
x:=x+1;
end;
6: begin
buf:=bafWC[5];
SendToServerEx(NameBot1);
x:=x+1;
end;
7: begin
buf:=bafWC[7];
SendToServerEx(NameBot1);
x:=0;
timer4.enabled:=false;
end;
end;
end;
/////////////////////////
// buff 20min
procedure Buff (Sender: TObject); //баффы через 20 мин
begin
x:=1;
timer4.enabled:=true;//вкл. бафы
timer3.interval:=1150000; //каждые 20 мин (за вычетом времени самих бафов)
  end;
  procedure heal (Sender: TObject);
  begin
          buf:=hstr('04') + IDKomandos + Bot1X + Bot1Y + Bot1Z + hstr('00');
          SendToServerEX(NameBot1);
          buf:=hstr('2F CD 04 00 00 00 00 00 00 00'); // chant of life
          SendToServerEX(NameBot1);
  timer5.enabled:=false;
  end;
    procedure Init; //Вызывается при включении скрипта
    begin
    NameKom:='XXX';              //командир
    NameBot1:='XXX';       //варка
   
    //список бафов:
    //само собой вы его можете расширить новыми бафами которых тут нет..
    //это те бафы кторые я использую от ПП
     bafWC[1]:=hstr('2F EF 03 00 00 00 00 00 00 00');  //chant of battle
     bafWC[2]:=hstr('2F E5 04 00 00 00 00 00 00 00');  //chant of rage
     bafWC[3]:=hstr('2F F1 03 00 00 00 00 00 00 00');  //chant of sheilding
     bafWC[4]:=hstr('2F E4 04 00 00 00 00 00 00 00');  //chant of evansion
     bafWC[5]:=hstr('2F EE 03 00 00 00 00 00 00 00');  //chant of fire ( m def )
     bafWC[6]:=hstr('2F EA 03 00 00 00 00 00 00 00');  //flame chant ( acum )
     bafWC[7]:=hstr('2F 1E 05 00 00 00 00 00 00 00');  // vampiric 
 //при старте скрипта значения переменных =0
    //поетому скрипт подумает что у всех 0 ХП и начнется хаос.. все начнут друг друга хилить без остановки
    //чтоб избежать етого выставим начальные значения.. то что ХП у нас- дожопы.. много.. 15к.. т.е. хилить ненадо.
    //а потом скрипт сам захватит текущее знасение.. и всё коректно будет...
    CurHPKom:=15000;
    CurHPBot1:=15000;
   
    //дело в том что скрипт расчитывает хилить или нет в зависимости от % от шкалы.. если вся шкала =0 (по дефолту)
    //то ето както некоректно там будет хотя вроде пофиг..
    //но для коректности понимания процесса мы пишем что максимальная шкала ХП у нас оч маленькая а текущие значения- оч большие..
    //поетому никакие хилы небудут происходить при старте скрипта..
    MaxHPKom:=10;
    MaxHPBot1:=10;
   //новый баф кастовать через 4 секунды
      timer4:=TTimer.Create(nil);
      timer4.OnTimer:=@OnTimer4; //
      timer4.enabled:=false; //
      timer4.interval:=5300;  //5300 для варки
      timer5:=TTimer.Create(nil);
      timer5.OnTimer:=@heal;
      timer5.enabled:=false;
      timer5.interval:=3000; // делаем задержку между лечениями 30 сек
      // добавляем функцию что бы бафал сам каждые 20 мин ( NLobP )
       //баффы
  timer3:=TTimer.Create(nil);
  timer3.OnTimer:=@Buff; //
  timer3.enabled:=True; // таймер по умолчанию выключен
  timer3.interval:=30000; // первый баф через 60 сек
    // ЗАПРОС НА ОТКРЫТИЕ ИНВЕНТОРЯ!!!! ДЛЯ ЗАХВАТА ИДЕШНИКА!
    // чтобы принудительно вызвать от сервера пакет ЮЗЕР ИНФО в котором ИД указан
    //а также для того чтобы захвватить ИД банок для питья
        buf:=hstr('0F');
        SendToServerEX(NameKom);
        SendToServerEX(NameBot1);
    end;
    procedure Free; //Вызывается при выключении скрипта
    begin
    timer4.Free;
    timer3.Free;
    timer5.Free;
    end;
    //основная часть скрипта
    //вызывается при приходе каждого пакета если скрипт включен
    begin
    //для тго чтоб 2-3 скрипта коректно работали  одновременно..
    if pck='' then exit;  // нех пустые пакеты обрабатывать типа
  
    //*******************ЗАХВАТ КООРДИНАТ***************************************************
    //если принят пакет от клиента с кординатами бота то
    if FromClient then
    if ConnectName=NameBot1 then
    if pck[1]=#$48 then
        begin
    //запоминаем координаты
        Bot1X:= pck[2] + pck[3] + pck[4] + pck[5];
        Bot1Y:= pck[6] + pck[7] + pck[8] + pck[9];
        Bot1Z:= pck[10] + pck[11] + pck[12] + pck[13];
        end;
  
    //********************ОСТСЛЕЖИВАЕМ ТРУПАКИ********************************************************
    //если кто то умер то приходит пакет DIE.. то хилить его ненадо...
    //нефиг трупы хилить...
    //для того чтоб трупяков боты не хилили ставим кодом то что ХП (текущее) у них до жопы... т.е. 15к
    if FromServer then
    if ConnectName=NameKom then
    if pck[1]=#$06 then
    if pck[2] + pck[3] + pck[4] + pck[5] = IDKomandos then
      CurHPKom:=15000;
    if FromServer then
    if ConnectName=NameBot1 then
    if pck[1]=#$06 then
    if pck[2] + pck[3] + pck[4] + pck[5] = IDBot1 then
      CurHPBot1:=15000;
     
    //*************************УЗНАЕМ ЛИМИТЫ ХП и МП и ИД***********************************************
    //из пакета UserInfo который приходит во время бафа и не только
    //как тока скрипт начинает свою работу то он на все аки отправляет запрос на открытие ИНВЕНТОРЯ
    //вместе с ответом сервера всегда приходит пакет ЮЗЕР ИНФО.. из етого замечательного пакета мы считываем  максимальные значения ХП и МП
    //а так жэ  ИД чара (бота- бафера)
    //КОМАНДИР
    if FromServer then
    if ConnectName = NameKom then
    if pck[1]=#$04 then
      begin
      IDKomandos:=pck[18]+pck[19]+pck[20]+pck[21]; //тут выдергиваем ИД чара
      i:=22;
      tempS:=readS(i); // ето используем для удобства.. имя типа пропускаем.. потому как каждый раз оно из разного кол-ва букв состоит.. в скобках переменная автоматом увеличивается на кол-во букв (ну там по формуле.. в юникоде 1 буква=2 байта, и символ окончания строки еще 00 00)
      i:=i+48; // через 48 байтофъ после имени указывается лимиты и текущие значения для ХП и МП
    //запоминаем их.. тут нам не особо важны текущие значения.. хотя лишний раз не помешают
    //но важно- максимальное значение- ЛИМИТЫ
      MaxHPKom:=readD(i);
      CurHPKOM:=readD(i);
      end;
    //1-й бот
    if FromServer then
    if ConnectName = NameBot1 then
    if pck[1]=#$04 then
      begin
      IDBot1:=pck[18]+pck[19]+pck[20]+pck[21];
      i:=22;
      tempS:=readS(i);
      i:=i+48;
      MaxHPBot1:=readD(i);
      CurHPBot1:=readD(i);
      end;
    //*************************СЛЕДИМ ЗА ХП и МП******************************************
   
      if FromServer then
      if ConnectName = NameKom then
      if pck[1]=#$0e then
      if (pck[2] + pck[3] + pck[4] + pck[5] + pck[6] = IDKomandos + #$04) then
      begin
    //считываем текущее состояние ХП!!-)
        CurHPKom:=ReadD(14);
    //ну собственно ето уже можно править под желания каждого:
    //если жизни текущие меньше 0,7 от шкалы (50%) то..
         if (CurHPKom < round(MaxHPKom*0.5)) then
          timer5.enabled:=true;
         end;  
             //socialHELLO буф Война не по ассисту а по ИДкомандира т.е самого его
     if FromClient then
      if ConnectName=NameKom then
      if pck[1]+pck[2]=hstr('1B 02') then    // 02 -   socialHELLO
      begin
 //убиваем этот пакет, чтоб сервер его не получил
  pck:='';
// бафы
timer4.enabled:=true;
x:=1;
exit;
end;
     //"Bow" (ПОКЛОН)- включаем автобаф
      if FromClient then
      if ConnectName=NameKom then
      if pck[1]+pck[2]=hstr('1B 07') then
        begin
         pck:='';
         timer3.enabled:=true;
         exit;
        end;
        end.
 
Щас орк подрастёт, добавлю весь баф ) привязывать следование за командиром и остальное не стал, хорошо работает LxAssistent так что вот 

 Бот умеет только , сам лечить на 50% хп (можно поставить по желанию) и бафать каждые 20 мин ) Думаю кому надо , могут ввести проверки на наличие маны, не сидит ли бот , и т.п. возможно пойже выложу )