Показать сообщение отдельно
Старый 17.12.2007, 08:51   #8
Новичок
 
Регистрация: 13.11.2007
Сообщений: 8
Сказал Спасибо: 1
Имеет 0 спасибок в 0 сообщенях
Mithras
По умолчанию

Код:
     // Если изменилась строка бафов то бафать следующий
     if FromServer and (ConnectName=CharName) and (i>0) and (Ready=true) and (pck[1]=#$76) and (ReadD(2)=ObjectID) then
        begin
        if(i=N) then
           begin
           Timer.enabled:=true;
           i:=0;
           exit;
           end;
        if(i<N) then
           begin
           buf:=Skills[i];
           SendToServerEx(CharName);
           say('Юзаем скилл N'+inttostr(i+1));
           Inc(i);
           end;
        end;
Поясню, этот кусок позволяет делать задержку между бафами НЕ статической, т.е. когда боту(баферу) приходит пакет об окончании каста, ложить следующий баф. if(i=N) - а это потому что пакет о конце каста приходит немного рановато, скилы при этом все равно срабатывают как надо, а из пати выходит ДО наклабывания последнего бафа. Поэтому выход из пати делаю по таймеру с задержкой 1 секунду. Как и где это испольховать додумывайте сами.

Иеще, если уж бот принимает пати, то надо убивать пакет от клиента на отказ пати(который шлется автоматом через секунд 10 примерно), чтоб лишний раз не палиться...
Mithras вне форума   Ответить с цитированием