Скупка(помогите плз)

Ask for scripts here

Moderators: Murderator+, Murderator

Post Reply
macxag
Posts: 12
Joined: 2009-05-10 10:56:24
Contact:

Скупка(помогите плз)

Post by macxag »

Люди добрые помогите плз,замучался!Искал ни где не нашел!Чтоб чар доставал руны из книги,реколился,ложил обратно и сли заряды кончаются маркал!Есть скрипт ВЕТЕРАНА,но он нехочет работать,но он по рунам!

ВОТ СКРИПТ

Code: Select all

#################################### 
#### Скрипт на торговлю 2.2 ######## 
####################################
Var rune = '0x1F14' # тип рунок 
#################################### 
# ОГРОМНАЯ ПРОЗЬБА ШАПКУ НЕ ВЫРЕЗАТЬ ! НЕ ВСЕ ШАРЮТ В СКРИПТАХ И МОГУТ ПОНЯТЬ ЧТО НАДА ЗАПУСКАТЬ!. 
##################################################################### 
# Запускается Сначала скрипт options ,этот скрипт запомнит все что вам нужно для скрипта. 
# Потом постоянно скрипт Starter. Если надо что то поменять то запустите Options еще раз. 
# Встаньте "дома" перед сундуком для покупок. В сундуке должна быть сумка куда скидывать покупки. 
# В паке - сумка с рунками по магазинам( достаточно по 1 руне в магаз ), сумка пустая , сумка с бланк рунками, 
# Замарченую рунку с марком у сундука ( в упор !). Ну и мешочек с регами для рекола и для марка.рмально. 
# Скрипт летает по рункам из сумки с рунками , если мало зарядов перемарчивает рунки. При весе в 450 стоунов, 
# летит домой и выгружается. ВЫгрузка происходит автоматом ВСЕГО что в паке, потом добор из масива обратно вещей. 
# Для безопастности имейте в паке рунбук с рунками на всякий случай и Кейринг с ключами. А то вдруг убьют. 
# Скрипт написан ВЕТЕРАНом. 
# Не мои модули - ходилка , система речарджа рун, система рекола. 
# 
# 
################## ПЕРЕМЕННЫЕ которые нужно править################## 
##################################################################### 
var BuyListName = 'Reg' ;название листа продажи (щас Reg) 
var Whtime = 180 ;сколько ждать сек после разгрузки. (ждет 180 сек) 
var CheckStam=0 ; Модуль проверки стамины ( если мало будет стоять ) 
var RuneB, RuneB2, RuneBag, RuneH, StoreBAG, Nrune 
### По вопросам и предложениям обращаться сюда: 
### ICQ: 233461603 (ВЕТЕРАН) 
##################################################################### 
# 2007-2009 # 



sub Options()########################################## Конфиг 


UO.Say("Добрый день. Вас привествует скрипт настройщик!") 
wait(3000) 
UO.Say("Следуйте инструкциям!") 
wait(3000) 
UO.Say("Вы должны стоять лицом к сундуку для сброса покупок!") 

wait(4000) 

UO.Say("Укажите сундук прицелом") 
UO.AddObject('Sunduk') 
While UO.Targeting()==2 
wait(500) 
Wend 
UO.SaveConfig() 

UO.Say("Отлично") 
UO.UseObject('backpack') 
wait(3000) 
UO.UseObject('Sunduk') 
wait(1000) 


UO.Say("Укажите Сумку с Замарчеными рунками в вашем вещь-мешке.") 
UO.AddObject('RuneB') 
While UO.Targeting()==2 
wait(500) 
Wend 
UO.SaveConfig() 

UO.Say("Укажите ПУСТУЮ Сумку в паке (Для переброса рунок).") 
UO.AddObject('RuneB2') 
While UO.Targeting()==2 
wait(500) 
Wend 
UO.SaveConfig() 

UO.Say("Укажите Сумку в паке с кучей пустых рунок.") 
UO.AddObject('RuneBag') 
While UO.Targeting()==2 
wait(500) 
Wend 
UO.SaveConfig() 

UO.Say("Укажите Рунку ДОМ( положите ее отдельно в пак ).") 
UO.AddObject('RuneH') 
While UO.Targeting()==2 
wait(500) 
Wend 
UO.SaveConfig() 

UO.Say("Укажите сумку для покупок куда скидывать покупки (В СУНДУКЕ! )") 
UO.AddObject('StoreBAG') 
While UO.Targeting()==2 
wait(500) 
Wend 
UO.SaveConfig() 

wait(3000) 

UO.Say("Настройка закончена. Для изменения параметров запустите скрипт повторно.") 
end sub 



sub Start()########################################## Стартер 

uo.set('buydelay','5000') 
UO.Set('finddistance',9) 

UO.Print("Поехали по магазинам.") 
wait(2000) 

repeat 
uo.findtype('rune','-1','RuneB') 

while uo.FindCount() 

uo.findtype('rune','-1','RuneB') 


Nrune=uo.GetSerial('finditem') 

RecallRune(Nrune) 
ContCharges() 
BuyPRG() 


#uo.moveitem('Nrune','-1','RuneB2') 

UO.MoveItem(Nrune, 0, RuneB2) 

Nrune = 0 

if uo.weight > 450 then 
RecallRune(RuneH) 
ContChargesH() 
Loot() 
endif 

uo.findtype('rune','-1','RuneB') 

wend 

uo.findtype('rune','-1','RuneB2') 
wait(100) 
while uo.findcount()>0 
uo.MoveItem('finditem',-1,'RuneB') 
wait(1000) 
uo.findtype('rune','-1','RuneB') 
wait(100) 
wend 

until uo.dead() 

end sub 


Sub ContCharges() 
var rID 
uo.Print("проверка количества зарядов...") 
wait(1000) 
uo.DeleteJournal() 
uo.click('Nrune') 
wait(2000) 
if Uo.Injournal("(2 charges)") OR Uo.Injournal("(1 charges)") then 
rID = uo.GetSerial('Nrune') 
Mark(rID,0) 
end if 
end sub 


Sub ContChargesH() 
var rID 
uo.Print("проверка количества зарядов...") 
wait(1000) 
uo.DeleteJournal() 
uo.click('RuneH') 
wait(2000) 
if Uo.Injournal("(2 charges)") OR Uo.Injournal("(1 charges)") then 
rID = uo.GetSerial('RuneH') 
Mark(rID,1) 
end if 
end sub 



Sub Mark(RuneID,Place) 

var mark_key = 0 

uo.Print("Выбрасываем старую рунку... ") 
uo.drophere(RuneID) 

Uo.UseObject(RuneBag) 

wait(500) 
uo.findtype(rune,'-1',RuneBag) 
if uo.FindCount() then 
uo.moveitem("finditem",'-1','backpack') 
wait(700) 

else 

var Emsg = "Нет пустых рунок!!" 
FatalError(Emsg) 
end if 

while mark_key == 0 

If Uo.Mana < 50 then 
while Uo.Mana < Uo.Int 
Uo.Useskill("Meditation") 
wait(5000) 
wend 
endif 
Uo.DeleteJournal() 
wait(500) 
Uo.Cast("Mark",'finditem') 
wait(10000) 
mark_key = 1 
if Uo.Injournal("spell") then 
mark_key = 0 
endif 
wend 

mark_key = 0 


Uo.WaitTargetObject('finditem') 

if Place == 0 then 

uo.Exec('addobject Nrune') 
wait(1500) 


else 


uo.Exec('addobject RuneH') 

wait(1500) 
endif 
end sub 




################################################### 
Sub FatalError(Emsg) 
while not uo.Dead() 
uo.Print("Продолжение работы скрипта невозможно") 
uo.Print("Причина : " + Emsg) 
wait(5000) 
wend 
end sub 





Sub RecallRune(nowrune) 
wait(1000) 
uo.Print("улетаем по руне") 
var oldX,oldY 
oldX = Uo.GetX() 
oldY = Uo.GetY() 
Uo.Useskill("Meditation") 
wait(5000) 
Repeat 
If Uo.Mana < 30 then 
while Uo.Mana < Uo.Int 
Uo.Useskill("Meditation") 
wait(5000) 
wend 
endif 
Uo.Cast("Recall",nowrune) 
wait(8000) 
Until oldX<>UO.GetX() AND oldY<>UO.GetY() 
end sub 




sub BuyPRG()########################################## Закупка 
DIM Vens[2] 
Vens[1]=0x0190 
Vens[2]=0x0191 
VAR LastTimer 
var mx, my, mz, g 
mx = UO.GetX("self") 
my = UO.GetY("self") 
mz = UO.GetZ("self") 
uo.ignorereset() 
uo.ignore('self') 

UO.UseObject('backpack') 
UO.print("Начанаем Закупку!") 

UO.say(" Используется скрипт написаный ВЕТЕРАНом! IСQ 233461603") 
###################### 
for g=1 to 2 
repeat 
wait(1000) 

UO.FindType(Vens[g],-1,'ground') 
If uo.FindCount()> 0 then 
UO.Print(uo.GetName('finditem')+ " Замечен, иду к нему.") 

if CheckStam==1 then 
While UO.Stamina < 60 
uo.Print("Low Stamina") 
wait(2000) 
wend 
end if 

UO.Exec(walkn(0,0,'finditem')) 
LastTimer=UO.Timer() 


If UO.GetDistance('finditem')<=2 then 
UO.Print("Закупаю....") 
wait(1000) 
uo.Buy(BuyListName,UO.GetName('finditem')) 
wait(1000) 
CheckLag() 
uo.say(uo.GetName('finditem')+ " bye") 
else 
UO.Print(uo.GetName('finditem')+ " заныкался!, В &@$#% его.") 
end if 

uo.ignore('finditem') 
end if 

until uo.FindCount()==0 
next 

###################### 
end sub 




sub Loot() 
var Wtime = 1 
while not UO.Hidden() 
UO.Warmode("0") 
UO.UseSkill("Stealth") 
wait(4000) 
wend 

var i 
dim fastloot[17] 
fastloot[0]=0x0EFA ; Runebook 
fastloot[1]=0x0EFA ; Spellbook 
fastloot[2]=0x0E9B ; a mortar and pestle 
fastloot[3]=0x0F51 ; dagger 
fastloot[4]=0x0E76 ; a bag 
fastloot[5]=0x0E20 ; bloody bandages 
fastloot[6]=0x0E21 ; clean bandages 
fastloot[7]=0x1008 ; Basin 
fastloot[8]=0x176A ; Keys 
fastloot[9]=0x0F9E ; Scisors 
fastloot[10]=0x0EED ; GP 
fastloot[11]=0x0000 
fastloot[12]=0x0000 
fastloot[13]=0x0000 
fastloot[14]=0x0000 
fastloot[15]=0x0000 
fastloot[16]=0x0000 

wait(1000) 
UO.UseObject('Sunduk') 
wait(1000) 
UO.UseObject('StoreBAG') 
wait(1000) 

for i=0 to 10 
repeat 
uo.findtype(fastloot[i],-1,'backpack') 
if uo.findcount()>0 then 
wait(500) 
uo.ignore('finditem') 
endif 
until uo.findcount()==0 
next 

repeat 
uo.findtype(-1,-1,'backpack') 
uo.SetReceivingContainer('StoreBAG') 

if uo.findcount()>0 then 
CheckLag() 
uo.grab('all','finditem') 
wait(500) 
endif 
until uo.findcount()==0 
uo.ignorereset() 
uo.UnSetReceivingContainer() 
UO.Print('Ждем '+str(Whtime)+ ' секунд.') 
Wtime = Whtime 
wait(1000) 
while Wtime > 0 
wait(1000) 
Wtime = Wtime - 1 
UO.Print('Осталось '+str(Wtime)+ ' секунд.') 
wend 
if Wtime == 0 then 
Wtime = Whtime 
end if 

end sub 



sub WalkN(x,y,Target) ########################################## Ходилка 
VAR LastTimer 
LastTimer=UO.Timer() 
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() 

If UO.GetDistance(Target)<2 OR LastTimer+200<UO.Timer() Then 
wait(2000) 
Exit=1 
Endif 
Else 
dx=x-UO.GetX() 
dy=y-UO.GetY() 
If dx==0 AND dy==0 OR LastTimer+200<UO.Timer() 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=50 
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=50 
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 CheckLag() 
UO.DeleteJournal() 
UO.Click('backpack') 

repeat 
wait(500) 
until UO.InJournal('backpack') 
end sub 

sub Stealth() 
var count=0 
UO.DeleteJournal() 
repeat 

while not UO.Hidden() 
UO.Warmode("0") 
UO.UseSkill("Stealth") 
wait(20000) 
wend 

until UO.Dead() 
end sub 

sub Reconnect() 
var ReconnectTime,rFlag 
ReconnectTime='0' 
rFlag=1 
repeat 
while (uo.ObjAtLayer('Bpack')=='') 
if rFlag then 
ReconnectTime=MakeTime() 
rFlag=0 
end if 
wait(20000) 
uo.Say('') 
wait(3000) 
uo.Say('') 
wait(3000) 
uo.Say('') 
wait(3000) 
uo.LDblClick(357,164) 
uo.LClick(616,459) 
wait(3000) 
wend 
wait(3000) 
if (rFlag==0) and (ReconnectTime<>'0') then 
uo.TextOpen() 
uo.TextPrint('Disconnected & Reconnected @ '+ReconnectTime) 
rFlag=1 
ReconnectTime='0' 
end if 
until false 
end sub 

sub MakeTime() 
var d,t,ret,i 
ret=str(uo.Time()) 
t="" 
for i=0 to Len(ret) 
t=ret[Len(ret)-i]+t 
if (i==2) or (i==4) then 
t=":"+t 
end if 
next 
ret=str(uo.Date()) 
d="" 
for i=0 to Len(ret) 
d=ret[Len(ret)-i] + d 
if (i==2) or (i==4) then 
d="."+d 
end if 
next 
ret=t+" @ "+d 
return ret 
end sub 

sub GMStep() 
If UO.Dead() Then 
UO.Print("You are Dead") 
return 
End If 
If UO.GetGlobal('GMstepCheck')=='on' Then 
UO.SetGlobal('GMstepCheck','off') 
UO.Print("GM Step: Off") 
UO.Morph('0') 
UO.Msg('.resync') 
Else 
UO.SetGlobal('GMstepCheck','on') 
UO.Print("GM Step: On") 
UO.Morph('0x03DB') 
UO.Msg('.resync') 
End If 
end sub 


sub Terminate() 
uo.DeleteJournal() 
uo.Print('Все функции скрипта выключены!') 
uo.Exec('terminate all') 
wait(100) 
end sub
Post Reply