Yoko
http://forum.yoko.com.ua/

Мининг, подправьте чуток.
http://forum.yoko.com.ua/viewtopic.php?f=20&t=17343
Page 1 of 1

Author:  Titan_Wild [ 2013-10-17 02:14:44 ]
Post subject:  Мининг, подправьте чуток.

Помогите вставить таймер-var waittime = 10000 в этот скрипт.

Code:
Sub mining()
   VAR mx, my, mz, i, j, jor, ser, noto, n
   Dim Ore[4]
   Ore[1] = '0x19B7'
   Ore[2] = '0x19BA'
   Ore[3] = '0x19B8'
   Ore[4] = '0x19B9'
   mx = UO.GetX("self")
   my = UO.GetY("self")
   mz = UO.GetZ("self")
   uo.set('finddistance','2')
   uo.findtype('0x000E', -1 ,'ground')
   if uo.FindCount() then
   else
      while not UO.Hidden()
         UO.Warmode("0")
         uo.print(" Прячемся...")
         UO.UseSkill("Hiding")
         wait(4000)
      wend
   end if
   for i = mx-4 to mx+4
      for j = my-4 to my+4
         UO.DeleteJournal()
         while not UO.Hidden()
            UO.Warmode("0")
            uo.print(" Прячемся...")
            UO.UseSkill("Hiding")
            wait(4000)
         wend
         if uo.InJournal('is attacking you|you') then
            invis()
         endif
         while not UO.InJournal("Туда Вам не дотянуться|Это слишком далеко отсюда|Тут не осталось руды|в шахте!|Раздолбив несколько|До туда|Вам не дотянуться|Wow!|A treasure!")
            UO.DeleteJournal()
            UO.Waittargettile("1341", str(i), str(j), str(mz))
            UO.Usetype("0x0E85")
            while not UO.InJournal("Туда Вам не дотянуться|Это слишком далеко отсюда|Тут не осталось руды|в шахте!|You put|fail to find|is attacking you|You have found|Раздолбив несколько|До туда|Вам не дотянуться|Wow!|A treasure!") and not uo.Dead()
               if uo.Dead() then
                  uo.playwav("C:\games\ultima online\alert.wav")
                  uo.exec('terminate all')
               endif
               wait(250)
            wend
            for jor = 0 to 9
               ser = uo.journalserial(jor)
               noto = uo.getnotoriety(ser)
               if noto <> 1 and noto <> 0 and not uo.getgraphic(ser)=='0x000E' and not uo.InJournal('Elemental') then
                  if uo.waiting() then
                     uo.canceltarget()
                  endif
                  invis()
                  return
               endif
            next
            if uo.weight > uo.str*4 then
               return
            endif
         wend
      next
   next
   uo.print(' Летим дамой ...')
end sub



Author:  Mirage [ 2013-10-17 06:50:47 ]
Post subject:  Re: Мининг, подправьте чуток.

Sub mining()
VAR mx, my, mz, i, j, jor, ser, noto, n,
var waittime = 10000 ; :wink:

С какой целью требуется траймер?

Author:  Titan_Wild [ 2013-10-17 13:29:48 ]
Post subject:  Re: Мининг, подправьте чуток.

Надо в скрипт его вставить, чтобы при копке в случае простоя, скрипт по истечению таймера, копал дальше.

Author:  Mirage [ 2013-10-17 14:55:25 ]
Post subject:  Re: Мининг, подправьте чуток.

Так это не так делается :)


Code:
var TrWeight = 600 ; максимальный вес засунуть куда нибудь вверх





  ; ************ Triger ************
    LTimer=UO.Timer()
    TrT = UO.Timer() > LTimer + 60; !!! 60/10 = 6 sec !!!
    TrWeight = UO.Weight
    TrW = UO.Weight <> TrWeight
  ; ********************************
            while not ( TrT  || TrW || UO.Dead() || UO.InJournal("дотянуться|далеко|не осталось|шахте|ou put|attacking you|found|несколько|туда|дотянуться|Wow|treasure))
               if uo.Dead() then
                  uo.playwav("C:\games\ultima online\alert.wav")
                  uo.exec('terminate all')
               endif
               if TrW then  ; перевес - остановка
                   uo.exec('terminate all')
               endif
               wait(250)
            wend

Author:  Titan_Wild [ 2013-10-17 15:09:45 ]
Post subject:  Re: Мининг, подправьте чуток.

О спасибо большое, сейчас гляну что получиться.
только вес в коде вроде как есть уже

Code:
 next
            if uo.weight > uo.str*4 then
               return
            endif

Author:  Titan_Wild [ 2013-10-17 15:36:27 ]
Post subject:  Re: Мининг, подправьте чуток.

Что-то не получается его вставить никуда, везде ошибки выдает на LTimer,TrT...

Author:  Mirage [ 2013-10-17 17:22:38 ]
Post subject:  Re: Мининг, подправьте чуток.

VAR mx, my, mz, i, j, jor, ser, noto, n, LTimer, TrT

:lol:

Author:  Titan_Wild [ 2013-10-17 20:49:44 ]
Post subject:  Re: Мининг, подправьте чуток.

Code:
Sub mining()
   VAR mx, my, mz, i, j, jor, ser, noto, n, TrT, LTimer, TrW
        var TrWeight = 730
   Dim Ore[4]
   Ore[1] = '0x19B7'
   Ore[2] = '0x19BA'
   Ore[3] = '0x19B8'
   Ore[4] = '0x19B9'
   
   LTimer=UO.Timer()
   TrT = UO.Timer() > LTimer + 60; !!! 60/10 = 6 sec !!!
   TrWeight = UO.Weight
   TrW = UO.Weight <> TrWeight
   mx = UO.GetX("self")
   my = UO.GetY("self")
   mz = UO.GetZ("self")
   uo.set('finddistance','2')
   uo.findtype('0x000E', -1 ,'ground')
   if uo.FindCount() then
   else
      while not UO.Hidden()
         UO.Warmode("0")
         uo.print(" Прячемся...")
         UO.UseSkill("Hiding")
         wait(4000)
      wend
   end if
   for i = mx-3 to mx+3
      for j = my-3 to my+3
         UO.DeleteJournal()
         while not UO.Hidden()
            UO.Warmode("0")
            uo.print(" Прячемся...")
            UO.UseSkill("Hiding")
            wait(4000)
         wend
         if uo.InJournal('is attacking you|you') then
            invis()
         endif
         while not UO.InJournal("Туда Вам не дотянуться|Это слишком далеко отсюда|Тут не осталось руды|в шахте!|Раздолбив несколько|До туда|Вам не дотянуться|Wow!|A treasure!")
            UO.DeleteJournal()
            UO.Waittargettile("1339", str(i), str(j), str(mz))
            UO.Usetype("0x0E85")
            while not ( TrT || TrW || UO.Dead() ||  UO.InJournal("Туда Вам не дотянуться|Это слишком далеко отсюда|Тут не осталось руды|в шахте!|You put|fail to find|is attacking you|You have found|Раздолбив несколько|До туда|Вам не дотянуться|Wow!|A treasure!")) and not uo.Dead()
               if uo.Dead() then
                  uo.playwav("C:\games\ultima online\alert.wav")
                  uo.exec('terminate all')
               endif
               if TrW then  ; перевес - остановка
                  uo.exec('terminate all')
               endif
               wait(250)
            wend
            for jor = 0 to 9
               ser = uo.journalserial(jor)
               noto = uo.getnotoriety(ser)
               if noto <> 1 and noto <> 0 and not uo.getgraphic(ser)=='0x000E' and not uo.InJournal('Elemental') then
                  if uo.waiting() then
                     uo.canceltarget()
                  endif
                  invis()
                  return
               endif
            next
         wend
      next
   next
   uo.print(' Летим дамой ...')
end sub



Получилось вот так, никаких ошибок, но и таймер не работает ! :cry: :cry:

Author:  Mirage [ 2013-10-17 20:56:12 ]
Post subject:  Re: Мининг, подправьте чуток.

так ты фига высоко его засунул :)

Вставляй прямо так как я написал - после использования инструмента.

PS у тебя скрипт тормозит потому что фразы не правильные. Либо не хватает английских фраз либо русские писал сам с опечатками.

Таймер надо бы добавить в верхний while но тут надо уже считать сколько там требуется времени. У меня принцип в копалке немного другой.

Author:  Titan_Wild [ 2013-10-17 21:29:49 ]
Post subject:  Re: Мининг, подправьте чуток.

Нет с фразами все нормально, уже проверял, сейчас попробую сделать как ты сказал :)

Author:  Titan_Wild [ 2013-10-17 21:42:11 ]
Post subject:  Re: Мининг, подправьте чуток.

Незнаю, все сделал как ты сказал, после инструментов вставил и в верхний while ставил и в нижний не работает таймер :cry:

Code:
Sub mining()
   VAR mx, my, mz, i, j, jor, ser, noto, n, TrT, LTimer, TrW
        var TrWeight = 730
   Dim Ore[4]
   Ore[1] = '0x19B7'
   Ore[2] = '0x19BA'
   Ore[3] = '0x19B8'
   Ore[4] = '0x19B9'
   
   mx = UO.GetX("self")
   my = UO.GetY("self")
   mz = UO.GetZ("self")
   uo.set('finddistance','2')
   uo.findtype('0x000E', -1 ,'ground')
   if uo.FindCount() then
   else
      while not UO.Hidden()
         UO.Warmode("0")
         uo.print(" Прячемся...")
         UO.UseSkill("Hiding")
         wait(4000)
      wend
   end if
   for i = mx-3 to mx+3
      for j = my-3 to my+3
         UO.DeleteJournal()
         while not UO.Hidden()
            UO.Warmode("0")
            uo.print(" Прячемся...")
            UO.UseSkill("Hiding")
            wait(4000)
         wend
         if uo.InJournal('is attacking you|you') then
            invis()
         endif
         while not UO.InJournal("Туда Вам не дотянуться|Это слишком далеко отсюда|Тут не осталось руды|в шахте!|Раздолбив несколько|До туда|Вам не дотянуться|Wow!|A treasure!")
            UO.DeleteJournal()
            UO.Waittargettile("1339", str(i), str(j), str(mz))
            UO.Usetype("0x0E85")
              LTimer=UO.Timer()
   TrT = UO.Timer() > LTimer + 150; !!! 60/10 = 6 sec !!!
   TrWeight = UO.Weight
   TrW = UO.Weight <> TrWeight
            while not ( TrT || TrW || UO.Dead() ||  UO.InJournal("Туда Вам не дотянуться|Это слишком далеко отсюда|Тут не осталось руды|в шахте!|You put|fail to find|is attacking you|You have found|Раздолбив несколько|До туда|Вам не дотянуться|Wow!|A treasure!")) and not uo.Dead()
               if uo.Dead() then
                  uo.playwav("C:\games\ultima online\alert.wav")
                  uo.exec('terminate all')
               endif
               if TrW then  ; перевес - остановка
                  uo.exec('terminate all')
               endif
               wait(250)
            wend
            for jor = 0 to 9
               ser = uo.journalserial(jor)
               noto = uo.getnotoriety(ser)
               if noto <> 1 and noto <> 0 and not uo.getgraphic(ser)=='0x000E' and not uo.InJournal('Elemental') then
                  if uo.waiting() then
                     uo.canceltarget()
                  endif
                  invis()
                  return
               endif
            next
         wend
      next
   next
   uo.print(' Летим дамой ...')
end sub

Author:  Mirage [ 2013-10-18 05:56:22 ]
Post subject:  Re: Мининг, подправьте чуток.

Так давай по кускам разбирать а то у тебя очень запутанный способ убегания от элементалей и ПК.


Code:
Sub mining()
   VAR mx, my, mz, i, j, jor, ser, noto, n, LTimer, TrT1, TrT2
   VAR allmsg = 'lemental|Wow|treasure|table|attacking you|%|destroyed|broke|useable|put the|is nothing here to mine|Wthere do you|have no line|mining elsewhere|too far away|so close to yourself|Logs|nothing|ou hack at the tree|no logs|ou can|reach this|hat is too far away|do much|t appears immune to your blow|cannot|fishing elsewhere|too far away|pull out|anything|no fish|0xAD00|0xA867|0xA2DE|0xAD03|0x5DE0|0x5DE1|0x5DE2|0x5DE3|0x5DE4|0x5DE5|0x5DE6|0x5DE7|выкопали|Вы положили|Вам не удалось|У вас нет|ничего|Тут ничего|Попробуйте|атакует|положили|древесина кончилась|дрова|ударили по дереву|ут нечего рубить|ы не можете до этого достать|ерево слишком далеко|то кажется свободным для вашего удара|поймали|не получилось|нету рыбы|месте|далеко|вытащили удочку'
   VAR endmsg = '%|destroyed|is nothing here to mine|have no line|Try mining elsewhere|too far away|so close to yourself|nothing|no logs|ou can|cannot|fishing elsewhere|no fish|0xAD00|0xA867|0xA2DE|Тут ничего|нет руды|У вас нет|Попробуйте|древесина кончилась|ут нечего рубить|ы не можете до этого достать|ерево слишком далеко|свободным для вашего удара|нету рыбы|в другом месте|далеко|вытащили удочку'
   Dim Ore[4]
   Ore[1] = '0x19B7'
   Ore[2] = '0x19BA'
   Ore[3] = '0x19B8'
   Ore[4] = '0x19B9'
   mx = UO.GetX("self")
   my = UO.GetY("self")
   mz = UO.GetZ("self")
   uo.set('finddistance','2')
   for i = mx-4 to mx+4
      for j = my-4 to my+4
         UO.DeleteJournal()
         while not ( TrT  || UO.Dead() || UO.InJournal( endmsg ) )  ; пока не пройдет 12 секунд или не закончит копать
            UO.DeleteJournal()
            UO.Waittargettile("1341", str(i), str(j), str(mz))
            UO.Usetype("0x0E85")
            LTimer=UO.Timer()
            TrT1 = UO.Timer() > LTimer + 60; !!! 60/10 = 6 sec !!!
            TrT2 = UO.Timer() > LTimer + 120; !!! 120/10 = 12 sec !!!
            while not ( TrT  || UO.Dead() || UO.InJournal( allmsg ) )   ; пока не пройдет 6 секунд или не любая фраза из журнала.
               if uo.Dead() then
                  uo.playwav("C:\games\ultima online\alert.wav")
                  uo.exec('terminate all')
               endif
               if uo.weight > uo.str*4 then
                  return
               endif
               wait(250)
            wend
         wend
      next
   next
   uo.print(' Летим дамой ...')
end sub

Вот это копалка БЕЗ убегания от плохишей. Протестируй, а потом опиши что именно ты хочешь чар делал при атаке/элементале/ПК.

PS если не будет работать то тебе можно попробовать взять мой добывающий модуль для своего скрипта.

Author:  Titan_Wild [ 2013-10-18 08:31:19 ]
Post subject:  Re: Мининг, подправьте чуток.

При атаке, инвиза достаточно, а таймер не работает почему-то :cry: У меня есть другие копалки, с таймером, там все работает, но надо эту, потому-что она из скрипта выдернута, в который, если вставлять другую капалку, он перестает работать.

Page 1 of 1 All times are UTC+02:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/