Перейти к содержимому

Фотография
- - - - -

проблема со скриптом

не делает тп в город

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 4

#1
verevkin

verevkin
  • 2
    0
    Не выбрано
    • Гремлин
    • Пользователь
    ВКонтакте
    verevkin88

зделал скрип для фарма катов ДО все норм бафается и делает ТП фармит мобов по комнатам! НО! когда емерает не летит в город почему что я не так зделал?                                                      function MobInZone: boolean;

var
mob: integer;
begin
  result:= False;
  for mob:=0 to npclist.count-1 do begin
   if npclist.items(mob).inzone and not npclist.items(mob).dead then begin
     if npclist.items(mob).z > (user.z-400) then begin
      if npclist.items(mob).z < (user.z+400) then begin
      result:= true;
      end;
     end;
   end;
  end;
end;
 
begin
while 1<>2 do begin
 
 // этот кусок не трогаем
      if User.Dead then    // умер- вырубаем интерфейс, возврат в город и пауза 15 секунд
       begin
       Engine.FaceControl(0,false);
Engine.gohome;
delay(10000);
end;
// этот кусок не трогаем
 
Engine.MoveTo(83321, 148021, -3407);
Engine.SetTarget(35187);   // выделение нпц бафер
     delay(2000);
       Engine.DlgOpen(); // открывем диалоговое окно и прожимаем строки ( выбрать байпасс)
          delay(1000);
          Engine.BypassToServer('03', True);
             delay(1000);
          Engine.BypassToServer('06', True);
             delay(1000);
         Engine.MoveTo(83437, 147958, -3400);
         Delay(1000);
         Engine.SetTarget(30109);
         delay(2000);
         Engine.DlgOpen(); // открывем диалоговое окно и прожимаем строки ( выбрать байпасс)
          delay(1000);
         Engine.BypassToServer('08', True);
             delay(1000);
          Engine.BypassToServer('04', True);
             delay(1000);
        Engine.MoveTo(-18068, 13531, -4903);
        Engine.MoveTo(-17904, 13812, -4903);
        Engine.MoveTo(-15595, 13822, -4903);
        Engine.MoveTo(-15448, 13511, -4903);
        Engine.MoveTo(-10819, 13510, -4901);
        
 
 
 engine.LoadZone('ДО1.zmap'); // сохраняем пре-сеты комнат где будем фармить
 engine.FaceControl(0, true);
 while MobInZone do delay(500);
 engine.FaceControl(0, false);
 Engine.MoveTo(-10674, 13906, -4901);
 Engine.MoveTo(-10688, 14525, -4903);
 Engine.MoveTo(-11319, 14621, -4903);
 Engine.MoveTo(-11500, 15588, -4901);
 
 
 engine.LoadZone('ДО2.zmap');
 engine.FaceControl(0, true);
 while MobInZone do delay(500);
 engine.FaceControl(0, false);
 Engine.MoveTo(-13333, 15570, -4901);
 
 
 
 engine.LoadZone('ДО3.zmap');
 engine.FaceControl(0, true);
 while MobInZone do delay(500);
 engine.FaceControl(0, false);
 Engine.MoveTo(-13388, 15180, -4903);
 Engine.MoveTo(-13387, 13531, -4901);
 
  
 engine.LoadZone('ДО4.zmap');
 engine.FaceControl(0, true);
 while MobInZone do delay(500);
 engine.FaceControl(0, false);
 Engine.MoveTo(-10819, 13510, -4901);
 
    end;
end.
 

   


  • 0

#2
NickProstoTak

NickProstoTak
  • 66
    192
    Не выбрано
    • Lvl 31
    • Пользователь

while MobInZone do delay(500);

вот тут проблема


  • 0

#3
verevkin

verevkin
  • 2
    0
    Не выбрано
    • Гремлин
    • Пользователь
    ВКонтакте
    verevkin88

NickProstoTak, а что там не так подскажи?


  • 0

#4
ScythLab

ScythLab

Скрипт "зависает" в одной из этих строчек, когда перс умирает.

Проверку на смерть нужно делать в каждом "блоке" скрипта (либо вообще логику кардинально переделывать), а не только вначале главного цикла.


  • 0

Хобби: разработка непубличного бота для Lineage


#5
BreadfanLock

BreadfanLock

"пока моб в зоне и я живое"...Ну так-то там условий еще можно\нужно накидать разных. Проще создать функцию проверяющую состояние и возвращающую чето, ну и использовать

while mobInZone and чето Do...


  • 0
Не изготавливаю готовый код...



Темы с аналогичным тегами наработки, не делает тп в город

Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных

Rawr.pro - Сделано с для игроков.