chilay07
09.02.2012, 15:28
помогите написать скрип для закла на 2.7.
Собственно я как бы написал его только он не фурычит,кто шарит можете помочь в написании?(на да чтоб была задержка между скилами 1сек)
сам скрип не рабочий:
//Timer by happytorn
const
name = 'chilay';
var
Timer:TTimer;
TimerStep:integer;
TargetID:integer;
StartSkill:word;
procedure DoTheSkill(SkillID:word; Level:byte);
begin
buf := HStr('D0 00 57 6F FF 57 0A 02 00 53 32 00 00 C9 01 05 36 00 00 ');
WriteH(SkillID, 6);
WriteC(Level, 8);
WriteD(TargetID, 10);
SendToServerEx(name);
end;
procedure Init;
begin
TimerStep:=1;
Timer:=TTimer.Create(nil);
Timer.OnTimer:=@OnTimer;
Timer.enabled:=false;
Timer.interval:=900;
end;
procedure Free;
begin
Timer.free;
end;
procedure OnTimer(Sender: TObject);
begin
case TimerStep of
1:
begin
DoTheSkill(2238, 4);
Inc(TimerStep);
end;
2:
begin
DoTheSkill(1389, 5);
Inc(TimerStep);
end;
3:
begin
DoTheSkill(2012, 1);
Inc(TimerStep);
end;
4:
begin
DoTheSkill(2230,2);
Inc(TimerStep);
end;
6:
begin
DoTheSkill(1663, 1);
Inc(TimerStep);
end;
7:
begin
DoTheSkill(2234, 4);
Inc(TimerStep);
end;
8:
begin
DoTheSkill( 2297, 3);
Inc(TimerStep);
end;
9:
begin
DoTheSkill(1795, 3);
Inc(TimerStep);
end;
10:
begin
DoTheSkill(2226,4);
Inc(TimerStep);
end;
11:
begin
DoTheSkill(2233,6);
Inc(TimerStep);
end;
12:
begin
DoTheSkill(2003, 4);
Timer.enabled:=false;
Inc(TimerStep);
TimerStep:=1;
end;
end;
end;
begin
StartSkill := 2229;
if (FromClient) and (ReadC(1) = $D0) and (ReadH(6) = StartSkill) then
begin
TargetID := ReadD(10);
Timer.enabled:=true;
end;
end.
а на да чтоб была вот такая последовательность ,
активируеться Земляные оковы IV 1716 (или чемто другим)
ну и сама серия
Сжечь чары IV -4 2238
Коррозия V 1389
Загробное проклятие I 2012
Невыносимые муки II 2230
Замедляющие кандалы I 1663
Призыв: Энергия урагана IV 2234
Вакуумный взрыв III 2297
Обширная коррозия III 1795
Атака элементаля IV 2226
Магическое возгорание VI 2233
Поглощение I 2003
Поглощение жизненной силы VII 2229
Собственно я как бы написал его только он не фурычит,кто шарит можете помочь в написании?(на да чтоб была задержка между скилами 1сек)
сам скрип не рабочий:
//Timer by happytorn
const
name = 'chilay';
var
Timer:TTimer;
TimerStep:integer;
TargetID:integer;
StartSkill:word;
procedure DoTheSkill(SkillID:word; Level:byte);
begin
buf := HStr('D0 00 57 6F FF 57 0A 02 00 53 32 00 00 C9 01 05 36 00 00 ');
WriteH(SkillID, 6);
WriteC(Level, 8);
WriteD(TargetID, 10);
SendToServerEx(name);
end;
procedure Init;
begin
TimerStep:=1;
Timer:=TTimer.Create(nil);
Timer.OnTimer:=@OnTimer;
Timer.enabled:=false;
Timer.interval:=900;
end;
procedure Free;
begin
Timer.free;
end;
procedure OnTimer(Sender: TObject);
begin
case TimerStep of
1:
begin
DoTheSkill(2238, 4);
Inc(TimerStep);
end;
2:
begin
DoTheSkill(1389, 5);
Inc(TimerStep);
end;
3:
begin
DoTheSkill(2012, 1);
Inc(TimerStep);
end;
4:
begin
DoTheSkill(2230,2);
Inc(TimerStep);
end;
6:
begin
DoTheSkill(1663, 1);
Inc(TimerStep);
end;
7:
begin
DoTheSkill(2234, 4);
Inc(TimerStep);
end;
8:
begin
DoTheSkill( 2297, 3);
Inc(TimerStep);
end;
9:
begin
DoTheSkill(1795, 3);
Inc(TimerStep);
end;
10:
begin
DoTheSkill(2226,4);
Inc(TimerStep);
end;
11:
begin
DoTheSkill(2233,6);
Inc(TimerStep);
end;
12:
begin
DoTheSkill(2003, 4);
Timer.enabled:=false;
Inc(TimerStep);
TimerStep:=1;
end;
end;
end;
begin
StartSkill := 2229;
if (FromClient) and (ReadC(1) = $D0) and (ReadH(6) = StartSkill) then
begin
TargetID := ReadD(10);
Timer.enabled:=true;
end;
end.
а на да чтоб была вот такая последовательность ,
активируеться Земляные оковы IV 1716 (или чемто другим)
ну и сама серия
Сжечь чары IV -4 2238
Коррозия V 1389
Загробное проклятие I 2012
Невыносимые муки II 2230
Замедляющие кандалы I 1663
Призыв: Энергия урагана IV 2234
Вакуумный взрыв III 2297
Обширная коррозия III 1795
Атака элементаля IV 2226
Магическое возгорание VI 2233
Поглощение I 2003
Поглощение жизненной силы VII 2229