PDA

Просмотр полной версии : [Скрипт] AutoSkill под все классы


c-lavr
08.04.2012, 02:32
Опять загнался с какой-то ерундой:ban:
Нашел много отдельных тем, под каждые персонажы, под отдельные скиллы.. в одном скрипте можно чары бьют по 3 скилла сразу, в другом по 10... словом решил все объединить в одном:z:
Итак, скрипт позволяет прямо в игре записать до 30 (и это не предел) скиллов и выбрать любой для активации.

Скрипт
//защищенно авторским правом CLAVR
var
Timer:TTimer;
name:string;
i,TargetID,TimerStep,writeStep,startSkill:integer;
control,controlwrite,controlstart:boolean;
SeriesSkill:array [1..30] of string;

procedure Init;
begin
WriteStep:=1;
TimerStep:=1;
Timer:=TTimer.Create(nil);
Timer.OnTimer:=@OnTimer;
Timer.interval:=150;
Timer.enabled:=false;
control:=false;
controlwrite:=false;
controlstart:=false;
end;

procedure Free;
begin
Timer.free;
end;

procedure record;
begin
if controlwrite then
begin
SeriesSkill[writeStep]:=pck;
buf:=HStr('16 00 54 D5 FF 22 00 00 00 00 00 00 00');
WriteS('Скилл записан!');
sendtoclient;
inc(writeStep);
end;
end;

procedure starting;
begin
if controlstart then
begin
StartSkill:=ReadH(6);
controlstart:=false;
buf:=HStr('16 00 54 D5 FF 22 00 00 00 00 00 00 00');
WriteS('скилл для зупуска записан! Настройка завершена');
sendtoclient;
end;
end;

procedure OnTimer(Sender: TObject);
begin
buf:=SeriesSkill[TimerStep];
WriteD(TargetID,10);
SendToServerEx(name);
inc(TimerStep);
if (TimerStep=writeStep) then
begin
Timer.enabled:=false;
TimerStep:=1;
end;
end;

begin
if FromClient and (ReadC(1) = $9F) then
name:=ConnectName;

if FromClient and(ReadC(1)=$D0) then
begin
record;
starting;
if control and (ReadH(6)=StartSkill) then
begin
TargetID:=ReadD(10);
Timer.enabled:=True;
end;
end;

if FromClient and (ReadC(1)=$B2) then
begin
case ReadS(7) of
'wron':
begin
pck:='';
controlwrite:=True;
buf:=HStr('16 00 54 D5 FF 22 00 00 00 00 00 00 00');
WriteS('Нажмите последовательно скилы, которые будут использованы');
sendtoclient;
end;
'wrof':
begin
pck:='';
controlwrite:=False;
buf:=HStr('16 00 54 D5 FF 22 00 00 00 00 00 00 00');
WriteS('Скиллы записаны! Теперь нажмите скилл ,который будет использоваться для запуска');
sendtoclient;
controlstart:=True;
end;
'ason':
begin
pck:='';
control:=True;
buf:=HStr('16 00 54 D5 FF 22 00 00 00 00 00 00 00');
WriteS('AutoSkill: включен');
sendtoclient;
end;
'asof':
begin
pck:='';
control:=False;
buf:=HStr('16 00 54 D5 FF 22 00 00 00 00 00 00 00');
WriteS('AutoSkill: выключен');
sendtoclient;
end;
end;
if (pck[7]+ pck[9]=#$74+#$6D) then
begin
Timer.interval:=Int(StrToFloat(ReadS(11)));
buf:=HStr('16 00 54 D5 FF 22 00 00 00 00 00 00 00');
WriteS('задержка между скилами изменена');
sendtoclient;
pck:='';
end;
end;
end.

Управление

Копируем скрипт, ставим галочку и настраиваем его под своего чара черз команды (все их пишем в чат):

1. Пишем команду wron
2. По очереди нажимаем скиллы которые будем потом юзать в скрипте (например "издеваемся" на кукле или своем лучшем друге)
3. Как набрали все нужные скиллы, пишем команду wrof
3. После этого используем скилл, который будет активировать наш скрипт
4. по умолчанию, задержка между скиллами 150 мс, если хотите изменить, то пишем в чат tm230 (где вместо 230 пишем свое значение в мс)

Все, настройка завершена!

После настройки используем команды для запуска скрипта:

ason - включает использование AutoSkill
asof - выключает использование AutoSkill


Во время настройки, будут высвечиваться подсказки, так-что думаю не запутаетесь)

P.S. Есть недосток - так как все скиллы не записываются в файл, то скрипт нужно настраивать каждый раз после запуска:sceptic:

zufvbkfqn2
08.04.2012, 04:06
Cпасибо!Все отлично работает.Cервер New Aion.

Lir50sent
08.04.2012, 12:45
почему-то когда все скилы выпускаешь прерывается соединение с сервером( сервер невка

c-lavr
08.04.2012, 12:51
Исправлены ошибки в скрипте! Пересохраните скрипт

Lir50sent
08.04.2012, 12:56
Исправлены ошибки с скрипте! Пересохраните скрипт
Исправлена ошибка вылетов?

c-lavr
08.04.2012, 13:09
Да) Теперь не вылетает. И поставил защиту на команды, пока одна команда не выполнится, следующая не будет включатся

link0175
08.04.2012, 16:40
а как этот скрипт установить по подробнее можно!!!!

celsi
08.04.2012, 18:08
а как удалить сохраненный команды ? Релог или ?

c-lavr
08.04.2012, 21:02
просто убери галку со скрипта и все) или заново перепиши команды)

aionmax
08.04.2012, 21:37
что та половина из записываемых скиллов не пашет сервер aion speedgame

c-lavr
08.04.2012, 21:40
С таймером играйся. Все зависит от скиллов которые ты используешь.

celsi
08.04.2012, 21:46
команда tm не робит ! пишу tm500 ничего не изменился ! бьет как 150

aionmax
08.04.2012, 21:48
ааа ну все да теперь пашет=)
тока теперь все скилы медленее юзаются но тот начел работатьили я о5 косячу=/

celsi
08.04.2012, 21:48
что та половина из записываемых скиллов не пашет сервер aion speedgame

у меня все пашет там ! просто команда tm почему то не идет !

c-lavr
08.04.2012, 22:24
у меня все пашет там ! просто команда tm почему то не идет !

исправил:pif:

x-miskalin-x
09.04.2012, 20:24
4. по умолчанию, задержка между скиллами 150 мс, если хотите изменить, то пишем в чат tm230 (где вместо 230 пишем свое значение в мс)


Желательно иметь возможность ставить разные задержки между скилами, так как анимация у многих скилов разная :)

Хотя большинству думаю сойдёт и так ))

c-lavr
10.04.2012, 16:05
Желательно иметь возможность ставить разные задержки между скилами, так как анимация у многих скилов разная :)

Хотя большинству думаю сойдёт и так ))

могу сделать отдельно такой скриптик) просто после каждого скилла будите вводить значение таймера

DragonValle
11.04.2012, 17:37
Да) Теперь не вылетает. И поставил защиту на команды, пока одна команда не выполнится, следующая не будет включатся

Здравствуй, отличная работа, можешь мне помочь, поставит эту защиту в мой скрипт для сина? а то у меня на сервере фикс по анимации... пока анимация от одного скилла не пройдёт, другой скилл не запускается :/




const
name = ''; //Acc Name (ka why, aber ohne gehts nicht^^)
var
Timer:TTimer;
TimerStep:integer;
TargetID:integer;
StartSkill:word;

procedure DoTheSkill(SkillID:word; Level:byte);
begin
buf := HStr('D0 00 57 6F FF CC CC DD 00 60 CA 00 00 00 00 79 8D 00 00'); //Alternativ D0 00 57 6F FF CC CC DD 00 60 CA 00 00 E2 01 F9 C3 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; //Zeit zwischen den Skills (500=0,5 sek)
end;


procedure Free;
begin
Timer.free;
end;

procedure OnTimer(Sender: TObject);
begin
case TimerStep of

1:
begin
DoTheSkill(873, 9); //Rückenbrecher II
Inc(TimerStep);
end;

2:
begin
Timer.interval:=100; // Dieser skill wird mit 0,1 sek ausgeführt *.
DoTheSkill(2123, 1); //Sprengpulwerverwendung IV (Buff)
Inc(TimerStep);
end;

3:
begin
DoTheSkill(577, 1); //Hingabe I (Buff)
Inc(TimerStep);
end;

4:
begin
Timer.interval:=600; // * Dannach wieder die normale Zeit einstellen
DoTheSkill(2126, 1); //Hinterhalt IV
DoTheSkill(935, 9);
Inc(TimerStep);
end;

5:
begin
DoTheSkill(940, 6); //Strahlende Rune I
Inc(TimerStep);
end;

6:
begin
Timer.interval:=400;
DoTheSkill(2125, 1); //Attentat III
Inc(TimerStep);
end;

7:
begin
Timer.interval:=600;
DoTheSkill(1987, 1); //Giftangriff I
Inc(TimerStep);
end;

8:
begin
Timer.interval:=200;
DoTheSkill(839, 1); //Folgeschlag I (Buff)
Inc(TimerStep);
end;

9:
begin
Timer.interval:=600;
DoTheSkill(1990, 1); //Beschleunigter Untergang I
Inc(TimerStep);
end;

10:
begin
Timer.interval:=200;
DoTheSkill(1984, 1); //Sinnesverstärkung I (Buff)
Inc(TimerStep);
end;

11:
begin
Timer.interval:=200;
DoTheSkill(572, 1); //Konzentriertes Ausweichen I (Buff)
Inc(TimerStep);
end;

12:
begin
Timer.interval:=600;
DoTheSkill(867, 9); //Siegelgravur IV
Inc(TimerStep);
end;

13:
begin
Timer.interval:=400;
DoTheSkill(875, 5); //Brüllen der Bestie IV
Inc(TimerStep);
end;

14:
begin
Timer.interval:=400;
DoTheSkill(860, 5); //Tritt der Bestie III
Inc(TimerStep);
end;

15:
begin
Timer.interval:=400;
DoTheSkill(2110, 4); //Schlag der Bestie V
Inc(TimerStep);
end;

16:
begin
Timer.interval:=600;
DoTheSkill(853, 8); //Himmelsklinge III
Timer.enabled:=false;
Inc(TimerStep);
TimerStep:=1;
end;
end;
end;

begin

StartSkill := 2280; //Aktivierungsskill!!!!!! (Reißerklauneschlag II)
if (FromClient) and (ReadC(1) = $D0) and (ReadH(6) = StartSkill) then
begin
TargetID := ReadD(10);
Timer.enabled:=true;
end;
end.

CKA88
12.04.2012, 02:19
Красота!!!Главое не жестить с кол-вом скилов :hd:
За труды сяп!

Nikci
13.04.2012, 16:37
на 2.5 не работает (( .

khrkov.s
14.04.2012, 10:35
на 2.5 не работает (( .

разработано под версию 2.7

Anarhiya
07.06.2012, 21:52
Опять загнался с какой-то ерундой:ban:
Нашел много отдельных тем, под каждые персонажы, под отдельные скиллы.. в одном скрипте можно чары бьют по 3 скилла сразу, в другом по 10... словом решил все объединить в одном:z:
Итак, скрипт позволяет прямо в игре записать до 30 (и это не предел) скиллов и выбрать любой для активации.

Скрипт
//защищенно авторским правом CLAVR
var
Timer:TTimer;
name:string;
i,TargetID,TimerStep,writeStep,startSkill:integer;
control,controlwrite,controlstart:boolean;
SeriesSkill:array [1..30] of string;

procedure Init;
begin
WriteStep:=1;
TimerStep:=1;
Timer:=TTimer.Create(nil);
Timer.OnTimer:=@OnTimer;
Timer.interval:=150;
Timer.enabled:=false;
control:=false;
controlwrite:=false;
controlstart:=false;
end;

procedure Free;
begin
Timer.free;
end;

procedure record;
begin
if controlwrite then
begin
SeriesSkill[writeStep]:=pck;
buf:=HStr('16 00 54 D5 FF 22 00 00 00 00 00 00 00');
WriteS('Скилл записан!');
sendtoclient;
inc(writeStep);
end;
end;

procedure starting;
begin
if controlstart then
begin
StartSkill:=ReadH(6);
controlstart:=false;
buf:=HStr('16 00 54 D5 FF 22 00 00 00 00 00 00 00');
WriteS('скилл для зупуска записан! Настройка завершена');
sendtoclient;
end;
end;

procedure OnTimer(Sender: TObject);
begin
buf:=SeriesSkill[TimerStep];
WriteD(TargetID,10);
SendToServerEx(name);
inc(TimerStep);
if (TimerStep=writeStep) then
begin
Timer.enabled:=false;
TimerStep:=1;
end;
end;

begin
if FromClient and (ReadC(1) = $9F) then
name:=ConnectName;

if FromClient and(ReadC(1)=$D0) then
begin
record;
starting;
if control and (ReadH(6)=StartSkill) then
begin
TargetID:=ReadD(10);
Timer.enabled:=True;
end;
end;

if FromClient and (ReadC(1)=$B2) then
begin
case ReadS(7) of
'wron':
begin
pck:='';
controlwrite:=True;
buf:=HStr('16 00 54 D5 FF 22 00 00 00 00 00 00 00');
WriteS('Нажмите последовательно скилы, которые будут использованы');
sendtoclient;
end;
'wrof':
begin
pck:='';
controlwrite:=False;
buf:=HStr('16 00 54 D5 FF 22 00 00 00 00 00 00 00');
WriteS('Скиллы записаны! Теперь нажмите скилл ,который будет использоваться для запуска');
sendtoclient;
controlstart:=True;
end;
'ason':
begin
pck:='';
control:=True;
buf:=HStr('16 00 54 D5 FF 22 00 00 00 00 00 00 00');
WriteS('AutoSkill: включен');
sendtoclient;
end;
'asof':
begin
pck:='';
control:=False;
buf:=HStr('16 00 54 D5 FF 22 00 00 00 00 00 00 00');
WriteS('AutoSkill: выключен');
sendtoclient;
end;
end;
if (pck[7]+ pck[9]=#$74+#$6D) then
begin
Timer.interval:=Int(StrToFloat(ReadS(11)));
buf:=HStr('16 00 54 D5 FF 22 00 00 00 00 00 00 00');
WriteS('задержка между скилами изменена');
sendtoclient;
pck:='';
end;
end;
end.

Управление

Копируем скрипт, ставим галочку и настраиваем его под своего чара черз команды (все их пишем в чат):

1. Пишем команду wron
2. По очереди нажимаем скиллы которые будем потом юзать в скрипте (например "издеваемся" на кукле или своем лучшем друге)
3. Как набрали все нужные скиллы, пишем команду wrof
3. После этого используем скилл, который будет активировать наш скрипт
4. по умолчанию, задержка между скиллами 150 мс, если хотите изменить, то пишем в чат tm230 (где вместо 230 пишем свое значение в мс)

Все, настройка завершена!

После настройки используем команды для запуска скрипта:

ason - включает использование AutoSkill
asof - выключает использование AutoSkill


Во время настройки, будут высвечиваться подсказки, так-что думаю не запутаетесь)

P.S. Есть недосток - так как все скиллы не записываются в файл, то скрипт нужно настраивать каждый раз после запуска:sceptic:

у меня такая темка!автоскилл юзает токо 2 последние а до этого нет(

Manoklya
09.06.2012, 15:53
На какую версию клиента работает?:omg:

Den86russ
09.06.2012, 19:00
На какую версию клиента работает?:omg:

2.7-3.0

kaktak111
11.06.2012, 07:07
Если допустим я записал все нужные скилы, делаю допустим 3 скила из 5, и цель отбегает из радиуса атаки, когда я подойду будет всёравно делаться 4 скилл, или всё таки 5-6 и т.д? от время зависит ? скилы пропускать не будет?

andrity
13.06.2012, 21:25
помогите настроить l2phx и етат скрипт под gamezaion 3.0

Anarhiya
22.06.2012, 04:09
Если допустим я записал все нужные скилы, делаю допустим 3 скила из 5, и цель отбегает из радиуса атаки, когда я подойду будет всёравно делаться 4 скилл, или всё таки 5-6 и т.д? от время зависит ? скилы пропускать не будет?
когда таргет уходит от радиуса атаки каст тож остаанаваливается или нет?!юзаешь то что забил для старта и все сначала!

`Daniel
03.07.2012, 20:09
У меня все равно вылетает, подскажите какой число скиллов должно быть что бы не вылетало ?

Mr.Phoenix
03.07.2012, 20:13
У меня все равно вылетает, подскажите какой число скиллов должно быть что бы не вылетало ?

Версию сервера скажите. Если 3.0, то попрощайтесь с пакетником.

`Daniel
03.07.2012, 20:14
Версию сервера скажите. Если 3.0, то попрощайтесь с пакетником.

Не не 2.7 )

Mr.Phoenix
03.07.2012, 21:13
Не не 2.7 )

Сервер не скажете? Мб там стоит такая "Защита" как на Рулезе? Невозможно использовать несколько Умений в секунду.
И сразу выкидывало с сервера.

beo18indus
03.07.2012, 21:14
автор молодец) работает. проверено на Awars.net

`Daniel
04.07.2012, 13:35
Сервер не скажете? Мб там стоит такая "Защита" как на Рулезе? Невозможно использовать несколько Умений в секунду.
И сразу выкидывало с сервера.

Вот именно на рулезе тестил )))
тогда автору спасибку ))

Anarhiya
04.07.2012, 14:21
Вот именно на рулезе тестил )))
тогда автору спасибку ))
только что тестил на рулезе автоскиллы когда юзаешь пишет соединение прерванно!:sad:

Vandamme
04.07.2012, 14:53
только что тестил на рулезе автоскиллы когда юзаешь пишет соединение прерванно!:sad:

Работает на Рулёзе! ток правильно надо пользоваться)))

там задержка по времени стоит между пакетами

`Daniel
05.07.2012, 19:52
Работает на Рулёзе! ток правильно надо пользоваться)))

там задержка по времени стоит между пакетами

Научи тогда )

nastja7978
06.07.2012, 15:01
на awars.net пишет не подготовлено умение

c-lavr
06.07.2012, 16:34
тайминг больше ставь) этот скрипт сложно назвать читом, скорее всего ботом - который облегчает кликанье мышкой

Добавлено через 2 минуты
могу сделать чтобы можно было сохранять настройки а также несколько начальных скилов, к котором можно "прикрепить" различные "продолжения"

`Daniel
06.07.2012, 19:52
тайминг больше ставь) этот скрипт сложно назвать читом, скорее всего ботом - который облегчает кликанье мышкой

Добавлено через 2 минуты
могу сделать чтобы можно было сохранять настройки а также несколько начальных скилов, к котором можно "прикрепить" различные "продолжения"

Мне кажется ненадо, зашёл раз настроил как тебе надо, непонравилось релонулся и всё

Anarhiya
06.07.2012, 21:46
Timer.OnTimer:=@OnTimer;
Timer.interval:=150
тут таймер менять надо?
что б на рулезе не вылетало!

`Daniel
07.07.2012, 11:35
тут таймер менять надо?
что б на рулезе не вылетало!

вот так tm230

Добавлено через 30 минут
я на рулезе на 300 задержку поставил и нормально

x-miskalin-x
15.07.2012, 22:34
14 и 15 байт в Пакете скила за что отвечает?
Кто-то может подсказать??? (Версия 2.7)
---

И из клиента когда формируется пакет на отправку на сервер - Данные берутся из скил.пака? (ну не считая таргета...) или ещё откуда-то...?

Devil9839
18.07.2012, 02:44
извините за глупый вопрос, но надо писать в игровой чат?)

Нубасикк
30.07.2012, 15:21
насчет лука: все кул токо чето не пашут скилы-стигмы, ну а так зашибись

rikosbog
31.07.2012, 05:00
нужно с профикшеным лаунчером или нет? и на юа робит кто проверял?

Vlad333999
21.08.2012, 14:02
У меня выдайот ошыбку типа не найдет файл baf.txt