Page 1 of 2

скрипт на скупку ! проблема!

Posted: 2006-11-15 14:17:11
by 666||TORCHKI

Code: Select all

###### 
#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='0x40318452' # ID рунбук 1-ая 
var book2='0x40318452' # ...2-ая 
var book3='0x40127980' # ...3-яя 
var type1='0x175D'# соответствует типу покупаемого товара 
var type2='0x1F03'# ... 
var type3='0x175D'# ... 
var type4='0x175D'# ... 
var recall='0x1F4C' # тип рекола 
var unloadseif='0x4044211D' # ID сэйфа у дома 
var tEat='0x097B' # тип еды(фиш стэйки) 
var skokonada=1 # 0 -летаем по двум рунбукам; 1 -только по первой 
##ВВедите ид вендоров ниже### 
sub POGNALI() 
var k,j,b 
 DIM ven[9] 
 DIM vem[9] 
##################### 
 ven[0]='0x00286C87' #И  для 1-ой руны первой рунбуки 
 ven[1]='0x00289D44' #Д  для 2-ой руны первой рунбуки 
 ven[2]='0x00164D2E' # 
 ven[3]='0x0030D2DB' # для 1-ой рунбуки 
 ven[4]='0x0041A5F3' #В 
 ven[5]='0x00286C87' #Е 
 ven[6]='0x00286C87' #Н 
 ven[7]='0x00286C87' #Д 
 ven[8]='0x00286C87' #О для 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
проблема заклучается в том что после того как он пролетел по всем слотам в рунн буке ! и прилител скинул всё что накупил он стоит и нечего не делает ! можна ли зделать чтоб он стоял какоета время и летел опать скупать...

Posted: 2006-11-15 14:31:21
by Nmy
он так и работает... я смотрел клд, ненашол причину...
чар стоит и скрипт тоже? или скрипт выключается?

Posted: 2006-11-15 14:35:33
by 666||TORCHKI
чар стоит и скрипт роботает ! я хдал мин 15 и он всё стоял !

Posted: 2006-11-15 15:13:31
by GimFlex
проблема в том что этот скрипт я писал давно и он требует существенных переработок и ваще много чего но перекладку вещей таких как карт скролов и бланков я переписал более менее одному человеку вот и вам выкладываю сами ее встраивайте в скрипт ничего сложного

Code: Select all

sub unloadBlankMaps() 
var seifydoma='0x402C2FE6' 
var syndykvpake='0x4019D394' 
var meshkan='0x0E76'; 
var blank='0x14EB' 
var p 
uo.useobject(seifydoma) 
wait(1000) 
UO.FindType(blank,'-1','backpack') 
while UO.GetQuantity('finditem') >0 
UO.MoveItem('finditem','1',seifydoma) 
CheckLag() 
Wait(700) 
UO.FindType(blank,'-1','backpack') 
wend 
uo.useobject(syndykvpake) 
wait(1000) 
uo.findtype(meshkan,'-1',syndykvpake) 
p=uo.getserial('finditem') 
UO.FindType(blank,'-1',seifydoma) 
while UO.GetQuantity('finditem') >0 
UO.MoveItem('finditem','1',p) 
CheckLag() 
Wait(700) 
UO.FindType(blank,'-1',seifydoma) 
wend 
UO.MoveItem(p,'1',seifydoma) 
CheckLag() 
Wait(700) 
endif 
endsub
достал этот кусок из архива не помню рабочий ли он вроде должен пахать

Posted: 2006-11-15 15:18:13
by 666||TORCHKI
не это я вставлю! а вот как зделать чтоб он не стоял а делал паузу и летел опять ! :(

Posted: 2006-11-15 15:19:10
by 666||TORCHKI
за кусок с мапами спасиб...

Posted: 2006-11-15 15:19:11
by GimFlex
_TORCHKI wrote:не это я вставлю! а вот как зделать чтоб он не стоял а делал паузу и летел опять ! :(
лучше не вставляй там сложная замута
ты по 1 или 2 рунбукам летаешь и есть ли 3 рунбука

Posted: 2006-11-15 15:20:41
by 666||TORCHKI
вначале по одной проверал потом на 2 пробовал ! и 3 боока с руной домой

Posted: 2006-11-15 15:27:45
by GimFlex
есть такая скупка еще но она не подходит к вендорам считается что вендор рядом находится

Code: Select all

var book1='0x4035B8F7'
var book2='0x4035B9B8' 
var book3='0x4043C559' 
var type1='0x175D'
var type2='0x1F03'
var type3='0x175D'
var type4='0x175D'
var recall='0x1F4C' 
var unloadseif='0x4044211D' 
var tEat='0x097B'
var skokonada=0 
sub POGNALI() 
var k,j,b 
while not uo.dead() 
for k=1 to 9 
port(k,book1) 
uo.resend() 
bustreevseh()  
next 
if skokonada==0 then 
for j=1 to 9  
port(j,book2) 
uo.resend()  
bustreevseh1() 
next 
endif 
port(1,book3) 
wait(2000) 
unload() 
unloadBlankMaps() 
wait(2000) 
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 bustreevseh() 
var i,name 
dim vend[2] 
vend[0]='0x0190' 
vend[1]='0x0191' 
uo.set('finddistance','7') 
for i=0 to 1 
uo.findtype(vend[i],'-1','ground') 
while uo.findcount()>0 
uo.click('finditem') 
wait(1000) 
name=uo.getname('finditem') 
uo.buy('list1',name) 
uo.ignore('finditem') 
uo.findtype(vend[i],'-1','ground') 
wend 
next 
uo.ignorereset() 
endsub 

sub CheckLag() 
uo.DeleteJournal() 
uo.Click('backpack') 
repeat 
wait(50) 
until UO.InJournal('backpack') 
endsub 

sub unload() 
VAR reg='0x0F0E' 
VAR reg1='0x0F88' 
VAR reg2='0x0F87' 
VAR reg3='0x0E34' 
VAR meshok='0x402C2FE6'
UO.SetReceivingContainer(meshok) 
uo.useobject (meshok) 
UO.FindType(reg,'-1','backpack') 
while UO.FindCount()>0 
UO.Grab(UO.GetQuantity('finditem'),'finditem') 
UO.FindType(reg,'-1','backpack') 
wait(600) 
UO.FindType(reg1,'-1','backpack') 
while UO.FindCount()>0 
UO.Grab(UO.GetQuantity('finditem'),'finditem') 
UO.FindType(reg1,'-1','backpack') 
wait(600) 

UO.FindType(reg2,'-1','backpack') 
while UO.FindCount()>0 
UO.Grab(UO.GetQuantity('finditem'),'finditem') 
UO.FindType(reg2,'-1','backpack') 
wait(600) 

UO.FindType(reg3,'-1','backpack') 
while UO.FindCount()>0 
UO.Grab(UO.GetQuantity('finditem'),'finditem') 
UO.FindType(reg3,'-1','backpack') 
wait(600) 
end sub 

sub unloadBlankMaps() 
var seifydoma='0x402C2FE6' 
var syndykvpake='0x4019D394' 
var meshkan='0x0E76'; 
var blank='0x14EB' 
var p 
uo.useobject(seifydoma) 
wait(1000) 
UO.FindType(blank,'-1','backpack') 
while UO.GetQuantity('finditem') >0 
UO.MoveItem('finditem','1',seifydoma) 
CheckLag() 
Wait(700) 
UO.FindType(blank,'-1','backpack') 
wend 
uo.useobject(syndykvpake) 
wait(1000) 
uo.findtype(meshkan,'-1',syndykvpake) 
p=uo.getserial('finditem') 
UO.FindType(blank,'-1',seifydoma) 
while UO.GetQuantity('finditem') >0 
UO.MoveItem('finditem','1',p) 
CheckLag() 
Wait(700) 
UO.FindType(blank,'-1',seifydoma) 
wend 
UO.MoveItem(p,'1',seifydoma) 
CheckLag() 
Wait(700) 
endif 
endsub

Posted: 2006-11-15 15:30:31
by GimFlex
а вообще хз попробуй repeat удалить

Code: Select all

  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 
в обоих случаях

Posted: 2006-11-15 15:30:57
by 666||TORCHKI
етот скрипт тоже один заход делает и потом стоит ?

Posted: 2006-11-15 15:36:10
by 666||TORCHKI
шас посморем !

Posted: 2006-11-15 15:43:57
by 666||TORCHKI
а он дожен воше довать время регам реснутся ?

Posted: 2006-11-15 17:02:39
by GimFlex
_TORCHKI wrote:а он дожен воше довать время регам реснутся ?
нет как выложил сразу опять летит, яб тебе его настроил еслиб ты мне дал свой акк и скрипт которым щас летаешь

Posted: 2006-11-15 17:08:33
by 666||TORCHKI
скриптом я летаю етим !

Code: Select all

####### 
var book1='0x4030B456' # ID ðóíáóê 1-àÿ 
var book2='0x403578D2' # ...2-àÿ 
var book3='0x401C9D10' # ...3-ÿÿ 
var type1='0x0E34'# ñîîòâåòñòâóåò òèïó ïîêóïàåìîãî òîâàðà 
var type2='0x0F87'# ... 
var type3='0x0F88'# ... 
var type4='0x175D'# ...  
var unloadseif='0x402855A0' # ID ñýéôà ó äîìà 
var tEat='0x097B' # òèï åäû(ôèø ñòýéêè) 
var skokonada=0 # 0 -ëåòàåì ïî äâóì ðóíáóêàì; 1 -òîëüêî ïî ïåðâîé 
##ÂÂåäèòå èä âåíäîðîâ íèæå### 
sub POGNALI() 
var k,j,b 
 DIM ven[9] 
 DIM vem[9] 
##################### 
 ven[0]='0x00442AC8' #È  äëÿ 1-îé ðóíû ïåðâîé ðóíáóêè 
 ven[1]='0x0034F26E' #Ä  äëÿ 2-îé ðóíû ïåðâîé ðóíáóêè 
 ven[2]='0x001EE078' # 
 ven[3]='0x00476698' # äëÿ 1-îé ðóíáóêè 
 ven[4]='0x004D03E2' #Â 
 ven[5]='0x0027E52C' #Å 
 ven[6]='0x00061035' #Í 
 ven[7]='0x0003EA97' #Ä 
 ven[8]='0x004C8E20' #Î äëÿ 9-îé ðóíû 1 ðóíáóêè 
 ################## 
 vem[0]='0x003E2A2C' #Ð äëÿ 1-îé ðóíû 2 ðóíáóêè 
 vem[1]='0x00207D2D' #Î 
 vem[2]='0x001B1325' #Â 
 vem[3]='0x00312B15' # 
 vem[4]='0x0041A5F3' #  äëÿ 2-îé ðóíáóêè 
 vem[5]='0x0018815E' # 
 vem[6]='0x001E0D86' # 
 vem[7]='0x0033B272' # 
 vem[8]='0x00086F0F' # äëÿ 9-îé ðóíû 2 ðóíáóêè 
#####################  
  while not uo.dead() 
   for k=1 to 9 

     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)   
    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 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 
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
твой токо я убрал перезарядку!скупает все хорошо токо он 1 раз скупае скидавает и стоит !

Posted: 2006-11-15 17:10:22
by 666||TORCHKI
а вот что он сразу летат ето плоха ! реги 15-20 мин ресаются ! токо заряды гоняеш в бооуке!

Posted: 2006-11-15 17:16:56
by GimFlex
_TORCHKI wrote:а вот что он сразу летат ето плоха ! реги 15-20 мин ресаются ! токо заряды гоняеш в бооуке!
я для себя в таких случаях пишу проачку какогонить скила когда скупал ткань сразу же качал тэйлор пока ждал реса очень удобно :wink: а за чара зря боишься мне серьезнае люди на шарде доверяли своих чаров чтоб я им скрипты подогнал всего лишь помощь да и только :wink:

Posted: 2006-11-15 17:21:58
by 666||TORCHKI
Я за чара не боюсь ! Я скупаю не своим чаром!

Posted: 2006-11-15 17:22:58
by 666||TORCHKI
стукни ето будет проше чем так через форум !
ася 261 924 283

Posted: 2006-11-15 17:23:30
by GimFlex
_TORCHKI wrote:Я за чара не боюсь ! Я скупаю не своим чаром!
тем более в общем так сложно понять почему не идет надо все лицезреть дело на 10 мин :wink: