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
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
Получилось вот так, никаких ошибок, но и таймер не работает !
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
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 если не будет работать то тебе можно попробовать взять мой добывающий модуль для своего скрипта.
При атаке, инвиза достаточно, а таймер не работает почему-то У меня есть другие копалки, с таймером, там все работает, но надо эту, потому-что она из скрипта выдернута, в который, если вставлять другую капалку, он перестает работать.