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

Anything and all.

Moderators: Murderator+, Murderator

666||TORCHKI
Posts: 257
Joined: 2006-11-14 16:19:03
Contact:

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

Post 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


проблема заклучается в том что после того как он пролетел по всем слотам в рунн буке ! и прилител скинул всё что накупил он стоит и нечего не делает ! можна ли зделать чтоб он стоял какоета время и летел опать скупать...
Nmy
Expert!
Posts: 2152
Joined: 2005-09-14 15:31:58
Location: Latvia

Post by Nmy »

он так и работает... я смотрел клд, ненашол причину...
чар стоит и скрипт тоже? или скрипт выключается?
666||TORCHKI
Posts: 257
Joined: 2006-11-14 16:19:03
Contact:

Post by 666||TORCHKI »

чар стоит и скрипт роботает ! я хдал мин 15 и он всё стоял !
GimFlex
Expert!
Posts: 766
Joined: 2005-01-07 13:22:19
Contact:

Post 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


достал этот кусок из архива не помню рабочий ли он вроде должен пахать
Last edited by GimFlex on 2006-11-15 15:18:26, edited 1 time in total.
666||TORCHKI
Posts: 257
Joined: 2006-11-14 16:19:03
Contact:

Post by 666||TORCHKI »

не это я вставлю! а вот как зделать чтоб он не стоял а делал паузу и летел опять ! :(
666||TORCHKI
Posts: 257
Joined: 2006-11-14 16:19:03
Contact:

Post by 666||TORCHKI »

за кусок с мапами спасиб...
GimFlex
Expert!
Posts: 766
Joined: 2005-01-07 13:22:19
Contact:

Post by GimFlex »

_TORCHKI wrote:не это я вставлю! а вот как зделать чтоб он не стоял а делал паузу и летел опять ! :(


лучше не вставляй там сложная замута
ты по 1 или 2 рунбукам летаешь и есть ли 3 рунбука
666||TORCHKI
Posts: 257
Joined: 2006-11-14 16:19:03
Contact:

Post by 666||TORCHKI »

вначале по одной проверал потом на 2 пробовал ! и 3 боока с руной домой
GimFlex
Expert!
Posts: 766
Joined: 2005-01-07 13:22:19
Contact:

Post 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
GimFlex
Expert!
Posts: 766
Joined: 2005-01-07 13:22:19
Contact:

Post 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


в обоих случаях
Last edited by GimFlex on 2006-11-15 15:31:11, edited 1 time in total.
666||TORCHKI
Posts: 257
Joined: 2006-11-14 16:19:03
Contact:

Post by 666||TORCHKI »

етот скрипт тоже один заход делает и потом стоит ?
666||TORCHKI
Posts: 257
Joined: 2006-11-14 16:19:03
Contact:

Post by 666||TORCHKI »

шас посморем !
666||TORCHKI
Posts: 257
Joined: 2006-11-14 16:19:03
Contact:

Post by 666||TORCHKI »

а он дожен воше довать время регам реснутся ?
GimFlex
Expert!
Posts: 766
Joined: 2005-01-07 13:22:19
Contact:

Post by GimFlex »

_TORCHKI wrote:а он дожен воше довать время регам реснутся ?


нет как выложил сразу опять летит, яб тебе его настроил еслиб ты мне дал свой акк и скрипт которым щас летаешь
666||TORCHKI
Posts: 257
Joined: 2006-11-14 16:19:03
Contact:

Post 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 раз скупае скидавает и стоит !
666||TORCHKI
Posts: 257
Joined: 2006-11-14 16:19:03
Contact:

Post by 666||TORCHKI »

а вот что он сразу летат ето плоха ! реги 15-20 мин ресаются ! токо заряды гоняеш в бооуке!
GimFlex
Expert!
Posts: 766
Joined: 2005-01-07 13:22:19
Contact:

Post by GimFlex »

_TORCHKI wrote:а вот что он сразу летат ето плоха ! реги 15-20 мин ресаются ! токо заряды гоняеш в бооуке!


я для себя в таких случаях пишу проачку какогонить скила когда скупал ткань сразу же качал тэйлор пока ждал реса очень удобно :wink: а за чара зря боишься мне серьезнае люди на шарде доверяли своих чаров чтоб я им скрипты подогнал всего лишь помощь да и только :wink:
666||TORCHKI
Posts: 257
Joined: 2006-11-14 16:19:03
Contact:

Post by 666||TORCHKI »

Я за чара не боюсь ! Я скупаю не своим чаром!
666||TORCHKI
Posts: 257
Joined: 2006-11-14 16:19:03
Contact:

Post by 666||TORCHKI »

стукни ето будет проше чем так через форум !
ася 261 924 283
GimFlex
Expert!
Posts: 766
Joined: 2005-01-07 13:22:19
Contact:

Post by GimFlex »

_TORCHKI wrote:Я за чара не боюсь ! Я скупаю не своим чаром!


тем более в общем так сложно понять почему не идет надо все лицезреть дело на 10 мин :wink:
Post Reply