Page 1 of 1

проблема с условием!

Posted: 2004-08-22 12:24:40
by Kifirkin
вот никак не могу впихнуть условие вылавливания монстра,помогите плз

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

можно ли сделать так,чтобы журнал проверялся после каждого заброса?

Posted: 2004-08-22 14:38:21
by Lord Ruslan Nightmare
Сколько видов монстров ты можешь выловить?

Posted: 2004-08-22 21:29:10
by Kifirkin
только 2 ,елементаля и серпента.чар когда вылавливает монстра не переходит к скрипту на убийство :(((

Posted: 2004-08-23 10:17:25
by Lord Ruslan Nightmare

Code: Select all

#...
mustkill = 0
uo.findtype("тип монстра1","-1","ground")
if uo.findcount() then
  mustkill = 1
endif
uo.findtype("тип монстра2","-1","ground")
if uo.findcount() then
  mustkill = 1
endif
if mustkill then
  #kill
endif
#...
проверь, включена ли Track World Items

Posted: 2004-08-23 12:03:36
by Kifirkin
спасибо большое все рабтает!