помогите со скриптом на скупку регов по рунбуку он все отлицно делает вот токо когда откривает рунбук не кликает куда лететь ..
Code: ###### #Opisanie ###### #×àð ëåòàåò ïî 2 ðóíáóêàì ê âåíäîðàì åñëè âåíäîð äàëåêî #ïîäõîäèò ê íåìó è ïîêóïàåò òîâàð. #Êàê çàêóïèëñÿ ó âñåõ ëåòèò äîìîé è ñêèäûâàåò #âñå êóïëåííîå â ñýéô ïåðåçàðÿæàåò ðóíáóêè õàâàåò è îïÿòü 25 ###### #Nastroika ###### #ó ÷àðà â ïàêå 3 ðóíáóêè (ëþáëþ ÿ ðóíáóêè), â ñýéôå ó äîìà #åäà(ôèøñòýéêè),ðåêîëû(ïîáîëüøå).  óî äåëàåì ñïèñîê òîâàðà #êîòîðûé íàäî ïîêóïàòü(êàê ýòî äåëàòü ñìîòðèì ÷óòü íèæå) ñïèñîê #íàçûâàåì list1, â ïåðåìåííûõ óêàçûâàåì òèïû ïîêóïàåìûõ #òîâàðîâ (ó ìåíÿ â ñêðèïòå ïîäðàçóìåâàåòñÿ ÷òî òîâàðîâ âñåãî 4) #ìîæíî ëåòàòü òîëüêî ïî ïåðâîé ðóíáóêå äëÿ ýòîãî â ïåðåìåííûõ #íàäà ïåðåìåííóþ skokonada èçìåíèòü íà 1 ##### ÎÁßÇÀÒÅËÜÍÎ!!!!######### #â èãðå íàáèðàåì ñëåäóùåå-" ,set buydelay 3000 "(áåç êîâû÷åê) #â íàñòðîéêàõ èíæåêòà ñòàâèì ãàëêó íà trackworlditems ########################## #Êàê ñäåëàòü ñïèñîê ïîêóïêè ########################## #1-ïîäõîäè ê âåíäîðó #2-â íàñòðîéêàõ èíæåêòà(çàêëàäêà Main) æìåì êíîïêó Buy/Sell #3-â ïîëå Name ïèøåì list1 æìåì Create #4-â èãðå ãîâîðèì âåíäîðó buy #5-èäåì îïÿòü â èíæåêò è â îêíå Shoping list âûáèðàåì òîâàð è æìåì #Add ìîæíî ñðàçó äîáàâèòü íåñêîëüêî òîâàðîâ #6-äàëåå æìåì Done è åùå ðàç Done ########################## #!! 1 è 2 ðóíáóêè çàáèòû ðóíàìè ê âåíäîðàì â 3 ðóíáóêå ïåðâàÿ ðóíà #äîìîé #êàæäîé ðóíå ñîîòâåòñòâóåò âåíäîð=>íàäî âáèòü èä âåíäîðîâ #â ñîîòâåòñòâèè ñ ðóíàìè #!!! ââåäèòå ÂÑÅ ïåðåìåííûå ####### #from Question with smile ####### #Peremennue ####### var book1='0x400004A0' # ID ðóíáóê 1-àÿ var book2='0x400FFA8C' # ...2-àÿ var book3='0x40062824' # ...3-ÿÿ var type1='0x0F88'# ñîîòâåòñòâóåò òèïó ïîêóïàåìîãî òîâàðà var type2='0x0E34'# ... var type3='0x0F83'# ... var type4='0x0F85'# ... var recall='0x1F4C' # òèï ðåêîëà var unloadseif='0x401049F6' # ID ñýéôà ó äîìà var tEat='0x097B' # òèï åäû(ôèø ñòýéêè) var skokonada=1 # 0 -ëåòàåì ïî äâóì ðóíáóêàì; 1 -òîëüêî ïî ïåðâîé ##ÂÂåäèòå èä âåíäîðîâ íèæå### sub POGNALI() var k,j,b DIM ven[9] DIM vem[9] ##################### ven[0]='0x0001A730' #È äëÿ 1-îé ðóíû ïåðâîé ðóíáóêè ven[1]='0x00019820' #Ä äëÿ 2-îé ðóíû ïåðâîé ðóíáóêè ven[2]='0x0001AFA3' # ven[3]='0x000168B3' # äëÿ 1-îé ðóíáóêè ven[4]='0x00018E58' # ven[5]='0x00017E61' #Å ven[6]='0x000174B3' #Í ven[7]='0x00019D3A' #Ä ven[8]='0x00018329' #Î äëÿ 9-îé ðóíû 1 ðóíáóêè ################## vem[0]='0x00286C87' #Ð äëÿ 1-îé ðóíû 2 ðóíáóêè vem[1]='0x00289D44' #Î vem[2]='0x00164D2E' # vem[3]='0x0030D2DB' # vem[4]='0x0041A5F3' # äëÿ 2-îé ðóíáóêè vem[5]='0x00286C87' # vem[6]='0x00286C87' # vem[7]='0x00286C87' # vem[8]='0x00286C87' # äëÿ 9-îé ðóíû 2 ðóíáóêè ##################### while not uo.dead() for k=1 to 9 repeat port(k,book1) uo.resend() b=UO.GetDistance(ven[k-1]) while b>1 SuperWalk(0,0,ven[k-1]) b=UO.GetDistance(ven[k-1]) wend bustreevseh1(ven[k-1]) UO.Say("bye") next if skokonada==0 then for j=1 to 9 repeat port(j,book2) uo.resend() b=UO.GetDistance(vem[j-1]) while b>1 SuperWalk(0,0,vem[j-1]) b=UO.GetDistance(vem[j-1]) wend bustreevseh1(vem[j-1]) UO.Say("bye") next endif port(1,book3) wait(2000) unload() wait(2000) recharg(book1) wait(2000) recharg(book2) wait(2000) recharg(book3) wait(2000) ToEat() wait(2000) unload() wend endsub
sub port(n,book) var oldX=UO.GetX() var oldY=UO.GetY() var time NoTarget() UO.UseObject(book) FastLootCheck() CheckLag() UO.LClick(135,n*15+55) time=UO.Timer() Repeat wait(500) Until oldX<>UO.GetX() OR oldY<>UO.GetY() OR time+200<UO.Timer() end sub
sub FastLootCheck() UO.DeleteJournal() wait(600) if UO.InJournal("FastLoot") OR UO.InJournal("World save") then CheckLag() endif end sub
sub NoTarget() if UO.Waiting() then UO.CancelTarget() endif end sub
sub bustreevseh1(imya) var vend, ven='vendor' ven=UO.GetName(imya) uo.buy('list1',ven) endsub
#============================================================== # SuperWalk(X,Y,Serial) - char is walking by dX and dY step # sub using Home, End, PgUp, PgDown keys # d'not rebind this key from default action! # walkwait - delay after keypress #-------------------------------------------------------------- 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)<3 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 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 ;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 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 ; zatik ErrLevel=1 Endif Endif Endif Return ErrLevel end sub
sub recharg(kniga) CheckLag() wait(1000) uo.useobject(unloadseif) CheckLag() wait(1000) uo.findtype(recall,'-1',unloadseif) CheckLag() wait(1000) uo.moveitem('finditem','9','backpack') CheckLag() wait(1000) uo.UseObject(kniga) CheckLag() wait(1000) uo.Lclick(296,91) CheckLag() wait(1000) endsub
sub unload() UO.FindType(type1, '-1', 'backpack') while UO.GetQuantity('finditem') > 0 UO.MoveItem('finditem','-1',unloadseif) CheckLag() Wait(700) UO.FindType(type1,'-1','backpack') wend UO.FindType(type2, '-1', 'backpack') while UO.GetQuantity('finditem') > 0 UO.MoveItem('finditem','-1',unloadseif) CheckLag() Wait(700) UO.FindType(type2,'-1','backpack') wend UO.FindType(type3, '-1', 'backpack') while UO.GetQuantity('finditem') > 0 UO.MoveItem('finditem','-1',unloadseif) CheckLag() Wait(700) UO.FindType(type3,'-1','backpack') wend UO.FindType(type4, '-1', 'backpack') while UO.GetQuantity('finditem') > 0 UO.MoveItem('finditem','-1',unloadseif) CheckLag() Wait(700) UO.FindType(type4,'-1','backpack') wend UO.FindType(recall, '-1', 'backpack') while UO.GetQuantity('finditem') > 0 UO.MoveItem('finditem','-1',unloadseif) CheckLag() Wait(700) UO.FindType(recall,'-1','backpack') wend endsub
sub CheckLag() uo.DeleteJournal() uo.Click('backpack') repeat wait(50) until UO.InJournal('backpack') endsub
sub ToEat() UO.UseObject(unloadseif) CheckLag() wait(500) UO.FindType(tEat,'0x0000',unloadseif) CheckLag() wait(500) if UO.FindCount() > 0 then UO.MoveItem('finditem','20','backpack') end if repeat CheckLag() uo.UseType(tEat) while not uo.InJournal("can't") and not uo.InJournal('full') and not uo.InJournal('stuffed') and not uo.InJournal('hungry') and not uo.InJournal('satiated') and not UO.Dead() wait(100) wend until uo.InJournal('too full') or UO.Dead() UO.FindType(tEat, '0x0000','backpack') if UO.FindCount() > 0 then UO.MoveItem('finditem','20',unloadseif) end if end sub
|