PDA

Просмотр полной версии : [Помогите!] Скрипт для сина.


Leshin61
01.05.2012, 12:34
Всем привет и заранее спасибо, если кто сможет помочь.

Дело состоит в том что взял за основу вот это тему:
[Ссылки могут видеть только зарегистрированные и активированные пользователи]
Мискалину конечно спасибо.
ПОпробовал чутка подредактировать скрипт под себя, но в итоге, что-то наворотил , ну и конечно он у меня работает на скилах через раз, то проходит серия ударов, то не проходит.вот впрочем сам скрипт

//############################
//Micro Scripting
//class: Assassin
//Script Created by miskalin
//version #1.3
//All rights reserved
//############################

var
Timer:TTimer;
TargetID,TimerStep,i,CountSkills:integer;
StartSkill,NewSkill,SkillID:word;
NextSkill:array[1..3] of word;
Level:byte;
name:string;


procedure DoTheSkill(SkillID:word);
begin
buf := HStr('D0 00 57 6F FF CC CC DD 00 60 CA 00 00 00 00 79 8D 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:=600; //интервал(в миллисекундах)//задержка скила.
Level:=9;
end;


procedure Free;
begin
Timer.free;
end;

procedure OnTimer(Sender: TObject);
begin

case TimerStep of
1:
begin
DoTheSkill(NextSkill[TimerStep]);
if TimerStep=CountSkills then
begin
Timer.enabled:=False;
TimerStep:=1;
end
else inc(TimerStep);
end;

2:
begin
DoTheSkill(NextSkill[TimerStep]);
if TimerStep=CountSkills then
begin
Timer.enabled:=False;
TimerStep:=1;
end
else inc(TimerStep);
end;

3:
begin
DoTheSkill(NextSkill[TimerStep]);
if TimerStep=CountSkills then
begin
Timer.enabled:=False;
TimerStep:=1;
end
else inc(TimerStep);
end;


end;
end;

begin

// ##################Тело Скрипта#################################

if (FromClient) and (ReadC(1) = $CE) and (ReadC(3) = $57) and (ReadC(4) = $6D) then
begin
name:=ConnectName;
TargetID := ReadD(6);
end;

if (FromClient) and (ReadC(1) = $D0) then
begin
StartSkill:=ReadH(6);
case StartSkill of
//Применение смертельных ядов
919: //id Стартового скила, с которого продолжится серия.
begin
NextSkill[1]:=862; //Отравленный клинок
CountSkills:=1; //Кол-во дополнительный скилов в серии, после стартового.

Timer.interval:=200;
Timer.enabled:=True;

end;


//Нанесение клейма на расстоянии
2113:
begin
NextSkill[1]:=875; //Рёв зверя
NextSkill[2]:=860; //Удар зверя
NextSkill[3]:=2110; //Бросок зверя
NextSkill[4]:=2121; //Чудовищный шрам
CountSkills:=4;

Timer.interval:=250;
Timer.enabled:=True;
end;


//Внезапная атака
579: //id Стартового скила, с которого продолжится серия.
begin
NextSkill[1]:=873; //Подлый удар
CountSkills:=1; //Кол-во дополнительный скилов в серии, после стартового.

Timer.interval:=250;
Timer.enabled:=True;
end;

//Клык зверя
2280:
begin
NextSkill[1]:=853; //Небесный плен
CountSkills:=1;

Timer.interval:=400;
Timer.enabled:=True;
end;

//Контратака
581:
begin
NextSkill[1]:=856; //Ураганная мощь
CountSkills:=1;

Timer.interval:=200;
Timer.enabled:=True;
end;

//Засада
2126:
begin
NextSkill[1]:=1987; //Атака ядом
NextSkill[2]:=839; //Точный расчет
NextSkill[3]:=2125; //Убийство
CountSkills:=3;

Timer.interval:=230;
Timer.enabled:=True;
end;

//Снятие шока
1968:
begin
NextSkill[1]:=1986; //Штормовая мощь
CountSkills:=1;

Timer.interval:=200;
Timer.enabled:=True;
end;

end;
end;
end.
Если кто понял в чем ошибка пожалуйста помогите исправить.