Доброго времени суток!
Вот на днях приобрел эту чудо программу адреналин, можете поздравить меня.
При использовании сразу наткнулся на небольшой недостаток в интерфейсе, а именно: приходиться пилить скрипты, что бы наш воин после окончание баффа и смерти бегал на поле битвы и продолжал крабить мобасей.
Из того что было на разных форумах и прочтённой информации сварганил скрипт ("Я его слепила из того что было, а потом взяла и полюбила"), представьте он даже запускается без ошибок и почти все в нём исполняется /
А вот то что не исполняется, так это когда наш джедай бежит на ребафф в определённую точку, он не отбивается от прицепившихся мобов и дохнет на ребаффе, собака, ты @.
Вот сам скрипт:
Скрипт делал почти с нуля, логико интуитивным методом и потерянными процентами джедая
Как сделать что бы при беге на точку ребаффа он отгатил всех мобов прицепившехся на хвост?
Вот этот кусок кода я нашёл на какому то форуме, но что то он не работает, или по крайне мере я не заметил этого, так как падал от мобов по приходу на точку ребаффа.
if (not User.Target.Dead) and (User.target <> nil) then //Отбиваться от мобов по пути
begin
Engine.Attack;
delay(1000);
end;
if (User.Target.Dead) and (User.target <> nil) then
Возможно вы мне подкинете каких то идеё как это реализовать, возможно этот скрипт можно вообще проще сделать в 2 раза короче и проще?
Заранее благодарен!
Вот на днях приобрел эту чудо программу адреналин, можете поздравить меня.
При использовании сразу наткнулся на небольшой недостаток в интерфейсе, а именно: приходиться пилить скрипты, что бы наш воин после окончание баффа и смерти бегал на поле битвы и продолжал крабить мобасей.
Из того что было на разных форумах и прочтённой информации сварганил скрипт ("Я его слепила из того что было, а потом взяла и полюбила"), представьте он даже запускается без ошибок и почти все в нём исполняется /
А вот то что не исполняется, так это когда наш джедай бежит на ребафф в определённую точку, он не отбивается от прицепившихся мобов и дохнет на ребаффе, собака, ты @.
Вот сам скрипт:
var obj: TL2NPC;
obj2: TL2Effect;
Enemy: TL2Live;
buff: TL2buff;
procedure buffOK; //Процедура проверки ребаффа и включение интерфейса (автоатака)
begin
if User.Buffs.ById(4699,buff) and (Buff.EndTime>100000) and user.inrange(-51928, 80200, -4720,300,50) then
Engine.Facecontrol(1,True);
delay(1000);
end;
procedure GoGk; //Процедура пути к ГК и разговор с ним
begin
if user.inrange (10456,16971,-4610,25000,500) then
begin
engine.MOVETO(10456,16971,-4610);
engine.MOVETO(10055,16586,-4601);
engine.MOVETO(9690,15563,-4601);
Engine.SetTarget(30134);
Engine.DlgOpen;
Engine.DlgSel(2);
Engine.DlgSel(11);
delay(6000);
end;
end;
procedure RebuffOnTheVillage; //Процедура ребаффа в городе
begin
if not User.Buffs.ById(176, buff) or (Buff.EndTime<60000) and //Проверка на наличие баффа или остаток времени этого баффа
user.inrange (11320, 16888, -4640,50000,5000) then
delay(15000);
GoGK; //Процедура пути к ГК и разговор с ним
end;
procedure RebuffOnTheFarmZone; //Процедура ребаффа на месте фарма
begin
if not User.Buffs.ById(176, buff) or (Buff.EndTime<60000) then //Проверка на наличие баффа или остаток времени этого баффа
Engine.Facecontrol(1,False); //Вырубаем интерфейс №1 (автоатака)
delay(1000);
if user.inrange (-50056, 81192, -4720,1000,500) then //Путь к месту ребаффа
begin
engine.moveto(-51928, 81176, -4720);
engine.moveto(-51928, 80200, -4720);
end;
if user.inrange (-51928, 81912, -4720,400,300) then
begin
engine.moveto(-51928, 81176, -4720);
engine.moveto(-51928, 80200, -4720);
end; //Путь к месту ребаффа
delay(60000); //Даём время на путь к месту ребаффа и на сам ребафф
buffOK; //Процедура проверки наличия последего баффа
print('Ждем подтверждения');
end;
begin //Зацикленное тело
while User.Level < 80 do //Зациклен (уровень персонажа ниже 80)
begin //Проверка на смерть
if User.Dead then
begin
Engine.gohome;
Engine.FaceControl(1,false);
delay(15000);
end; //Проверка на смерть
if (not User.Target.Dead) and (User.target <> nil) then //Отбиваться от мобов по пути
begin
Engine.Attack;
delay(1000);
end;
if (User.Target.Dead) and (User.target <> nil) then
begin
Engine.CancelTarget;
delay(1000);
end; //Отбиваться от мобов по пути
if not User.Buffs.ById(176, buff) or (Buff.EndTime<60000) then //Проверка на ребаффа в катах
begin
RebuffOnTheFarmZone; //Процедура ребаффа на фарм зоне
end;
if not User.Buffs.ById(176, buff) or (Buff.EndTime<60000) and //Проверка на ребаффа в городе
user.inrange (11320, 16888, -4640,50000,5000) then //Проверка на ребаффа в городе
begin
RebuffOnTheVillage; //Процедура ребаффа в городе
end;
if user.inrange (10456,16971,-4610,25000,500) then //Проверка наличие персонажа в городе
begin
goGK; //Процедура пути к ГК и разговор с ним
end;
if user.InRange(-53034, 79073, -4720,300,300) then //Телепорт в катах
begin
Engine.MoveTo(-53034, 79073, -4720);
Engine.MoveTo(-52792, 79096, -4720);
Engine.SetTarget(31099);
Engine.DlgOpen;
Engine.DlgSel(1);
end; //Телепорт в катах
if user.InRange(-52254, 79103, -4720,300,300) then //Бежим к нужной комнате
begin
Engine.MoveTo(-52254, 79103, -4720);
Engine.MoveTo(-51944, 79112, -4720);
Engine.MoveTo(-51928, 79880, -4720);
Engine.MoveTo(-51928, 80472, -4720);
Engine.FaceControl(1,true);
delay(6000);
end; //Бежим к нужной комнате
end;
end.
obj2: TL2Effect;
Enemy: TL2Live;
buff: TL2buff;
procedure buffOK; //Процедура проверки ребаффа и включение интерфейса (автоатака)
begin
if User.Buffs.ById(4699,buff) and (Buff.EndTime>100000) and user.inrange(-51928, 80200, -4720,300,50) then
Engine.Facecontrol(1,True);
delay(1000);
end;
procedure GoGk; //Процедура пути к ГК и разговор с ним
begin
if user.inrange (10456,16971,-4610,25000,500) then
begin
engine.MOVETO(10456,16971,-4610);
engine.MOVETO(10055,16586,-4601);
engine.MOVETO(9690,15563,-4601);
Engine.SetTarget(30134);
Engine.DlgOpen;
Engine.DlgSel(2);
Engine.DlgSel(11);
delay(6000);
end;
end;
procedure RebuffOnTheVillage; //Процедура ребаффа в городе
begin
if not User.Buffs.ById(176, buff) or (Buff.EndTime<60000) and //Проверка на наличие баффа или остаток времени этого баффа
user.inrange (11320, 16888, -4640,50000,5000) then
delay(15000);
GoGK; //Процедура пути к ГК и разговор с ним
end;
procedure RebuffOnTheFarmZone; //Процедура ребаффа на месте фарма
begin
if not User.Buffs.ById(176, buff) or (Buff.EndTime<60000) then //Проверка на наличие баффа или остаток времени этого баффа
Engine.Facecontrol(1,False); //Вырубаем интерфейс №1 (автоатака)
delay(1000);
if user.inrange (-50056, 81192, -4720,1000,500) then //Путь к месту ребаффа
begin
engine.moveto(-51928, 81176, -4720);
engine.moveto(-51928, 80200, -4720);
end;
if user.inrange (-51928, 81912, -4720,400,300) then
begin
engine.moveto(-51928, 81176, -4720);
engine.moveto(-51928, 80200, -4720);
end; //Путь к месту ребаффа
delay(60000); //Даём время на путь к месту ребаффа и на сам ребафф
buffOK; //Процедура проверки наличия последего баффа
print('Ждем подтверждения');
end;
begin //Зацикленное тело
while User.Level < 80 do //Зациклен (уровень персонажа ниже 80)
begin //Проверка на смерть
if User.Dead then
begin
Engine.gohome;
Engine.FaceControl(1,false);
delay(15000);
end; //Проверка на смерть
if (not User.Target.Dead) and (User.target <> nil) then //Отбиваться от мобов по пути
begin
Engine.Attack;
delay(1000);
end;
if (User.Target.Dead) and (User.target <> nil) then
begin
Engine.CancelTarget;
delay(1000);
end; //Отбиваться от мобов по пути
if not User.Buffs.ById(176, buff) or (Buff.EndTime<60000) then //Проверка на ребаффа в катах
begin
RebuffOnTheFarmZone; //Процедура ребаффа на фарм зоне
end;
if not User.Buffs.ById(176, buff) or (Buff.EndTime<60000) and //Проверка на ребаффа в городе
user.inrange (11320, 16888, -4640,50000,5000) then //Проверка на ребаффа в городе
begin
RebuffOnTheVillage; //Процедура ребаффа в городе
end;
if user.inrange (10456,16971,-4610,25000,500) then //Проверка наличие персонажа в городе
begin
goGK; //Процедура пути к ГК и разговор с ним
end;
if user.InRange(-53034, 79073, -4720,300,300) then //Телепорт в катах
begin
Engine.MoveTo(-53034, 79073, -4720);
Engine.MoveTo(-52792, 79096, -4720);
Engine.SetTarget(31099);
Engine.DlgOpen;
Engine.DlgSel(1);
end; //Телепорт в катах
if user.InRange(-52254, 79103, -4720,300,300) then //Бежим к нужной комнате
begin
Engine.MoveTo(-52254, 79103, -4720);
Engine.MoveTo(-51944, 79112, -4720);
Engine.MoveTo(-51928, 79880, -4720);
Engine.MoveTo(-51928, 80472, -4720);
Engine.FaceControl(1,true);
delay(6000);
end; //Бежим к нужной комнате
end;
end.
Скрипт делал почти с нуля, логико интуитивным методом и потерянными процентами джедая
Как сделать что бы при беге на точку ребаффа он отгатил всех мобов прицепившехся на хвост?
Вот этот кусок кода я нашёл на какому то форуме, но что то он не работает, или по крайне мере я не заметил этого, так как падал от мобов по приходу на точку ребаффа.
if (not User.Target.Dead) and (User.target <> nil) then //Отбиваться от мобов по пути
begin
Engine.Attack;
delay(1000);
end;
if (User.Target.Dead) and (User.target <> nil) then
Возможно вы мне подкинете каких то идеё как это реализовать, возможно этот скрипт можно вообще проще сделать в 2 раза короче и проще?
Заранее благодарен!