Форум работает в тестовом режиме. Все данные были перенесены со старого сайта 2018 года. Некоторая информация может быть недоступна, например вложения или хайды. Просьба сообщать о данных случаях через функционал "Жалоба", прямо под постом, где отсуствуют данные из хайда или проблемы с вложением.
Могут быть проблемы в "выкидыванием" с форума (слетевшей авторизацией). Нужно собрать статистику таких случаев.
Есть Тема, куда можете сообщить о проблемах с сайтом либо просто передать привет.

Требуется помощь

Рег
28 Сен 2017
Сообщения
2
Реакции
0
Подскажите, пожалуйста, настряпал два скрипта, опять же с помощью 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.
 
@f3ver, При разговоре с НПС добавь паузы, и после совершения ТП добавь паузу:

Engine.SetTarget(31117);
delay(500);
Engine.DlgOpen();
delay(500);
Engine.DlgSel(1); //совершили ТП
delay(1500); //в зависимости от того сколько уходит времени на прогрузку, на новых компах достаточно 1500);
и проверку что ты находится в точке, когда совершил ТП, и при движении по маршруту тоже добавь проверки (f User.inrange())

И нужно поработать бы над оформлением кода, а то глаза не воспринимают, да и из-за этого скорее всего ни кто не помог ещё.
 
Назад
Сверху