Code:
##################
##### Ìèíèíã v.1.0 #####
##################
sub maning()
var mx, my, mz, i, j, e, f
Uo.exec("set norbcheck 1") # òàê íóæíî, ñàì íåçíàþ çà÷åì #
uo.exec("set norbcalc 1") # òîæå =) #
e=1
f=0
uo.print('!!Выбери Лопату!! ')
uo.exec('addobject Shovel')
while uo.targeting()
wait(100)
wend
uo.print('!!Выбери Рунбук!! ')
uo.exec('addobject Runebook')
while uo.targeting()
wait(100)
wend
na4alo:
mx = UO.GetX("self")
my = UO.GetY("self")
mz = UO.GetZ("self")
UO.DeleteJournal()
for i = mx-4 to mx+4 # ðàäèóñ îêàïûâàíèÿ ïî õ #
for j = my-4 to my+4 # ðàäèóñ îêàïûâàíèÿ ïî ó #
while not UO.Hidden()
UO.Warmode("0")
uo.print("Hiding...")
UO.UseSkill("Hiding")
wait(4000)
wend
UO.Print("Mine in: "+str(mx-i)+" "+str(my-j))
# íèæå óáðàòü ìåññàãó ïî êîòîðîé âû íåõîòèòå ïåðåõîäèòü íà ñëåäóþùèé òàéë #
while not UO.InJournal("no ore here") and not UO.InJournal("location") and not UO.InJournal("far away") and not UO.InJournal("in rock") and not UO.InJournal("Iron Ore") and not UO.InJournal("Copper") and not UO.InJournal("Rusty Ore") and not UO.InJournal("but fail")and not UO.InJournal("Bronze Ore") and not UO.InJournal("Silver Ore") and not UO.InJournal("Gold Ore") and not UO.InJournal("Shadow Ore") and not UO.InJournal("Rose Ore") and not UO.InJournal("Agapite Ore") and not UO.InJournal("Bloodrock Ore") and not UO.InJournal("Verite Ore") and not UO.InJournal("Valorite Ore") and not UO.InJournal("Mytheril Ore") and not UO.InJournal("Blackrock Ore") and not UO.InJournal("Obsidian Ore") and not UO.InJournal("Plutonium Ore") and not UO.InJournal("Elvin Ore") and not UO.InJournal("Gordan Ore") and not UO.InJournal("Crystaline Ore") and not UO.InJournal("Steel Ore") and not UO.InJournal("Bloodcrest Ore") and not UO.InJournal("Dragon Ore") and not UO.InJournal("Krynite Ore") and not UO.InJournal("Vulcan Ore") and not UO.InJournal("Acid Ore") and not UO.InJournal("Aqua Ore") and not UO.InJournal("Eldar Ore") and not UO.InJournal("Sandrock Ore")
UO.DeleteJournal()
if uo.waiting() then
uo.canceltarget()
endif
UO.Waittargettile("1341", str(i), str(j), str(mz))
UO.Useobject("Shovel")
while not UO.InJournal("You put") and not UO.InJournal("heavy") and not UO.InJournal("location") and not UO.InJournal("no ore") and not UO.InJournal("but fail") and not UO.InJournal("far away") and not UO.InJournal("in rock")
wait (500)
if uo.injournal("heavy") or uo.dead() then
# íèæå ïîìåíÿòü íà ñâîþ ìåëîäèþ #
uo.playwav("d:\Games\Ultima Online 2D\element.wav")
Pause()
goto na4alo
endif
if uo.injournal("revealed") then # ñìîòðèì êàê ÏÊ îáëîìàëñÿ è óëûáàåìñÿ #
tut:
if uo.waiting() then
uo.canceltarget()
endif
Save()
e=1
# íèæå ïîìåíÿòü íà ñâîþ ìåëîäèþ #
uo.playwav("d:\Games\Ultima Online 2D\pk.wav")
while not UO.Hidden()
UO.Warmode("0")
uo.print("Hiding...")
UO.UseSkill("Hiding")
wait(4000)
wend
loot()
wait(180000) # ñòîêî âðåìåíè æäåì äîìà ó ñóíäóêà #
goto reccal
endif
wend
if uo.weight > 600 then # âåñ ïî êîòîðîìó ëåòèì äîìîé ïî ðóíáóêå #
goto end
endif
wend
###########################################################
##### Ïåðåõîä åñëè 20 ðàç íå íàéäåíà ðóäà âîêðóã ñåáÿ #####
###########################################################
if UO.InJournal("no ore here") then
f=f+1
endif
if f>20 then # 20 ðàç #
# íèæå ïîìåíÿòü íà ñâîþ ìåëîäèþ #
uo.playwav("d:\Games\Ultima Online 2D\perehod.wav")
f=0
if e==1 then
UO.Print("Go West 7 step.") # ñòîëüêî ðàç áóäåì øàãàòü íà East #
GoW()
if uo.injournal('attack') or uo.injournal('Por') then
goto tut
endif
GoW()
if uo.injournal('attack') or uo.injournal('Por') then
goto tut
endif
GoW()
if uo.injournal('attack') or uo.injournal('Por') then
goto tut
endif
GoW()
if uo.injournal('attack') or uo.injournal('Por') then
goto tut
endif
GoW()
if uo.injournal('attack') or uo.injournal('Por') then
goto tut
endif
GoW()
if uo.injournal('attack') or uo.injournal('Por') then
goto tut
endif
GoW()
if uo.injournal('attack') or uo.injournal('Por') then
goto tut
endif
e=2
goto na4alo
else
UO.Print("Go East 7 step.") # ñòîëüêî ðàç áóäåì øàãàòü íà East #
GoE()
if uo.injournal('attack') or uo.injournal('Por') then
goto tut
endif
GoE()
if uo.injournal('attack') or uo.injournal('Por') then
goto tut
endif
GoE()
if uo.injournal('attack') or uo.injournal('Por') then
goto tut
endif
GoE()
if uo.injournal('attack') or uo.injournal('Por') then
goto tut
endif
GoE()
if uo.injournal('attack') or uo.injournal('Por') then
goto tut
endif
GoE()
if uo.injournal('attack') or uo.injournal('Por') then
goto tut
endif
GoE()
if uo.injournal('attack') or uo.injournal('Por') then
goto tut
endif
e=1
goto na4alo
endif
endif
####################################################
UO.DeleteJournal()
next
next
goto na4alo
end:
if uo.waiting() then
uo.canceltarget()
endif
uo.exec("recall Runebook 21") # äîìîé ïî ðóíáóêó - â ïåðâîì ñëîòå ðóíà ê ñåéôó #
wait(11000)
e=1
loot()
wait(3000)
reccal:
uo.deletejournal()
if uo.waiting() then
uo.canceltarget()
endif
uo.exec("recall Runebook 94") # íàçàä òðóäèòüñÿ â øàõòå =), ðóíêà â 8-ì ñëîòå ðóíáóêè #
mx = UO.GetX("self")
my = UO.GetY("self")
wait(11000)
if not UO.GetX("self") <> mx and not UO.GetY("self") <> my then
goto reccal
endif
goto na4alo
end sub
##################################################
##### Ïåðåõîä íà 1 êëåòêó â íàïðàâëåíèè West #####
##################################################
sub GoW()
VAR walkwait=300
VAR x,y,dir=6
VAR key=36 ; Home key
x=UO.GetX()
y=UO.GetY()
while UO.GetDir()<>dir
UO.Press(key)
wait(walkwait)
If UO.GetDir()<>dir Then
CheckLag()
Endif
wend
UO.Press(key)
wait(walkwait)
If x==UO.GetX() AND y==UO.GetY() Then
CheckLag()
Endif
If UO.GetX()+1==x Then
return -1
Else
return 1
Endif
end sub
##################################################
##### Ïåðåõîä íà 1 êëåòêó â íàïðàâëåíèè East #####
##################################################
sub GoE()
VAR walkwait=300
VAR x,y,dir=2
VAR key=34 ; PgDown
x=UO.GetX()
y=UO.GetY()
while UO.GetDir()<>dir
UO.Press(key)
wait(walkwait)
If UO.GetDir()<>dir Then
CheckLag()
Endif
wend
UO.Press(key)
wait(walkwait)
If x==UO.GetX() AND y==UO.GetY() Then
CheckLag()
Endif
If UO.GetX()-1==x Then
return -1
Else
return 1
Endif
end sub
###########################
##### Ïðîâåðêà íà ëàã #####
###########################
sub CheckLag()
UO.DeleteJournal()
UO.Click('backpack')
repeat
wait(500)
until UO.InJournal('backpack')
end sub
#########################################
##### Óïàêîâêà ãîòîâîãî ïðîäóêòà =) #####
#########################################
sub loot() # ñêëàäûâàåì ðóäó â ñåéô #
if uo.waiting() then
uo.canceltarget()
endif
VAR a,Exit
; '0x401731D2'
VAR UnloadCont='0x4000E3AA' # ïîìåíÿòü íà ID ñâîåãî ñåéôà êóäà ñêëàäûâàåì ðóäó, óçíàòü åãî ìîæíî êîìàíäîé ',info' #
DIM Ore[5]
Ore[0]=0x19B9 ; 4 and more ore
Ore[1]=0x19B7 ; 1 ore
Ore[2]=0x19BA ; 2 ore
Ore[3]=0x19B8 ; 3 ore
UO.SetReceivingContainer(UnloadCont)
wait(500)
For a=0 to 3
Exit=0
repeat
UO.FindType(Ore[a])
if UO.GetQuantity('finditem')>0 then
UO.Grab('0','finditem')
wait(1500)
Else
Exit=1
endif
until Exit==1
Next
UO.UnSetReceivingContainer()
end sub
##################################################################################################
##### Àíòè ÏÊ - ìîæíî åùå íàïèñàòü åìó 'Ïîêà îëóõ' åñëè óñïååòå äî òîãî êàê îí Âàñ ðàñõàéäèò #####
##################################################################################################
sub Save() # ðâåì êîãòè ïî ðóíå ê ñåéôó è îòñèæèâàåìñÿ òàì, ïðåäâàðèòåëüíî ñëîæèâ â ñåéô ðóäó #
reccal:
uo.deletejournal()
if uo.waiting() then
uo.canceltarget()
endif
UO.DeleteJournal()
UO.FindType('0x1F14',-1,'my')
wait(200)
UO.Cast('Recall','finditem')
wait(5000)
if uo.injournal("fizzles") then
goto reccal
endif
end sub
###################################
##### Ïàóçà - ÷å õîòèì òâîðèì #####
###################################
sub Pause() # ïàóçà äëÿ òîãî ÷òîáû ðàñïðàâèòüñÿ ñ ýëåìåíòîì, õîòÿ ýòó ÷àñòü óìíûå ëþäè çàìåíÿþò íà àâòî óáèéñòâî ýëåìåíòà #
# ïàóçà ïðåêðàòèòüñÿ êîãäà âû ñêàæåòå GO áîëüøèìè áóêâàìè ñòðîãî! #
UO.DeleteJournal()
REPEAT
WAIT(3000)
UO.Print("Script paused")
UNTIL UO.InJournal('GO')
UO.Print("Script return")
endif
end sub
###########################
# íó âñå âïåðåä êîïàòü =) #
###########################