Yoko

All sides of Injection
It is currently 2025-10-17 23:57:01

All times are UTC+02:00




Post new topic  Reply to topic  [ 1 post ] 
Author Message
PostPosted: 2009-05-12 13:31:22 
Offline

Joined: 2009-05-10 10:56:24
Posts: 12
Люди добрые помогите плз,замучался!Искал ни где не нашел!Чтоб чар доставал руны из книги,реколился,ложил обратно и сли заряды кончаются маркал!Есть скрипт ВЕТЕРАНА,но он нехочет работать,но он по рунам!

ВОТ СКРИПТ

Code:
#################################### 
#### Скрипт на торговлю 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


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 1 post ] 

All times are UTC+02:00


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Limited