Мининг, подправьте чуток.

Anything and all.

Moderators: Murderator+, Murderator

Post Reply
Titan_Wild
Posts: 27
Joined: 2006-11-15 18:45:31
Location: in Moscow (west)

Мининг, подправьте чуток.

Post by Titan_Wild »

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

Code: Select all

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


Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Re: Мининг, подправьте чуток.

Post by Mirage »

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

С какой целью требуется траймер?
Titan_Wild
Posts: 27
Joined: 2006-11-15 18:45:31
Location: in Moscow (west)

Re: Мининг, подправьте чуток.

Post by Titan_Wild »

Надо в скрипт его вставить, чтобы при копке в случае простоя, скрипт по истечению таймера, копал дальше.
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Re: Мининг, подправьте чуток.

Post by Mirage »

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


Code: Select all

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
Titan_Wild
Posts: 27
Joined: 2006-11-15 18:45:31
Location: in Moscow (west)

Re: Мининг, подправьте чуток.

Post by Titan_Wild »

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

Code: Select all

 next
            if uo.weight > uo.str*4 then
               return
            endif
Titan_Wild
Posts: 27
Joined: 2006-11-15 18:45:31
Location: in Moscow (west)

Re: Мининг, подправьте чуток.

Post by Titan_Wild »

Что-то не получается его вставить никуда, везде ошибки выдает на LTimer,TrT...
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Re: Мининг, подправьте чуток.

Post by Mirage »

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

:lol:
Titan_Wild
Posts: 27
Joined: 2006-11-15 18:45:31
Location: in Moscow (west)

Re: Мининг, подправьте чуток.

Post by Titan_Wild »

Code: Select all

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:
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Re: Мининг, подправьте чуток.

Post by Mirage »

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

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

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

Таймер надо бы добавить в верхний while но тут надо уже считать сколько там требуется времени. У меня принцип в копалке немного другой.
Titan_Wild
Posts: 27
Joined: 2006-11-15 18:45:31
Location: in Moscow (west)

Re: Мининг, подправьте чуток.

Post by Titan_Wild »

Нет с фразами все нормально, уже проверял, сейчас попробую сделать как ты сказал :)
Titan_Wild
Posts: 27
Joined: 2006-11-15 18:45:31
Location: in Moscow (west)

Re: Мининг, подправьте чуток.

Post by Titan_Wild »

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

Code: Select all

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
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Re: Мининг, подправьте чуток.

Post by Mirage »

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


Code: Select all

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 если не будет работать то тебе можно попробовать взять мой добывающий модуль для своего скрипта.
Titan_Wild
Posts: 27
Joined: 2006-11-15 18:45:31
Location: in Moscow (west)

Re: Мининг, подправьте чуток.

Post by Titan_Wild »

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