А пока попробую для примера стяпать то что было для преведущего для 2.7
Добавлено через 8 минут
Так как нет возможности потестить на 2.5, поэтому Таргет ID беру из скила.
Просьба потестить на лука это. Можете скилы поменять под свои.
И используйте последнюю версию Л2ПХ, иначе таймер просто не запустится...
Код:
//############################
//Micro Scripting
//class: Archer (Aion 2.5)
//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('CF 57 6C CC CC DD 00 FF FF FF FF 00 00 00 00 00 00');
WriteH(SkillID, 4);
WriteC(Level, 6);
WriteD(TargetID, 8);
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) = $CF) then
begin
name:=ConnectName;
TargetID := ReadD(8);
end;
if (FromClient) and (ReadC(1) = $CF) then
begin
StartSkill:=ReadH(4);
case StartSkill of
//Выстрел_721
721: //id Стартового скила, с которого продолжится серия.
begin
NextSkill[1]:=737; //Град стрел(737)
NextSkill[2]:=2074; //Спиральный выстрел(2074)
CountSkills:=2; //Кол-во дополнительный скилов в серии, после стартового.
Timer.interval:=300; // Задержка между скилами в мсек. (0,3сек)
Timer.enabled:=True;
end;
//Внезапный выстрел(736)
736:
begin
NextSkill[1]:=719; //Взрывной выстрел(719)
CountSkills:=1;
Timer.interval:=400; //Задержка между скилами
Timer.enabled:=True;
end;
//Сковывающая стрела(2090)
2090: //id Стартового скила, с которого продолжится серия.
begin
NextSkill[1]:=722; //Аркан(722)
CountSkills:=1; //Кол-во дополнительный скилов в серии, после стартового.
Timer.interval:=300;
Timer.enabled:=True;
end;
end;
end;
end.
________________ Мне хорошо известно то, что всем известно давно – тот кому зло причинили, злом ответит на зло.
Последний раз редактировалось x-miskalin-x; 17.04.2012 в 17:27.
Причина: Добавлено сообщение
А пока попробую для примера стяпать то что было для преведущего для 2.7
Добавлено через 8 минут
Так как нет возможности потестить на 2.5, поэтому Таргет ID беру из скила.
Просьба потестить на лука это. Можете скилы поменять под свои.
И используйте последнюю версию Л2ПХ, иначе таймер просто не запустится...
Код:
//############################
//Micro Scripting
//class: Archer (Aion 2.5)
//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('CF 57 6C CC CC DD 00 FF FF FF FF 00 00 00 00 00 00');
WriteH(SkillID, 4);
WriteC(Level, 6);
WriteD(TargetID, 8);
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) = $CF) then
begin
name:=ConnectName;
TargetID := ReadD(8);
end;
if (FromClient) and (ReadC(1) = $CF) then
begin
StartSkill:=ReadH(4);
case StartSkill of
//Выстрел_721
721: //id Стартового скила, с которого продолжится серия.
begin
NextSkill[1]:=737; //Град стрел(737)
NextSkill[2]:=2074; //Спиральный выстрел(2074)
CountSkills:=2; //Кол-во дополнительный скилов в серии, после стартового.
Timer.interval:=300; // Задержка между скилами в мсек. (0,3сек)
Timer.enabled:=True;
end;
//Внезапный выстрел(736)
736:
begin
NextSkill[1]:=719; //Взрывной выстрел(719)
CountSkills:=1;
Timer.interval:=400; //Задержка между скилами
Timer.enabled:=True;
end;
//Сковывающая стрела(2090)
2090: //id Стартового скила, с которого продолжится серия.
begin
NextSkill[1]:=722; //Аркан(722)
CountSkills:=1; //Кол-во дополнительный скилов в серии, после стартового.
Timer.interval:=300;
Timer.enabled:=True;
end;
end;
end;
end.
не работает( может настроил l2phx неправильно.
Хотя перепроверял..
и все же,наверно неправильно настроил
________________ Лучший способ организовать панику - попросить всех сохранять спокойствие.
Последний раз редактировалось lexppv; 18.04.2012 в 11:56.
Слушай а можешь сказать как переделать твой скрипт с 2.7 на 2.5.
И скажи за что отвечает этот пакет, как его переделать под 2.5
buf := HStr(CF 57 6C CC CC DD 00 FF FF FF FF 00 00 00 00 00 00)
Буду очень благодарен, ЕСЛИ НАПИШЕШЬ СКРИПТ ДЛЯ 2.5 НА СИНА)
Последний раз редактировалось Rolleps; 21.04.2012 в 11:15.
Слушай а можешь сказать как переделать твой скрипт с 2.7 на 2.5.
И скажи за что отвечает этот пакет, как его переделать под 2.5
buf := HStr(CF 57 6C CC CC DD 00 FF FF FF FF 00 00 00 00 00 00)
Буду очень благодарен, ЕСЛИ НАПИШЕШЬ СКРИПТ ДЛЯ 2.5 НА СИНА)
Это пакет скила.
Чуть выше есть пример на лука.
Поставь id скилов сина и попробуй.
Должно заработать, но потестить не могу на 2.5
________________ Мне хорошо известно то, что всем известно давно – тот кому зло причинили, злом ответит на зло.
И так народ... Играю на Айон Фр** Хилом. Там такая байда если ты что то кастуешь и кто то уходит за радиус каста, каст сбивается. Можно ли как то сделать что бы оно всегда кастовало до конца и поф на преграду и радиус? И ещё один момент как сделать так что бы юзать сразу готовый скил в какого ещё есть шанс он появится или нет в конце серии. Ну вот даный скилл [Ссылки могут видеть только зарегистрированные пользователи. ]
//############################
//Micro Scripting
//class: Assassin
//Script Created by miskalin
//version #1.3
//All rights reserved
//############################
ЭТО ВСТАВЛЯТЬ ТОЖЕ НАДО??????????????????????