запусчкать в веспере у банка точнее за банком
Code: var schet sub main() var time,kol=0 while not uo.dead() unload() time=MakeTime() uo.textprint("начало цикла "+time) go(2868,670,1) go(2865,682,0) go(2863,682,1) go(2866,684,0) go(2860,697,1) go(2871,701,0) go(2861,710,1) go(2847,715,1) go(2864,723,0) go(2867,746,0) go(2841,746,1) go(2855,756,1) go(2863,754,0) go(2871,757,1) go(2883,753,0) go(2883,776,1) go(2884,784,0) go(2900,779,1) go(2921,781,1) go(2931,789,0) go(2939,781,1) go(2933,789,0) go(2931,792,0) go(2927,803,1) go(2917,812,0) go(2917,832,1) go(2917,841,0) go(2925,843,0) go(2928,844,0) go(2930,845,0) go(2931,848,0) go(2945,846,1) go(2957,848,0) go(2956,833,0) go(2947,822,1) go(2947,805,1) go(2965,801,1) go(2973,808,0) go(2973,787,1) go(2973,768,1) go(2981,768,0) go(2981,746,1) go(2981,738,0) go(2959,738,1) go(2959,716,0) go(2946,716,1) go(2946,707,0) go(2927,707,1) go(2912,708,0) go(2913,689,0) go(2898,670,0) go(2891,665,0) go(2887,669,0) uo.findtype('0x14EB','-1','backpack') kol=uo.findcount() uo.textprint("выловлено карт "+str(kol)) wend endsub
Sub fish() var mx,my,mz,i,j,inFishing=0 var spining='0x0DBF' var map='0x14EB' DIM text[6] text[0] = 'You pull out a' text[1] = 'You fish a while' text[2] = 'That is too far away' text[3] = 'Try fishing in water' text[4] = 'There are no fish here' text[5] = 'location' text[6] = 'return' var ms1="Prize" var ms2="Truly" var ms3="treasure" var ms4="fishing net" uo.set('finddistance','1') mx = UO.GetX("self") my = UO.GetY("self") mz = UO.GetZ("self") UO.DeleteJournal() for i = mx-6 to mx+6 for j = my -6 to my+6 if IsWater(i,j) then inFishing=0 while inFishing==0 UO.DeleteJournal() UO.Waittargettile("1341", str(i), str(j), str(mz)) UO.Usetype(spining) repeat wait(50) Until UO.InJournal(text[0]) OR UO.InJournal(text[1]) OR UO.InJournal(text[2]) OR UO.InJournal(text[3]) OR UO.InJournal(text[4]) OR UO.InJournal(text[5]) OR UO.InJournal(text[6]) if not UO.InJournal(text[1]) then inFishing=1 endif wend uo.findtype(map,'-1','ground') if uo.findcount() then uo.moveitem('finditem','1','backpack') wait(500) endif endif UO.DeleteJournal() next uo.resend() next end sub
Sub IsWater(X,Y) if UO.PrivateGetTile(X, Y, -1, 6039, 6065) then return 1 else return 0 endif end sub
sub unload() var cont var map='0x14EB' var mesh='0x0E75' var sm,fl=1,kol uo.ignorereset() uo.say("bank") wait(1000) cont=uo.getserial('lastcontainer') uo.findtype(map,'-1','backpack') while uo.findcount() fl=1 uo.findtype(mesh,'-1',cont) sm=uo.getserial('finditem') uo.useobject(sm) wait(500) uo.findtype(map,'-1',sm) while fl<>0 uo.findtype(map,'-1','backpack') if not uo.findcount() then fl=0 endif uo.findtype(map,'-1',sm) kol=uo.findcount() if kol<250 then uo.findtype(map,'-1','backpack') if uo.findcount() then uo.moveitem('finditem','1',sm) wait(700) endif else fl=0 uo.ignore(sm) endif wend uo.findtype(map,'-1','backpack') wend endsub
Sub go(x,y,k) VAR i,m,p VAR dir,ldir,rdir,key,olddir VAR dx,dy,Exit=0 VAR CacheLimit=9,CacheIndex="Text" DIM CacheX[10], CacheY[10] uo.resend() CacheX[0]="Test" While Exit<>1 dx=x-UO.GetX() dy=y-UO.GetY() ;for m=-1 to 1 ;for p=-1 to 1 If dx==0 AND dy==0 Then Exit=1 Endif ;next ;next 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 dx=x-UO.GetX() dy=y-UO.GetY() ;for m=-1 to 1 ;for p=-1 to 1 If dx==0 AND dy==0 Then Exit=1 Endif ;next ; next Wend if k==1 then fish() endif end sub
Sub StepEdit(x,y,dir,key) VAR walkwait=100 VAR ErrLevel=0 If UO.GetDir()<>dir Then UO.Press(key) wait(walkwait) If UO.GetDir()<>dir Then CheckLag() Endif Endif UO.Press(key) wait(walkwait) If x==UO.GetX() AND y==UO.GetY() Then CheckLag() If x==UO.GetX() AND y==UO.GetY() Then ErrLevel=1 Endif Endif Return ErrLevel end sub
Sub StepArrow(x,y,dir,ldir,rdir,key) VAR walkwait=100 VAR ErrLevel=0 If UO.GetDir()<>dir Then 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 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 ErrLevel=1 Endif Endif Endif Return ErrLevel end sub
Sub CheckLag() uo.DeleteJournal() uo.Click('backpack') repeat wait(10) until uo.InJournal('backpack') or UO.Dead() end Sub
Sub MakeTime() VAR D, T, Ret, i Ret = STR(UO.Time()) T = "" For i = 0 To Len(Ret) T = Ret[Len(Ret)-i] + T If (I == 2) OR (I == 4) Then T = ":" + T EndIf Next Ret = T RETURN Ret end sub
|