Code: Select all
sub main()
hide()
var mx, my, mz, i, j
mx = UO.GetX("self")
my = UO.GetY("self")
mz = UO.GetZ("self")
for i = mx+2 to mx+6
for j = my-6 to my+6
UO.Print("Now Fishing In: "+str(mx-i)+" "+str(my-j))
uo.deletejournal()
if UO.InJournal(":") and uo.injournal("Sea Serpent") then
uo.exec("terminate main")
uo.exec("exec killsea")
endif
uo.deletejournal()
if UO.InJournal(":") and uo.injournal("Water Elemental") then
uo.exec("terminate main")
uo.exec("exec killelem")
endif
UO.Waittargettile("1341", str(i), str(j), str(mz))
UO.Usetype("0x0DBF")
while not UO.InJournal("You pull") and not UO.InJournal("location") and not UO.InJournal("no fish") and not UO.InJournal("but fail") and not UO.InJournal("far away") and not UO.InJournal("in water")
wait(100)
wend
next
next
uo.sayu("Forward")
wait(6000)
uo.sayu("stop")
unloadc("0x4005B361")
uo.exec("exec main")
end sub
sub unloadc(container)
uo.canceltarget()
uo.ignorereset()
uo.findtype("-1","-1","backpack")
while uo.findcount()
uo.print(str(uo.findcount())+" left")
if (uo.getgraphic("finditem")<>"0x0DF0" and uo.getgraphic("finditem")<>"0x0E21" and uo.getgraphic("finditem")<>"0x1769" and uo.getgraphic("finditem")<>"0x176B" and uo.getgraphic("finditem")<>"0x0EFA") or uo.getquantity("finditem")>1 then
uo.moveitem("finditem","-1",container)
wait(200)
end if
uo.ignore("finditem")
uo.findtype("-1","-1","backpack")
wend
end sub
sub hide()
while NOT UO.Hidden()
UO.DeleteJournal()
uo.warmode(0)
UO.UseSkill('Stealth')
repeat
wait(100)
until UO.InJournal('You have hidden') OR UO.InJournal('seem to hide')
wend
wait(100)
end sub
sub killsea()
VAR LastTimer, Sea
UO.UnSetcatchbag()
LastTimer=UO.Timer()
UO.UseType('0x0DF0') ;weapon
wait(1000)
UO.UseType('0x0F60') ;shield
wait(500)
UO.DeleteJournal()
UO.Exec('warmode 1')
UO.FindType('0x0096',-1,'ground')
Sea=UO.GetSerial('finditem')
UO.Attack(Sea)
repeat
wait(1000)
If UO.Life<90 Then
repeat
UO.Bandageself()
wait(2500)
UO.Attack(Sea)
until UO.Life>=115
Endif
until UO.IsNPC(Sea)==0
wait(3000)
UO.Attack(Sea)
UO.FindType('0x0096',-1,'ground')
If UO.GetQuantity('finditem')>0 Then
wait(500)
UO.Attack(Sea)
killsea()
Endif
UO.Exec('warmode 0')
wait(1000)
UO.Print("Sdoh skotina!")
UO.SetEasyUO(99,'0')
LastTimer=UO.Timer()
if UO.Life<159 then
repeat
UO.BandageSelf()
wait(4000)
until UO.Life>159 OR LastTimer+300<UO.Timer()
UO.Print("Killing Done!")
uo.exec("exec main")
end sub
sub killelem()
VAR LastTimer, elem
UO.UnSetcatchbag()
LastTimer=UO.Timer()
UO.UseType('0x1B76') ;weapon
wait(1000)
UO.UseType('0x0F60') ;shield
wait(500)
UO.DeleteJournal()
UO.Exec('warmode 1')
UO.FindType('0x0010',-1,'ground')
Sea=UO.GetSerial('finditem')
UO.Attack(elem)
repeat
wait(1000)
If UO.Life<90 Then
repeat
UO.Bandageself()
wait(2500)
UO.Attack(elem)
until UO.Life>=115
Endif
until UO.IsNPC(elem)==0
wait(3000)
UO.Attack(elem)
UO.FindType('0x0010',-1,'ground')
If UO.GetQuantity('finditem')>0 Then
wait(500)
UO.Attack(elem)
killelem()
Endif
UO.Exec('warmode 0')
wait(1000)
UO.Print("Sdoh skotina!")
UO.SetEasyUO(99,'0')
LastTimer=UO.Timer()
if UO.Life<159 then
repeat
UO.BandageSelf()
wait(4000)
until UO.Life>159 OR LastTimer+300<UO.Timer()
UO.Print("Killing Done!")
uo.exec("exec main")
end sub
можно ли сделать так,чтобы журнал проверялся после каждого заброса?