Скупка для ДРВ!!!

Anything and all.

Moderators: Murderator+, Murderator

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
Last edited by GimFlex on 2006-10-28 16:45:52, edited 3 times in total.
Savage
Expert!
Posts: 1205
Joined: 2004-04-04 11:13:54
Location: Балаково, Саратовская обл.
Contact:

Post by Savage »

гугл по ключевым словам. Расширенный поиск и кусок кода ему как есть искать.
GimFlex
Expert!
Posts: 766
Joined: 2005-01-07 13:22:19
Contact:

Post by GimFlex »

Savage wrote:гугл по ключевым словам. Расширенный поиск и кусок кода ему как есть искать.
моя не уметь юзать гугла :cry:
Fill
Posts: 10
Joined: 2006-02-03 20:07:37

Post by Fill »

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

Post by GimFlex »

Fill wrote:с удовольствием помогу тебе, но с одним условием, ты объясниш мне несколько моментов, если конечно сам разбираешся в нём!!!
так ведь я его и писал :)
Fill
Posts: 10
Joined: 2006-02-03 20:07:37

Post by Fill »

вылезай в асю поговорим
GimFlex
Expert!
Posts: 766
Joined: 2005-01-07 13:22:19
Contact:

Post by GimFlex »

хотя мне твой тон повелительный :) не нравится я лучше у пилота его за даром попрошу а ты мог бы и так его выложить

до чего народ дошел пиши им скрипты а они его же тебе потом х дадут :cry:
Fill
Posts: 10
Joined: 2006-02-03 20:07:37

Post by Fill »

я тебе дам его без проблем я просто прошу тебя кое что мне расказать если ты естественно захочеш
и ничеко в написанном на повелительный неуказывает
держи, если это он конечно

###################################
# Revenant \ Antares
# auo.ru
###################################

var res

sub main()
DIM rune[6]
DIM ven[6]
var i, n
rune[1]='0x40DA894A' ;
rune[2]='0x40F0A772' ;
rune[3]='0x40F083BE' ;
rune[4]='0x40F0A773' ;
rune[5]='0x40F083BC' ;
rune[6]='0x40F0A771' ;

ven[1]='0x00FE4E27' ;
ven[2]='0x00FE5702' ;
ven[3]='0x00FE37AC' ;
ven[4]='0x00FE0A83'
ven[5]='0x00F7F766'
ven[6]='0x00FE83E0'

repeat
for i=1 to 6
recall(i,rune)
WalkN(0,0,ven)
UO.buy('sp','vendor')
wait(500)
UO.Say("bye")
UO.DeleteJournal()
UO.Click(rune)
repeat
wait(500)
until UO.InJournal('jumps left')
takenum()
if res < 10 then ;
Mark(i,rune)
endif
med()
next
until UO.Dead()
end sub
#####################################
sub takenum()
var ns, j, i, n
var str, num
num=''
ns=0
n=uo.InJournal('jumps left')-1
str=uo.Journal(n)
UO.Print(str)
j = len( str ) - 1
for i = 0 to j

if ns==1 and str<>' ' then
num=num+str
else
ns=0
endif
if str =='(' then
ns=1
endif
next
res = val(num)
UO.Print(str(res))
end sub
#####################################
sub Recall(i,rune)
var b
uo.print('Recoll Rune '+str(i))
for b=1 to 10
uo.deletejournal()
uo.waittargetobject(rune)
uo.cast('Recall',rune)
if WaitForRecall()==1 then
return 1
end if
next
return 0
end sub
#####################################
sub Mark(i,rune)
uo.waittargetobject(rune)
uo.cast('Mark',rune)
end sub
#####################################
sub WaitForRecall()
var Text1=uo.getname()+": The spell fizzles."
var mess='',lastX=uo.getX(),lastY=uo.getY()
for var v=0 to 200
mess=uo.journal(0)
if uo.Journal(0)==Text1 then
return 0
end if
if uo.getX()<>lastX OR uo.getY()<>LastY then
return 1
end if
wait(50)
next
return 0
end sub
######################################
sub med()
VAR LastTimer
while UO.Mana<UO.Int
LastTimer=UO.Timer()
UO.UseSkill('Meditation')
repeat
wait(100)
until UO.InJournal("You are") OR UO.InJournal("You lose") OR UO.Timer()>LastTimer+200
UO.DeleteJournal()
wait(200)
wend
end sub
##############################
# WalkN(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!
# serial - Serial of target or "" - string
# walkwait - delay after keypress
# Example:
# WalkN(2080,2113,'') - go to coordinates
# WalkN(0,0,'0x12345678') - go to target position
#--------------------------------------------------------------
sub WalkN(x,y,Target)
VAR i,StepSucess
VAR dx,dy,Exit=0
While Exit<>1
If Target<>"" Then
dx=UO.GetX(Target)-UO.GetX()
dy=UO.GetY(Target)-UO.GetY()
If UO.GetDistance(Target)<2 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
StepSucess=Go(3,40,300) ;SE - DownArrow
If StepSucess==-1 Then
StepSucess=Go(7,38,300) ;WN - UpArrow
StepSucess=Go(1,39,300) ;NE - RightArrow
If StepSucess==-1 Then
StepSucess=Go(5,37,300) ;SW - LeftArrow
Endif
Endif
Endif
If dx>0 AND dy<0 Then
StepSucess=Go(1,39,300) ;NE - RightArrow
If StepSucess==-1 Then
StepSucess=Go(5,37,300) ;SW - LeftArrow
StepSucess=Go(3,40,300) ;SE - DownArrow
If StepSucess==-1 Then
StepSucess=Go(7,38,300) ;WN - UpArrow
Endif
Endif
Endif
If dx<0 AND dy>0 Then
StepSucess=Go(5,37,300) ;SW - LeftArrow
If StepSucess==-1 Then
StepSucess=Go(1,39,300) ;NE - RightArrow
StepSucess=Go(7,38,300) ;WN - UpArrow
If StepSucess==-1 Then
StepSucess=Go(3,40,300) ;SE - DownArrow
Endif
Endif
Endif
If dx<0 AND dy<0 Then
StepSucess=Go(7,38,300) ;WN - UpArrow
If StepSucess==-1 Then
StepSucess=Go(3,40,300) ;SE - DownArrow
StepSucess=Go(5,37,300) ;SW - LeftArrow
If StepSucess==-1 Then
StepSucess=Go(1,39,300) ;NE - RightArrow
Endif
Endif
Endif
Endif
If dx<>0 AND dy==0 Then
If dx>0 Then
StepSucess=Go(2,34,300) ;E - PgDown
If StepSucess==-1 Then
StepSucess=Go(3,40,300) ;SE - DownArrow
If StepSucess==-1 Then
StepSucess=Go(1,39,300) ;NE - RightArrow
Endif
StepSucess=Go(2,34,300) ;E - PgDown
Endif
Endif
If dx<0 Then
StepSucess=Go(6,36,300) ;W - Home
If StepSucess==-1 Then
StepSucess=Go(7,38,300) ;WN - UpArrow
If StepSucess==-1 Then
StepSucess=Go(5,37,300) ;SW - LeftArrow
Endif
StepSucess=Go(6,36,300) ;W - Home
Endif
Endif
Endif
If dx==0 AND dy<>0 Then
If dy>0 Then
StepSucess=Go(4,35,300) ;S - End
If StepSucess==-1 Then
StepSucess=Go(3,40,300) ;SE - DownArrow
If StepSucess==-1 Then
StepSucess=Go(5,37,300) ;SW - LeftArrow
Endif
StepSucess=Go(4,35,300) ;S - End
Endif
Endif
If dy<0 Then
StepSucess=Go(0,33,300) ;N - PgUp
If StepSucess==-1 Then
StepSucess=Go(1,39,300) ;NE - RightArrow
If StepSucess==-1 Then
StepSucess=Go(7,38,300) ;WN - UpArrow
Endif
StepSucess=Go(0,33,300) ;N - PgUp
Endif
Endif
Endif
Wend
end sub
sub Go(dir,key,walkwait)
VAR x,y, OldDir
x=UO.GetX()
y=UO.GetY()
OldDir=UO.GetDir()
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()
Endif
If x==UO.GetX() AND y==UO.GetY() AND OldDir<>UO.GetDir() Then
UO.Press(key)
wait(walkwait)
Endif
If x==UO.GetX() AND y==UO.GetY() Then
CheckLag()
Endif
If x==UO.GetX() AND y==UO.GetY() Then
UO.Print("Zasada!")
return -1
Else
return 1
Endif
end sub
#########################################
sub CheckLag()
UO.DeleteJournal()
UO.Click('backpack')
repeat
wait(500)
until UO.InJournal('Backpack')
end sub
GimFlex
Expert!
Posts: 766
Joined: 2005-01-07 13:22:19
Contact:

Post by GimFlex »

это не он можешь удолять :wink:
Fill
Posts: 10
Joined: 2006-02-03 20:07:37

Post by Fill »

жаль я как понял это вовсе и не для ДРВ скрипт
ну сорри тогда, очень хотелось бы поиметь всё таки твой скрипт
Fill
Posts: 10
Joined: 2006-02-03 20:07:37

Post by Fill »

упс упустил твоё сообщение в аське, отходил как раз!!!
Так я как нибудь могу рассчитывать на получение твоего скрипта, если он всё таки найдётся?
GimFlex
Expert!
Posts: 766
Joined: 2005-01-07 13:22:19
Contact:

Post by GimFlex »

Fill wrote:упс упустил твоё сообщение в аське, отходил как раз!!!
Так я как нибудь могу рассчитывать на получение твоего скрипта, если он всё таки найдётся?
конечно можешь как откопаю выложу сюда
Fill
Posts: 10
Joined: 2006-02-03 20:07:37

Post by Fill »

ой хорошо бы а то у меня уже глаза в пучок, заказик тут большой на реколы
я конечно не ищю лёгких путей собираю сам но сил уже не хватает
спасибо заранее!! как говорили в рекламе:"добрейшей души человек" ;)
GimFlex
Expert!
Posts: 766
Joined: 2005-01-07 13:22:19
Contact:

Post by GimFlex »

кстати скрипт который ты выложил тоже нормальный
Fill
Posts: 10
Joined: 2006-02-03 20:07:37

Post by Fill »

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

Post by GimFlex »

ид вендоров впиши и трэк ворлд итемс галку поставь
Fill
Posts: 10
Joined: 2006-02-03 20:07:37

Post by Fill »

ну всё равно ни как
если несложно вылези в аську поговорим
mazeppa
Posts: 6
Joined: 2006-02-04 12:43:07

Re: Скупка для ДРВ!!!

Post by mazeppa »

Question wrote:Выкладывал тут скрипт на скупку но с падением форума он исчез поэтому буду признаетелен, если у кого он сохранился и выложит сюда. Спасибо.
Бду рад тебе помочь) ты очень хороший дядька))

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

Post by GimFlex »

спасибо огромное
Behemot
Posts: 4
Joined: 2006-02-27 14:20:35

Post by Behemot »

Не работает ни черта на drw.ru
Выставлял delay до 30000
СПИСОК составлен КОРРЕКТНО!
и всё равно - скотина пишет мине клиент:
[UNSP] Detected corrupt vendor sell packet

Чё это за фигня?!..

Code: Select all

sub buy_reg()
UO.Set('buydelay','30000')
UO.Buy('regi','Violet')
end sub
в списке "regi" 10 Ginseng, пробовал писать вместо имени веника его ID
Post Reply