Просмотр полной версии : процедура с таймером)
Напишите мне пож-ста процедуру таймера которая состоит из 7 событий где при 7 событии отключается сам таймер, за место пакетов используйте a b c d e f g очень поможете мне :) у мну чето мягко говоря все время на a зависает))
Леньтяй :D
На а зацикливается потому что не увеличиваешь счетчик итераций таймера.
Леньтяй :D
На а зацикливается потому что не увеличиваешь счетчик итераций таймера.
да не лентяй я, не получается блин..
заюзай поиск блин там примеров мягко говоря много, если не сказать больше их просто докуя каждый 2-й скрипт наверное
нашел чето из поиска но не робит.., исправьте хотяб ошибки))
procedure OnTimer01(Sender: TObject);
begin
case TimerCycle of
1:begin
buf:=HStr('38 31 00 00 00 00 00 00 00'); //1 ïàêåò
sendtoserverex(charname);
Inc(TimerCycle);
timer01.interval:=1500;
end;
2:begin
buf:=HStr('38 32 00 00 00 00 00 00 00'); //2 ïàêåò
sendtoserverex(charname);
Inc(TimerCycle);
timer01.interval:=1500;
end;
3:begin
buf:=HStr('38 33 00 00 00 00 00 00 00'); //3 ïàêåò
sendtoserverex(CharName);
Inc(TimerCycle);
timer01.interval:=1500;
end;
4:begin
buf:=HStr('38 34 00 00 00 00 00 00 00'); //4 ïàêåò
sendtoserverex(charname);
TimerCycle:=1;
timer01.interval:=1500;
end;
end;
end;
этим включаю таймер
If ItemToEnchant = 0 then Timer01.enabled:=true ;
Проверять вломак, хз что у тебя там не так, надо весь код смотреть.
Вот каркас с таймером на 7 разных действий. annon выводит в чате циферки от 1 до 7.
var
cycle:integer;
Timer1:TTimer;
procedure annon(msg:string);
begin
buf:=#$4A;
WriteD(0);
WriteD(10);
WriteS('');
WriteS(msg);
SendToClient;
end;
procedure Init; //Вызывается при включении скрипта
begin
Timer1:=TTimer.Create(nil);
Timer1.OnTimer:=@OnTimer;
Timer1.Enabled:=true;
Timer1.Interval:=1000;//интервал запрещения пакета
cycle:=0;
useforconnectname:='op';
end;
procedure Free; //Вызывается при выключении скрипта
begin
Timer1.Free();
end;
procedure OnTimer();
begin
case cycle of
1:begin
annon(inttostr(cycle));
end;
2:begin
annon(inttostr(cycle));
end;
3:begin
annon(inttostr(cycle));
end;
4:begin
annon(inttostr(cycle));
end;
5:begin
annon(inttostr(cycle));
end;
6:begin
annon(inttostr(cycle));
end;
7:begin
annon(inttostr(cycle));
timer1.Enabled:=false;
end;
end;
inc(cycle);
end;
//основная часть скрипта
//вызывается при приходе каждого пакета если скрипт включен
begin
end.
А в какой тег надо вписывать код, чтобы он отформатировался в делфи? НА пенельке редактора ничего не нашел чота.
[HIGHLIGHT="delphi" ] [ /HIGHLIGHT] ты про него?)
[HIGHLIGHT="delphi" ] [ /HIGHLIGHT] ты про него?)
Ага, я думал это что-то типа спойлера. С таймером разобрался?
Ага, я думал это что-то типа спойлера. С таймером разобрался?
Нет еще, на учебе щас :)
vBulletin® v3.6.11, Copyright ©2000-2024, Jelsoft Enterprises Ltd. Перевод: zCarot