Page 1 of 1
Мининг, подправьте чуток.
Posted: 2013-10-17 02:14:44
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
Re: Мининг, подправьте чуток.
Posted: 2013-10-17 06:50:47
by Mirage
Sub mining()
VAR mx, my, mz, i, j, jor, ser, noto, n,
var waittime = 10000 ;
С какой целью требуется траймер?
Re: Мининг, подправьте чуток.
Posted: 2013-10-17 13:29:48
by Titan_Wild
Надо в скрипт его вставить, чтобы при копке в случае простоя, скрипт по истечению таймера, копал дальше.
Re: Мининг, подправьте чуток.
Posted: 2013-10-17 14:55:25
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
Re: Мининг, подправьте чуток.
Posted: 2013-10-17 15:09:45
by Titan_Wild
О спасибо большое, сейчас гляну что получиться.
только вес в коде вроде как есть уже
Code: Select all
next
if uo.weight > uo.str*4 then
return
endif
Re: Мининг, подправьте чуток.
Posted: 2013-10-17 15:36:27
by Titan_Wild
Что-то не получается его вставить никуда, везде ошибки выдает на LTimer,TrT...
Re: Мининг, подправьте чуток.
Posted: 2013-10-17 17:22:38
by Mirage
VAR mx, my, mz, i, j, jor, ser, noto, n, LTimer, TrT

Re: Мининг, подправьте чуток.
Posted: 2013-10-17 20:49:44
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
Получилось вот так, никаких ошибок, но и таймер не работает !

Re: Мининг, подправьте чуток.
Posted: 2013-10-17 20:56:12
by Mirage
так ты фига высоко его засунул
Вставляй прямо так как я написал - после использования инструмента.
PS у тебя скрипт тормозит потому что фразы не правильные. Либо не хватает английских фраз либо русские писал сам с опечатками.
Таймер надо бы добавить в верхний while но тут надо уже считать сколько там требуется времени. У меня принцип в копалке немного другой.
Re: Мининг, подправьте чуток.
Posted: 2013-10-17 21:29:49
by Titan_Wild
Нет с фразами все нормально, уже проверял, сейчас попробую сделать как ты сказал

Re: Мининг, подправьте чуток.
Posted: 2013-10-17 21:42:11
by Titan_Wild
Незнаю, все сделал как ты сказал, после инструментов вставил и в верхний while ставил и в нижний не работает таймер

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
Re: Мининг, подправьте чуток.
Posted: 2013-10-18 05:56:22
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 если не будет работать то тебе можно попробовать взять мой добывающий модуль для своего скрипта.
Re: Мининг, подправьте чуток.
Posted: 2013-10-18 08:31:19
by Titan_Wild
При атаке, инвиза достаточно, а таймер не работает почему-то

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