Page 1 of 1

Fishing помоги дописать

Posted: 2007-04-28 11:08:32
by Ready
Уважаемые помоги сделать так что бы погда появлялся
Sea Serpent
его убивал , он у меня тупо рыбачит дальше ( не одевает оружее и щиток )

Code: Select all

sub main() 
uo.deletejournal()
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 
if UO.InJournal(":") and uo.injournal("Sea Serpent") then 
uo.exec("terminate main; exec killsea")
endif 
if UO.InJournal(":") and uo.injournal("Water Elemental") then 
uo.exec("terminate main; exec killelem")
endif 
UO.Print("Now Fishing In: "+str(mx-i)+" "+str(my-j)) 
UO.Waittargettile("1341", str(i), str(j), str(mz)) 
UO.Usetype("0x0DBF") 
uo.deletejournal()
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)
if uo.life < 60 then 
  uo.closeuo() 
endif  
wend
next
next
uo.sayu("back")
wait(6000)
uo.sayu("stop")
unloadc("0x400228C7")
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")<>"0x13FE" and uo.getgraphic("finditem")<>"0x13F6" and uo.getgraphic("finditem")<>"0x0E21" and uo.getgraphic("finditem")<>"0x1B76" and uo.getgraphic("finditem")<>"0x0EFA") or uo.getquantity("finditem")>500 then
uo.moveitem("finditem","-1",container)
wait(200)
end if
uo.ignore("finditem")
uo.findtype("-1","-1","backpack")
wend
end sub

sub killsea() 

If UO.Count('0x0E21', '0x0000')<50 then 
UO.FindType('0x0E21', '0x0000', 0x4005B361) 
UO.Grab("50","finditem") 
Wait(1100)
endif 

   VAR LastTimer, Sea 
    
   UO.UnSetcatchbag() 
   LastTimer=UO.Timer() 
    
   uo.usetype('0x13FE') ;weapon 
   wait(1100)
   uo.waittargetground()
   UO.UseType('0x1B78')  ;shield 
   wait(1100) 

   UO.DeleteJournal() 
   UO.Exec('warmode 1') 

   UO.FindType('0x0096',-1,'ground') 
   Sea=UO.GetSerial('finditem') 
   UO.Attack(Sea) 
   repeat 
      wait(1100) 
      If UO.Life<100 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(1100) 
      UO.Attack(Sea) 
      killsea() 
   Endif 

   UO.Exec('warmode 0') 
   wait(1100) 

   wait(1100)
  uo.waittargetobject("lastcorpse")
  uo.usetype('0x13F6')
  wait(500)
  uo.findtype("-1","-1","lastcorpse") 
  while uo.findcount() 
    uo.moveitem("finditem") 
    uo.ignore("finditem") 
    wait(1200) 
    uo.findtype("-1","-1","lastcorpse") 
  wend 
wait(500)
uo.exec("exec main")
end sub 

sub killelem() 

   VAR LastTimer, elem 
    
   UO.UnSetcatchbag() 
   LastTimer=UO.Timer() 
   
   uo.usetype('0x13FE') ;weapon 
   wait(1100)
   uo.waittargetground()
   UO.UseType('0x1B78')  ;shield
   wait(1100) 

   UO.DeleteJournal() 
   UO.Exec('warmode 1') 

   UO.FindType('0x0010',-1,'ground') 
   elem=UO.GetSerial('finditem') 
   UO.Attack(elem) 
   repeat 
      wait(1000) 
      If UO.Life<130 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(1100) 
      UO.Attack(elem) 
      killelem() 
   Endif 

   UO.Exec('warmode 0') 
   wait(1000) 
 
uo.exec("exec main")

end sub