Всем наидобрейшего дня. Долго читал мануал и пытался прикрутить таймер к скрипту питья банок хп, но без результатно. Хотелось бы попросить тех, кто умеет это делать, помоч решить данную проблему. Я имею скрипт питья банок хп если CurHP<MaxHP. Но скрипт начинает флудить и пытается пить банки каждую секунду. Хотелось бы чтобы он повторял питье только через 11 секунд. Вот сам скрипт.
"delphi" Код:
//автоматическое использование НР пробирок
const
Name = 'UberWark';
var MyID:Word;
OID:String;
begin
if FromServer and (pck[1]=#$21) and (ReadD(12)=1539) then
OID:=pck[8]+pck[9]+pck[10]+pck[11];
if FromServer and (pck[1]=#$32) then MyID:=ReadD(18);
if FromServer and (pck[1]=#$18) and (ReadD(2)=MyID) then
if ReadD(6)=4 then
if (ReadD(14)<=ReadD(11)) then
begin
SendToServerEx(Name);
buf:=HStr('19 D9 03 21 10 00 00 00 00');
SendToServer;
end;
end.
Спасибом не обижу. Прошу помощи по человечески. Мог бы сам сделать, не просл бы о помощи. Прошу понять..
Последний раз редактировалось afonbka, 21.11.2010 в 13:47.
слушай, а я не понимаю, ты хочешь чтоб у тебя вобще каждые 11 секунды включенного скрипта юзалась банка, или когда дойдет до опрделеннного уровня?
Чтобы когда хп стало меньше максимума, скрипт юзал банку хп каждые 11 секунд, пока хп не станет полное. и так каждый раз когда хп станет меньше чем максимум. Нужно подкрутить только таймер, так скрипт уже работает и хилит нормально. Но пытается пить банку каждую секунду, изза чего получается флуд, а надо чтоб пытался пить каждые 11 секунд, чтобы не флудил.
Последний раз редактировалось afonbka, 21.11.2010 в 16:28.
Чтобы когда хп стало меньше максимума, скрипт юзал банку хп каждые 11 секунд, пока хп не станет полное. и так каждый раз когда хп станет меньше чем максимум. Нужно подкрутить только таймер, так скрипт уже работает и хилит нормально. Но пытается пить банку каждую секунду, изза чего получается флуд, а надо чтоб пытался пить каждые 11 секунд, чтобы не флудил.
Вобщем скрипты писать я не умею, но чето попробывал накалякать, если будет работать, я буду рад
DELPHI Код:
const
Name = 'UberWark';
var MyID:Word;
OID:String;
Timer01: TTimer;
TimerCyrcle01:integer;
procedure Init;
begin
Timer01:=TTimer.Create(nil); //выделяем памать и т.п.
Timer01.OnTimer:=@OnTimer01; //привязываем процедуру к событию
Timer01.enabled:=true; //начальное положение включен(true)/выключен(false)
Timer01.interval:=11000; //интервал(в милисекундах) как часто таймер срабатывает
Timercyrcle01:=1;
end;
procedure Free;
begin
Timer01.free;
end;
Procedure OnTimer01(Sender : TObject) ;
begincase TimerCyrcle01 of1: begin buf := hstr('19 D9 03 21 10 00 00 00 00') ;
SendToServer;
end;
end;
end;
beginif FromServer and(pck[1]=#$21)and(ReadD(12)=1539)then
OID:=pck[8]+pck[9]+pck[10]+pck[11];
if FromServer and(pck[1]=#$32)then MyID:=ReadD(18);
if FromServer and(pck[1]=#$18)and(ReadD(2)=MyID)thenif ReadD(6)=4thenif(ReadD(14)<ReadD(11))thenbegin
Timer01.enabled:=True;
end;
elsebegin
Timre01.enabled:=False;
end;
end.
ну блин ошибся) чего не видно Timer01.enabled:=False;
Добавлено через 52 секунды
у меня таймер стоит вот на это
1: begin buf := hstr('19 D9 03 21 10 00 00 00 00') ;
SendToServer;
end;
а вот что это за пакет я хз чесно)
__________________
Последний раз редактировалось dyh9l, 21.11.2010 в 17:02.
Причина: Добавлено сообщение