Code: sub main() var zona = 6; var m, i, a, tX, tY, tr = 1 tX = UO.GetX('self') tY = UO.GetY('self') for i=1 to zona if tr then m = - 5 else m = 5 endif for a=1 to zona tY = tY + m GotoXY(tX,tY) Lumder() next tX = tX - 5 if tr then tr = 0 else tr = 1 endif next end sub
sub Lumder() var X, Y, MaxRange = 3, MaxVes = 620, k = 0 for Y = -MaxRange to MaxRange for X = -MaxRange to MaxRange if Tree(UO.GetX()+X, UO.GetY()+Y) then repeat UO.Set('quiet','0') UO.DeleteJournal() UO.Warmode(0) wait(100) UO.WaitTargetTile(Tree(UO.GetX()+X, UO.GetY()+Y), UO.GetX()+X, UO.GetY()+Y, UO.GetZ()) ;******************************** ; Auto Tools if UO.Count(0x0F43) || UO.Count(0x0F44) then if UO.Count(0x0F43) then UO.UseType(0x0F43); <-- Топор else UO.UseType(0x0F44); <-- Топор endif else UO.Set('quiet','0') UO.Print('ГДЕ ТОПОР БЛЯ?') return endif ;******************************** k=k+1 repeat wait(100) until UO.InJournal("0xA20D|0xA2DE|0xA2E7|0xA308|0xA309|0xA30D|0xA311|0xA312|Вы положили|nothing|You put|Вы ударили по дереву|You hack at the tree|Тут нечего рубить|no logs|Вы не можете до этого достать|You can|reach this|Дерево слишком далеко|That is too far away|do much|Это кажется свободным для вашего удара|It appears immune to your blow|атакует") UO.Set('quiet','0') if k>10 then ; проверка на филзы. Увеличить для вырубки фаировпри 30 скилла UO.Print('Что-то крепкое попалось!!!') return endif If UO.Weight > MaxVes Then UO.Print('Перегруз!') return 0 endif If UO.Life < Uo.Str/10 then UO.Print('А мы умираем!') return 0 endif until UO.InJournal("0xA20D|0xA2DE|0xA2E7|0xA308|0xA309|0xA30D|Тут нечего рубить|nothing|no logs|You can|Вы не можете до этого достать|Дерево слишком далеко|too far away|свободным для вашего удара") endif next next return 0 end sub
Sub Tree(X,Y) var i DIM R[34] R[1] = 3274; R[2] = 3275; R[3] = 3276; R[4] = 3277; R[5] = 3280; R[6] = 3283; R[7] = 3286; R[8] = 3288; R[9] = 3290; R[10] = 3293; R[11] = 3296; R[12] = 3299; R[13] = 3302; R[14] = 3320; R[15] = 3323; R[16] = 3326; R[17] = 3329; R[18] = 3393; R[19] = 3394; R[20] = 3395; R[21] = 3396; R[22] = 3415; R[23] = 3416; R[24] = 3417; R[25] = 3418; R[26] = 3419; R[27] = 3438; R[28] = 3439; R[29] = 3440; R[30] = 3441; R[31] = 3442; R[32] = 3460; R[33] = 3461; R[34] = 3462; for i = 1 to 34 if uo.privategettile( x, y, -1, R[i], R[i]) then return R[i] endif next return false end sub ##############################################
sub GotoXY(x,y) var myX,myY,lastX=0,lastY=0,i,halt=0,z,r=0 for i=1 to 60
myX=UO.GetX(); myY=UO.GetY(); if LastX==myX and LastY==myY then halt=halt+1 else halt=0 end if if halt>=10 then if UO.GetDir()==1 then for z=0 to 8 UO.Press(40) next end if if UO.GetDir()==3 then for z=0 to 8 UO.Press(37) next end if if UO.GetDir()==5 then for z=0 to 8 UO.Press(38) next end if if UO.GetDir()==7 then for z=0 to 8 UO.Press(39) next end if halt=15 end if if Numb(x-myX)<=1 and Numb(y-myY)<=2 then return 1 end if if x<=myX then if y<=myY then for z=0 to 3 UO.Press(38) next else for z=0 to 3 UO.Press(37) next end if else if y<=myY then for z=0 to 3 UO.Press(39) next else for z=0 to 3 UO.Press(40) next end if end if lastX=myX lastY=myY wait(200) next return 0 end sub
sub Numb(num) if num>=0 then return num else return num*(-1) end if end sub
##### СТЕРЕТЬ ЖУРНАЛ ##### Sub DeleteJournal(msg) While UO.InJournal(msg) UO.SetJournalLine(UO.InJournal(msg) - 1,'') wend endsub
Всё вроде ничего, чар ходит, рубит, ничего для этого не надо, только топор! Но возник вопрос, как можно изменить этот скрипт, чтоб вместо рубки, он ходил и искал камешки и копал!?
Вопрос: Что нужно изменить, где и как? Что бы чар сам ходил и копал?
Строки из журнала заменить могу, вместо топора кирку то же а вот дальше тёмный лес! Признателен за помощь и полезную инфу в плане этого скрипта!
|