
thanks you if some one have it.
Moderators: Murderator+, Murderator
Code: Select all
#Lumbjacking ? ??????????? ??????? (c) Destruction, v1.0
var hatchet = "0x0F43"
Sub searchTree()
var i, x, y, t, stp, max_search = 24 ; ???????????? ????????? ??? ????????? ?????????.
var cx = uo.getX()
var cy = uo.getY()
for i = 1 to max_search
for x =-i to i
stp = 1
if not i == abs( x ) then
stp = abs( i ) * 2
endif
for y = -i to i step stp
if NOT uo.getGlobal( 't:' + str( x + cx ) + "," + str( y + cy ) ) == "empty" then
t = IsTreeTile( x + cx, y + cy )
if not t == false then
uo.setGlobal( "tree_x", str( x + cx ) )
uo.setGlobal( "tree_y", str( x + cy ) )
uo.setGlobal( "tree_t", str( t ) )
return false
else
uo.setGlobal( 't:' + str( x + cx ) + "," + str( y + cy ), 'empty' )
endif
endif
next
next
next
uo.print( "Found no tree, exit." )
uo.exec( "terminate autoLumber" )
return false
endsub
sub autoLumber()
searchTree()
doMineTree()
endsub
Sub doMineTree()
var x, y, t
var end = "appears immune|nothing here|reach this"
var try = "You put|fail"
repeat
x = val( uo.getGlobal( "tree_x" ) )
y = val( uo.getGlobal( "tree_y" ) )
t = val( uo.getGlobal( "tree_t" ) )
uo.setGlobal( 't:' + str( x ) + "," + str( y ), "empty" )
Walker( x, y, 1 )
uo.exec( "exec searchTree" )
repeat
if uo.waiting() then
uo.canceltarget()
endif
deljournal( try + "|" + end )
uo.waittargettile( str( t ), str( x ), str( y ), str( uo.getZ() ) )
uo.usetype( hatchet )
repeat
wait( 100 )
until uo.injournal( try + "|" + end )
until uo.injournal( end )
while uo.getGlobal( "tree_x" ) == str( x ) && uo.getGlobal( "tree_y" ) == str( y )
wait( 100 )
wend
until false
endsub
Sub deljournal( msg )
while uo.injournal( msg )
uo.setjournalline( uo.injournal( msg ) -1, '' )
wend
endsub
Sub IsTreeTile( x, y )
var i, tree_count = 20
DIM tree[ val( str( tree_count ) ) ]
tree[0] = 3274
tree[1] = 3275
tree[2] = 3276
tree[3] = 3277
tree[4] = 3280
tree[5] = 3283
tree[6] = 3286
tree[7] = 3289
tree[8] = 3291
tree[9] = 3292
tree[10] = 3294
tree[11] = 3295
tree[12] = 3296
tree[13] = 3299
tree[14] = 3302
tree[15] = 3394
tree[16] = 3395
tree[17] = 3417
tree[18] = 3440
tree[19] = 3461
for i = 0 to tree_count -1
if uo.privategettile( x, y, -1, tree[i], tree[i] ) then
return tree[i]
endif
next
return false
endsub