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