Page 1 of 1

Lumber + EasyUO walk

Posted: 2009-04-29 09:28:19
by Rocker

Code: Select all

var axe ="0x0F43"
sub lumber() 
var f=file("D:\trees1.dat"),TreeCount=0,i 
dim TreeX[500],TreeY[500],TreeT[500] 
f.open() 
TreeCount=safe call f.readNumber() 
for i=1 to TreeCount 
 TreeT[i]=safe call f.ReadNumber() 
 TreeX[i]=safe call f.ReadNumber() 
 TreeY[i]=safe call f.ReadNumber() 
next 
f.close() 
while not uo.dead() 
 for i=1 to TreeCount  
  GotoXY(str(treex[i]),str(treey[i]),'2','60s')  
  GetTree(str(treeT[i]),str(treeX[i]),str(TreeY[i]),str(uo.getz()))  
if uo.weight > 300 then 
GoToXY( '1022', '2633', '1', '50s' ) 
GoToXY( '1023', '2616', '1', '50s' ) 
GoToXY( '1032', '2617', '1', '50s' ) 
DropLogs() 
end if 
 next 
wend 
endsub 

Sub ToHide() 
while not UO.Hidden() 
 uo.deletejournal() 
 UO.UseSkill("Stealth") 
 wait(4100) 
wend 
end sub 

Sub GetTree(type,x,y,z) 
var ms1="logs in your pack" 
var ms2="no logs" 
var ms3="log in your pack" 
var ms4="You hack at the tree for a while" 
var ms5="too far|not here" 
var ms6="You can't reach this" 
wait(200) 
repeat 
 uo.deletejournal() 
 uo.waittargettile(type,x,y,z) 
 uo.usetype(axe) 
 repeat 
  wait(100) 
 until uo.injournal(ms1) or uo.injournal(ms2) or uo.injournal(ms3) or uo.injournal(ms4) or uo.injournal(ms5) or uo.injournal(ms6) 
until uo.injournal(ms2) or uo.injournal(ms5) or uo.injournal(ms6) 
end sub 



Sub GoToXY( x, y, tolerance, tm ) 
   ; через ИзиУО! 
   UO.SetEasyUO( 4, tm ) 
   UO.SetEasyUO( 3, tolerance ) 
   UO.SetEasyUO( 2, y ) 
   UO.SetEasyUO( 1, x ) 
   repeat 
      wait( 50 ) 
   until UO.GetEasyUO( 1 ) == '0' 
   return 
endsub


Sub CheckLag() 
    UO.DeleteJournal() 
    UO.Click('backpack') 
    repeat 
       wait(50) 
    until UO.InJournal('backpack') 
end sub

sub DropLogs() 
var lastx,lasty, Exit,Chest='0x418694EB',Logs='0x1BDD' 
lastx=UO.GetX('self')
lasty=UO.Gety('self')
uo.findtype(Logs,'-1','backpack') 
while uo.findcount()>0 
 uo.moveitem('finditem','all',Chest) 
 wait(700) 
 uo.findtype(Logs,'-1','backpack') 
wend 
gotoxy(str(lastx),str(lasty),'0','60s')
end sub

Code: Select all

                       initevents
set *1 0
set *2 0
set *3 0
set *4 0

loop:
if *1 <> 0
{
   wait 2
   move *1 *2 *3 *4
   set *1 0
}
goto loop
Собсно вот скрипт, работает на простейшей ходилеке от изи уо. НО проблема в том, что и ета ходилка не всегда обходит даже простейшые препятствия... Можете помоч прикрутить какуюнить ходилку "по-надежней"?

Posted: 2009-04-29 10:36:56
by Destruction
https://yoko.uokit.com/viewtopic.php?p=66813#66813

Возьми да поменяй пару строк..

Posted: 2009-04-29 23:03:10
by Dimon31
В топ квалите разделе замечательный скрипт на рубку.

Posted: 2009-04-30 08:53:11
by Rocker
Знал бы я какую строку...)