Code: ################ # You Must Die # # The Myst # # themyst.ru # ## Mining 1.0 ## ################ # Находим сами горы на экране,из которых копаем руду. # Как тока нашли-идём к ним,и копаем пока всё не выкопаем. # Ходилка Savage. SuperWalk() -иметь в том же файле что и скрипт на мининг. #
sub The_Myst_Mining()
DIM color[6] color[0]='0x0B09' # Iron жила color[1]='0x0B08' # Cooper жила color[2]='0x0792' # Silver жила color[3]='0x0A9C' # Gold жила color[4]='0x0B10' # Amberit жила color[5]='0x07AE' # Verite жила var mountain='0x1772' # Тип жил из которых копаем var pickaxe='0x0E85' # Тип кирки var i , k var ryda uo.Set('finddistance','10') uo.DeleteJournal() uo.IgnoreReset() while not uo.Dead() while uo.Weight < 500 mine: for i = 0 to 5 uo.FindType(mountain,color[i],'ground') if uo.FindCount() then ryda = uo.GetSerial('finditem') uo.Click(ryda) wait(100) goto dig else goto mine end if next dig: SuperWalk(0,0,'finditem') uo.DeleteJournal() while not uo.InJournal('Here no more') uo.DeleteJournal() uo.WaitTargetObject(ryda) uo.UseType(pickaxe) if uo.InJournal("You can't see") then goto mine end if wait(100) k = 0 repeat wait(100) k = k + 1 if uo.InJournal("You can't see") then goto mine end if until uo.InJournal('You put') or uo.InJournal('Here no more') or ( k > 100 ) wait(100) wend next wend wend end sub
sub main()
DIM tree[38] tree[0]='0x0c95' # тип дерева tree[1]='0x0c96' # тип дерева tree[2]='0x0cca' # тип дерева tree[3]='0x0ccb' # тип дерева tree[4]='0x0ccc' # тип дерева tree[5]='0x0ccd' # тип дерева tree[6]='0x0cd0' # тип дерева tree[7]='0x0cd3' # тип дерева tree[8]='0x0cd6' # тип дерева tree[9]='0x0cd8' # тип дерева tree[10]='0x0cd9' # тип дерева tree[11]='0x0cda' # тип дерева tree[12]='0x0cdb' # тип дерева tree[13]='0x0cdc' # тип дерева tree[14]='0x0cdd' # тип дерева tree[15]='0x0cde' # тип дерева tree[16]='0x0cdf' # тип дерева tree[17]='0x0ce0' # тип дерева tree[18]='0x0ce3' # тип дерева tree[19]='0x0ce6' # тип дерева tree[20]='0x0cf8' # тип дерева tree[21]='0x0cfb' # тип дерева tree[22]='0x0cfe' # тип дерева tree[23]='0x0d01' # тип дерева tree[24]='0x0d41' # тип дерева tree[25]='0x0d42' # тип дерева tree[26]='0x0d43' # тип дерева tree[27]='0x0d44' # тип дерева tree[28]='0x0d5a' # тип дерева tree[29]='0x0d5b' # тип дерева tree[30]='0x0d6e' # тип дерева tree[31]='0x0d6f' # тип дерева tree[32]='0x0d70' # тип дерева tree[33]='0x0d71' # тип дерева tree[34]='0x0d72' # тип дерева tree[35]='0x0d84' # тип дерева tree[36]='0x0d85' # тип дерева tree[37]='0x0d86' # тип дерева
var axe='0x0F43' # Oei oiii?a var a , b var trees uo.Set('finddistance','17') uo.DeleteJournal() uo.IgnoreReset() while not uo.Dead() while uo.Weight < 500 hack: for a = 0 to 37 uo.FindType(tree[a],'-1','ground') if uo.FindCount() then trees = uo.GetSerial('finditem') uo.Click(trees) wait(100) end if SuperWalk(0,0,'finditem') uo.DeleteJournal() while not uo.InJournal('Here no more') uo.DeleteJournal() uo.WaitTargetObject(trees) uo.UseType(axe) if uo.InJournal("You can't see") then goto hack end if ###<--------------------------------LINE 140!!! wait(100) b = 0 repeat wait(100) b = b + 1 if uo.InJournal("You can't see") then goto mine end if until uo.InJournal('You put') or uo.InJournal('You fail to find') or ( b > 100 ) wait(100) wend next wend wend end sub
sub SuperWalk(x,y,Target) VAR i VAR dir,ldir,rdir,key,olddir VAR dx,dy,Exit=0 VAR CacheLimit=9,CacheIndex="Text" DIM CacheX[10], CacheY[10] CacheX[0]="Test" While Exit<>1 If Target<>"" Then dx=UO.GetX(Target)-UO.GetX() dy=UO.GetY(Target)-UO.GetY() UO.Print("Target locked!") If UO.GetDistance(Target)<2 Then Exit=1 Endif Else dx=x-UO.GetX() dy=y-UO.GetY() If dx==0 AND dy==0 Then Exit=1 Endif
Endif If dx<>0 AND dy<>0 Then If dx>0 AND dy>0 Then ; GoSE dir=3 ldir=2 rdir=4 key=40 ; DownArrow olddir=UO.GetDir() If StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key) Then If olddir==2 Then ; GoNE dir=1 ldir=0 rdir=1 key=39 ; RightArrow While UO.GetDir()<>1 StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key) Wend Else ; GoSW dir=5 ldir=5 rdir=6 key=37 ; LeftArrow While UO.GetDir()<>5 StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key) Wend Endif Endif Endif
If dx>0 AND dy<0 Then ; GoNE dir=1 ldir=0 rdir=2 key=39 ; RightArrow olddir=UO.GetDir() If StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key) Then If olddir==0 Then ; GoWN dir=7 ldir=6 rdir=7 key=38 ; UpArrow While UO.GetDir()<>7 StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key) Wend Else ; GoSE dir=3 ldir=3 rdir=4 key=40 ; DownArrow While UO.GetDir()<>3 StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key) Wend Endif Endif Endif
If dx<0 AND dy>0 Then ; GoSW dir=5 ldir=4 rdir=6 key=37 ; LeftArrow olddir=UO.GetDir() If StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key) Then If olddir==6 Then ; GoWN dir=7 ldir=7 rdir=0 key=38 ; UpArrow While UO.GetDir()<>7 StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key) Wend Else ; GoSE dir=3 ldir=2 rdir=3 key=40 ; DownArrow While UO.GetDir()<>3 StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key) Wend Endif Endif Endif
If dx<0 AND dy<0 Then ; GoWN dir=7 ldir=6 rdir=0 key=38 ; UpArrow olddir=UO.GetDir() If StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key) Then If olddir==0 Then ; GoNE dir=1 ldir=1 rdir=2 key=39 ; RightArrow While UO.GetDir()<>1 StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key) Wend Else ; GoSW dir=5 ldir=4 rdir=5 key=37 ; LeftArrow While UO.GetDir()<>5 StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key) Wend Endif Endif Endif Endif If dx<>0 AND dy==0 Then If dx>0 Then ; GoE dir=2 key=34 ; PgDown olddir=UO.GetDir() If StepEdit(UO.GetX(),UO.GetY(),dir,key) Then If olddir==2 Then ; GoSE dir=3 ldir=3 rdir=4 key=40 ; DownArrow While UO.GetDir()<>3 StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key) Wend Else ; GoNE dir=1 ldir=1 rdir=0 key=39 ; RightArrow While UO.GetDir()<>1 StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key) Wend Endif Endif Endif If dx<0 Then ; GoW dir=6 key=36 ; Home key olddir=UO.GetDir() If StepEdit(UO.GetX(),UO.GetY(),dir,key) Then If olddir==0 Then ; GoWN dir=7 ldir=7 rdir=0 key=38 ; UpArrow While UO.GetDir()<>7 StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key) Wend Else ; GoSW dir=5 ldir=4 rdir=5 key=37 ; LeftArrow While UO.GetDir()<>5 StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key) Wend Endif Endif Endif Endif
If dx==0 AND dy<>0 Then If dy>0 Then ; GoS dir=4 key=35 ; End If StepEdit(UO.GetX(),UO.GetY(),dir,key) Then If olddir==2 Then ; GoSE dir=3 ldir=2 rdir=3 key=40 ; DownArrow While UO.GetDir()<>3 StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key) Wend Else ; GoSW dir=5 ldir=6 rdir=5 key=37 ; LeftArrow While UO.GetDir()<>5 StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key) Wend Endif Endif Endif If dy<0 Then ;GoN dir=0 key=33 ; PgUp olddir=UO.GetDir() If StepEdit(UO.GetX(),UO.GetY(),dir,key) Then If olddir==2 Then ; GoNE dir=1 ldir=1 rdir=2 key=39 ; RightArrow While UO.GetDir()<>1 StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key) Wend Else ; GoWN dir=7 ldir=7 rdir=6 key=38 ; UpArrow While UO.GetDir()<>7 StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key) Wend Endif Endif Endif Endif Wend end sub
sub StepEdit(x,y,dir,key) VAR walkwait=300 VAR ErrLevel=0 If UO.GetDir()<>dir Then checkstam() UO.Press(key) wait(walkwait) If UO.GetDir()<>dir Then CheckLag() Endif Endif checkstam() UO.Press(key) wait(walkwait) If x==UO.GetX() AND y==UO.GetY() Then CheckLag() If x==UO.GetX() AND y==UO.GetY() Then ;zatik ErrLevel=1 Endif Endif Return ErrLevel end sub
sub StepArrow(x,y,dir,ldir,rdir,key) VAR walkwait=300 VAR ErrLevel=0 If UO.GetDir()<>dir Then checkstam() UO.Press(key) wait(walkwait) If UO.GetDir()<>dir AND UO.GetDir()<>ldir AND UO.GetDir()<>rdir Then CheckLag() Endif Endif
If UO.GetX()==x AND UO.GetY()==y Then checkstam() UO.Press(key) wait(walkwait) If UO.GetDir()==dir AND UO.GetX()==x AND UO.GetY()==y Then CheckLag() If UO.GetDir()==dir AND UO.GetX()==x AND UO.GetY()==y Then ; zatik ErrLevel=1 Endif Endif Endif Return ErrLevel end sub
sub checkstam() var refresh = '0x0F0B' if uo.stamina < 10 then uo.findtype(refresh,-1,'backpack') if uo.findcount() then uo.usetype(refresh) wait(1000) else uo.print("Nety Refreshey! Stoim...") repeat wait(500) until uo.stamina >= 10 endif else endif endsub
Делает два шага вверх и вылетает Run TimeError Line 140.
|