Подскажите, пожалуйста, настряпал два скрипта, опять же с помощью RAWR (спасибо), но то и дело, что они перестают работать.
Код:
var obj: TL2NPC;
obj2: TL2Effect;
Enemy: TL2Live;
Begin
while 1<>2 do begin // бесконечный цикл
// этот кусок не трогаем
if User.Dead then // умер- вырубаем интерфейс, возврат в город и пауза 15 секунд
begin
Engine.FaceControl(0,false);
Engine.gohome;
delay(11000);
end;
// этот кусок не трогаем
//1 менять тут
// этот кусок - точки респа выбранной деревни их просто заменить на нужную вам
if user.inrange(117304,76318,-2670,250,150)
then
begin
Engine.MoveTo(117112,76808,-2672);
end;
if user.inrange(118229,74677,-2450,250,150)
then
begin
Engine.MoveTo(118069,75907,-2680);
Engine.MoveTo(117112,76808,-2672);
end;
if user.inrange(115683,77610,-2650,250,150)
then
begin
Engine.MoveTo(117112,76808,-2672);
end;
if user.inrange(115685,75072,-2550,250,150)
then
begin
Engine.MoveTo (117112,76808,-2672);
end;
if user.inrange(115861,75200,-2550,250,150)
then
begin
Engine.MoveTo(117112,76808,-2672);
end;
if user.inrange(117671,78998,-2210,250,150)
then
begin
Engine.MoveTo(117031,78908,-2256);
Engine.MoveTo(116718,78406,-2560);
Engine.MoveTo(116232,77389,-2704);
Engine.MoveTo(117112,76808,-2672);
end;
if user.inrange(116158,77443,-2660,250,150)
then
begin
Engine.MoveTo(117112,76808,-2672);
end;
if user.inrange(116127,76015,-2729,250,150)
then
begin
Engine.MoveTo(117112,76808,-2672);
end;
if user.inrange(115193,77594,-2670,250,150)
then
begin
Engine.MoveTo(115193,77594,-2704);
Engine.MoveTo(117112,76808,-2672);
end;
if user.inrange(119862,76603,-2272,250,150)
then
begin
Engine.MoveTo(119711,76592,-2272);
Engine.MoveTo(118444,76180,-2664);
Engine.MoveTo(117674,76110,-2712);
Engine.MoveTo(117056,76868,-2712);
Engine.MoveTo(117112,76808,-2672);
end;
if user.inrange(117189,78952,-2264,250,150)
then
begin
Engine.MoveTo(117029,78912,-2264);
Engine.MoveTo(116221,77560,-2712);
Engine.MoveTo(117056,76868,-2712);
Engine.MoveTo(117112,76808,-2672);
end;
//2 менять тут
// точка которая указаная в инренж этот точка в которую видут все точки респа,
//ее просто можно скопировать с конечной любой точки респа
if User.inrange(117112,76808,-2672, 3000, 150) then begin // бежим к ГК и тпишмся в руины
delay(2550);
Engine.FaceControl(0,true);
delay(20000);
Engine.FaceControl(0,false);
end;
if User.inrange(117112,76808,-2672, 3000, 150) then begin
Engine.MoveTo(117112,76808,-2672)
end;
// выделение нпц с ИД указанным в скобках,ид видны справа снизу в боте рядом с именем нпц
Engine.SetTarget(32864);
// открывем диалоговое окно и прожимаем строки ( у нас 4я строка)
Engine.DlgOpen();
Engine.DlgSel(4); // юг дв
end;
Engine.FaceControl(0,true); //сделал, чтобы по прилёту на спот, сразу запускался, но бывает, что он тупо не врубает интерфейс
delay(5000);
end.
Код:
var obj: TL2NPC;
obj2: TL2Effect;
Enemy: TL2Live;
Begin
while 1<>2 do begin // бесконечный цикл
// этот кусок не трогаем
if User.Dead then // умер- вырубаем интерфейс, возврат в город и пауза 15 секунд
begin
Engine.FaceControl(0,false);
Engine.gohome;
delay(5000);
end;
// этот кусок не трогаем
//1 менять тут
// этот кусок - точки респа выбранной деревни их просто заменить на нужную вам
if user.inrange(117304,76318,-2670,250,150)
then
begin
Engine.MoveTo(117104,76838,-2688);
end;
if user.inrange(118229,74677,-2450,250,150)
then
begin
Engine.MoveTo(118069,75907,-2680);
Engine.MoveTo(117104,76838,-2688);
end;
if user.inrange(115683,77610,-2650,250,150)
then
begin
Engine.MoveTo(117104,76838,-2688);
end;
if user.inrange(115685,75072,-2550,250,150)
then
begin
Engine.MoveTo(116949,76808,-2712);
end;
if user.inrange(115861,75200,-2550,250,150)
then
begin
Engine.MoveTo(116949,76808,-2712);
end;
if user.inrange(117671,78998,-2210,250,150)
then
begin
Engine.MoveTo(117031,78908,-2256);
Engine.MoveTo(116718,78406,-2560);
Engine.MoveTo(116232,77389,-2704);
Engine.MoveTo(117104,76838,-2688);
end;
if user.inrange(116158,77443,-2660,250,150)
then
begin
Engine.MoveTo(117104,76838,-2688);
end;
if user.inrange(116127,76015,-2729,250,150)
then
begin
Engine.MoveTo(117104,76838,-2688);
end;
if user.inrange(115193,77594,-2670,250,150)
then
begin
Engine.MoveTo(115193,77594,-2704);
Engine.MoveTo(117053,76874,-2712);
end;
if user.inrange(119862,76603,-2272,250,150)
then
begin
Engine.MoveTo(119711,76592,-2272);
Engine.MoveTo(118444,76180,-2664);
Engine.MoveTo(117674,76110,-2712);
Engine.MoveTo(117056,76868,-2712);
Engine.MoveTo(117056,76868,-2712);
end;
if user.inrange(117189,78952,-2264,250,150)
then
begin
Engine.MoveTo(117029,78912,-2264);
Engine.MoveTo(116221,77560,-2712);
Engine.MoveTo(117056,76868,-2712);
Engine.MoveTo(117056,76868,-2712);
end;
//2 менять тут
// точка которая указаная в инренж этот точка в которую видут все точки респа,
//ее просто можно скопировать с конечной любой точки респа
if User.inrange(117056,76868,-2712, 250, 150) then begin // бежим к ГК и тпишмся в руины
delay(2550);
// выделение нпц с ИД указанным в скобках,ид видны справа снизу в боте рядом с именем нпц
Engine.SetTarget(31223);
// открывем диалоговое окно и прожимаем строки ( у нас 13 строка)
Engine.DlgOpen();
Engine.DlgSel(13); // катакомб ведьм
if User.inrange(139960,79672,-5408, 300, 150) then begin
delay(2550);
Engine.SetTarget(31117);
Engine.DlgOpen();
Engine.DlgSel(1);
// эти точки ведут нас уже непосредственно на наш спот и по его достижению вкллючаем инфетфейс
Engine.MoveTo(140856, 80152, -5408);
Engine.MoveTo(140904, 80488, -5408);
Engine.MoveTo(141944, 80600, -5408);
Engine.MoveTo(141768, 81528, -5408);
Engine.MoveTo(141112, 81592, -5408);
Engine.MoveTo(141048, 81688, -5408); //иногда зависает где-то на середине маршрута
Engine.MoveTo(140808, 82440, -5408);
Engine.MoveTo(140792, 82584, -5408);
Engine.MoveTo(141304, 87048, -5408);
Engine.MoveTo(141320, 88584, -5408);
Engine.MoveTo(142520, 88616, -5408);
Engine.FaceControl(0,true);
end;
delay(550);
end; delay(550);
end;
end.