Page 1 of 1

ходилка в скрипте на мининг сбивается.

Posted: 2007-01-25 19:44:07
by Sir XAOC
Взял с форума скрипт на мининг, немного его доделал, чтобы чар реколился домой, выкладывал руду и прыгал назад в шахту. Такая вот проблема возникла: оставляю чара например на ночь копать, скрипт сбивается. чар просто останавливается, и стоит на месте. по-моему происходит это когда в журнале уо появляется какое нибудь постороннее сообщение. приведен та часть скрипта, во время выполнения которой чар встаёт на месте:
Код:

Code: Select all

Sub mine_spot() 
   HideInMine() 
   While UO.InJournal("There is no")==0 
   UO.Print("Mining time!") 
   UO.DeleteJournal() 
   UO.WaitTargetTile("1339",STR(UO.GetX()),STR(UO.GetY()),"0") 
   UO.UseType("pickaxe") 
   Repeat 
      Wait(200) 
      Until UO.InJournal("You put") OR UO.InJournal("There is no") OR UO.injournal("You loosen") 
   Wend 
   if uo.weight>=maxWeight then 
         mark("rune_Temp") 
         recall("rune_Home") 
         unload() 
         load() 
         recall("rune_Temp") 
      endif 
   return 0 
end sub 
 
может кто либо знает в чём дело? пробовал добавить таймер, всё равно иногда останавливается .

Posted: 2007-01-26 08:07:26
by Savage
Здесь все норм, не там ищешь.

Posted: 2007-01-26 09:50:49
by GAUHAR
А какое сообщение ты считаешь посторонним?
Посмотри все сообщения при добыче руды. У меня они, например, такие:
1. Добыча еще возможна.
You loosen some rocks but fail to find any useable ore
You put the
2. Добыча не возможна.
There is no ore here to mine
Try mining in rock
That is too far away
You have no line of sight to that location
3. Ну а это элементаль.
OOPS !!! It's Ore Elemental !!!

Code: Select all

Sub mine_spot() 
   HideInMine() 
   while not UO.InJournal("no ore here") and not UO.InJournal("location") and not UO.InJournal("far away") and not UO.InJournal("in rock")
      UO.Print("Mining time!") 
      UO.DeleteJournal() 
      UO.WaitTargetTile("1339",STR(UO.GetX()),STR(UO.GetY()),"0") 
      UO.UseType("pickaxe") 
      while not UO.InJournal("You put") and not UO.InJournal("location") and not UO.InJournal("no ore here") and not UO.InJournal("loosen some rocks") and not UO.InJournal("too far away") and not UO.InJournal("mining in rock")
         wait(100)
      wend 
   wend 
   if uo.weight>=maxWeight then 
      mark("rune_Temp") 
      recall("rune_Home") 
      unload() 
      load() 
      recall("rune_Temp") 
   endif 
   return 0 
endsub

Posted: 2007-01-26 12:39:45
by Savage
Эти:

Code: Select all

Try mining in rock 
That is too far away 
You have no line of sight to that location 
предложенные сообщения не нужны. Внимательнее смотрим код. Чел копает под собой.