Вот нашёл я скрипт на скупку, настроил его, но проблемма: чар летает по рунбукам, подходит к вендорам, пишет буй, но нечё не покупает. Помогите пожалуйсто, мб я чёта не так делаю, мб в скрипте чёта не так.Заранее спасибо.
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='0x40231613' # ID рунбук 1-ая var book2='0x401E758A' # ...2-ая var book3='0x40325577' # ...3-яя var type1='0x0F87'# соответствует типу покупаемого товара var type2='0x0F85'# ... var type3='0x0F88'# ... var type4='0x0F7A'# ... var recall='0x1F4C' # тип рекола var unloadseif='0x401C18CF' # ID сэйфа у дома var tEat='0x097B' # тип еды(фиш стэйки) var skokonada=0 # 0 -летаем по двум рунбукам; 1 -только по первой ##ВВедите ид вендоров ниже### sub POGNALI() var k,j,b DIM ven[9] DIM vem[9] ##################### ven[0]='0x00200130' #И для 1-ой руны первой рунбуки ven[1]='0x00479B7B' #Д для 2-ой руны первой рунбуки ven[2]='0x000876DA' # ven[3]='0x004CC63E' # для 1-ой рунбуки ven[4]='0x00455DA3' #В ven[5]='0x0001BB18' #Е ven[6]='0x00077E7B' #Н ven[7]='0x000B8E13' #Д ven[8]='0x00353C65' #О для 9-ой руны 1 рунбуки ################## vem[0]='0x00019CD2' #Р для 1-ой руны 2 рунбуки vem[1]='0x0033EB76' #О vem[2]='0x002E288F' #В vem[3]='0x001F9AC2' # vem[4]='0x002A02A2' # для 2-ой рунбуки vem[5]='0x004DC71E' # vem[6]='0x004CCE40' # vem[7]='0x0048E86C' # vem[8]='0x002ECA33' # для 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
|