в поиске искал и так ничего и не нашел((
нужен следующий алгоритм скрипта: чар берёт из сундука 2 мешка, реколится порунбуке в весперн, подходит к столбу, прыгает на маркет, продаёт мешки, прыгает обратно в весперн, потом домой, выкладывает пустые мешки и по новой, после того как мешки кончаться выходит из уо....
нужен скрипт на продажу для DRW
Moderators: Murderator+, Murderator
Нашёл только такой, но тут он по рункам прыгает и берёт по 1му мешку.... может кто-нибуть доведёт до ума:)
#################################
# made by Hrundel #
# Использование скрипта: #
# Ставим у дома 2 сейфа. В один #
# складываем барахло в мешках, #
# с учетом веса (чар за 1 раз #
# берет 1 мешок из сейфа). Во #
# второй сейф ложим бекпак для #
# пустых мешков и мешок для ГП. #
# в пак кидаем бекпак с пустыми #
# рунками и деньгами, а также #
# 2 рунки замарканные в веспере #
# и напротив сейфов. запускаем #
# скрипт, указываем курмором #
# рунки и ждемс. #
#################################
Var SeifeIng = '0x40201339' # ID сейфа в котором лежат мешки с барахлом
Var SeifeMani = '0x4040F419' # ID сейфа в котором лежит бэкпак для мешков и
# мешок для денег
Var BPbags = '0x40258D9F' # ID бакпака для пустых мешков в сейфе
Var MoneyBag = '0x401B3C53' # ID мешка для денежек в сейфе
Var TstoneVesp = '0x400B4C3F' # ID телепорт столба в веспере(уже вписан)
Var StoneMarket = '0x400B4C3B' # ID телеворт столба в маркете(уже вписан)
Var SellStone = '0x40031A1B' # ID селл-стоуна в маркете (уже вписан)
Var RuneBags = '0x402EE137' # ID бэкпака для пустых рунок
Var rune = '0x1F14' # тип рунок =)
Var bag = '0x0E76' # тип мешков
#################################
sub Sells()
var i, gBag
uo.print("выбираем рунки")
addRune()
uo.print("рунки выбраны")
uo.useobject(SeifeIng)
wait(500)
uo.findtype(bag,'-1',SeifeIng)
while uo.FindCount()
if uo.FindCount() then
gBag=uo.GetSerial('finditem')
GrabIng(gBag)
ContChargesHome()
RecallVesper()
ContChargesVesper()
TeleportToMArket()
GoToSellStone()
Selling()
GoToStoneMarket()
TeleportVeasper()
RecallHome()
DropGPandBAG()
endif
uo.useobject(SeifeIng)
wait(1500)
CheckLag()
wait(1000)
uo.findtype(bag,'-1',SeifeIng)
wend
var Emsg = "Все продано!!"
FatalError(Emsg)
end sub
Sub addRune()
uo.msg("Укажите руну к сейфу с ингами...")
uo.Exec('addobject RuneSaife')
while uo.Targeting()
wait(100)
wend
uo.msg("Укажите руну к телепорт столбу в Веспере...")
uo.Exec('addobject RuneVesper')
while uo.Targeting()
wait(100)
wend
end sub
################################################
Sub ContChargesHome()
var rID
uo.Print("проверка количества зарядов...")
wait(1000)
uo.DeleteJournal()
uo.click('RuneSaife')
wait(2000)
if Uo.Injournal("(2 charges)") OR Uo.Injournal("(1 charges)") then
rID = uo.GetSerial('RuneSaife')
Mark(rID,0)
end if
end sub
Sub ContChargesVesper()
var rID
uo.Print("проверка количества зарядов...")
wait(1000)
uo.DeleteJournal()
uo.click('RuneVesper')
wait(2000)
if Uo.Injournal("(2 charges)") OR Uo.Injournal("(1 charges)") then
rID = uo.GetSerial('RuneVesper')
Mark(rID,1)
end if
end sub
################################################
Sub Mark(RuneID,Place)
var mark_key = 0
uo.Print("Выбрасываем старую рунку... ")
uo.drophere(RuneID)
Uo.UseObject(RuneBags)
wait(500)
uo.findtype(rune,'-1',RuneBags)
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 RuneSaife')
Uo.UseObject('RuneSaife')
wait(1500)
Uo.Say("RuneToSaife")
wait(2500)
else
uo.Exec('addobject RuneVesper')
Uo.UseObject('RuneVesper')
wait(1500)
Uo.Say("RuneToVesper")
wait(2500)
endif
end sub
###################################################
Sub FatalError(Emsg)
while not uo.Dead()
uo.Print("Продолжение работы скрипта невозможно")
uo.Print("Причина : " + Emsg)
wait(5000)
wend
end sub
####################################################
Sub GrabIng(gbag)
uo.Print("Берем мешок.")
uo.moveitem(gbag,'-1','backpack')
wait(700)
uo.Print("Мешок взяли!")
end sub
#######################
Sub RecallVesper()
var runevesp
runevesp = uo.GetSerial('RuneVesper')
RecallRune(runevesp)
end sub
Sub RecallHome()
var runehome
runehome = uo.GetSerial('RuneSaife')
RecallRune(runehome)
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 TeleportToMArket()
uo.Print("Прыгаем на Маркет!")
StoneRecall(TstoneVesp,406,335)
end sub
#################################################
Sub StoneRecall(Stone,x,y)
Var OldX,OldY
OldX=uo.GetX()
OldY=uo.GetY()
uo.Exec('warmode 0')
uo.UseObject(Stone)
wait(500)
CheckLag()
uo.LClick(x,y)
CheckLag()
repeat
wait(500)
until OldX<>uo.GetX() or OldY<>uo.GetY()
wait(200)
end sub
####################################################
Sub GoToSellStone()
repeat
if uo.GetX()<3768 then
uo.Press(34)
CheckLag()
end if
until uo.GetX()>=3768
repeat
if uo.GetY()>1186 then
uo.Press(33)
CheckLag()
end if
until uo.GetY()<=1186
end sub
######################################################
Sub GoToStoneMarket()
repeat
if uo.GetX()>3763 then
uo.Press(36)
CheckLag()
end if
until uo.GetX()<=3763
end sub
#######################################################
Sub TeleportVeasper()
uo.Print("Прыгаем в Веспер")
StoneRecall(StoneMarket,225,106)
Uo.Useskill("Meditation")
wait(5000)
end sub
#######################################################
Sub Selling()
uo.findtype(bag,'-1','backpack')
uo.waittargetobject('finditem')
UO.UseObject(SellStone)
wait(500)
CheckLag()
wait(1000)
uo.deletejournal()
uo.LClick(188, 136)
repeat
wait(100)
until uo.InJournal("You put")
wait(200)
CheckLag()
wait(1000)
end sub
########################################################
Sub DropGPandBAG()
uo.Print("Скидываем денежку и мешки!")
uo.useobject(SeifeMani)
wait(700)
uo.useobject(BPbags)
wait(200)
CheckLag()
wait(300)
uo.findtype(bag,'-1','backpack')
CheckLag()
if uo.FindCount() then
uo.moveitem('finditem','-1',BPbags)
wait(700)
CheckLag()
endif
uo.useobject(MoneyBag)
CheckLag()
uo.findtype('0x0EED','-1','backpack')
CheckLag()
while uo.FindCount()
uo.findtype('0x0EED','-1','backpack')
CheckLag()
UO.MoveItem('finditem','0',MoneyBag)
wait(700)
CheckLag()
wend
wait(1000)
end sub
#########################################################
Sub CheckLag()
UO.DeleteJournal()
UO.Click('backpack')
repeat
wait(10)
until UO.InJournal('backpack')
end sub
#################################
# made by Hrundel #
# Использование скрипта: #
# Ставим у дома 2 сейфа. В один #
# складываем барахло в мешках, #
# с учетом веса (чар за 1 раз #
# берет 1 мешок из сейфа). Во #
# второй сейф ложим бекпак для #
# пустых мешков и мешок для ГП. #
# в пак кидаем бекпак с пустыми #
# рунками и деньгами, а также #
# 2 рунки замарканные в веспере #
# и напротив сейфов. запускаем #
# скрипт, указываем курмором #
# рунки и ждемс. #
#################################
Var SeifeIng = '0x40201339' # ID сейфа в котором лежат мешки с барахлом
Var SeifeMani = '0x4040F419' # ID сейфа в котором лежит бэкпак для мешков и
# мешок для денег
Var BPbags = '0x40258D9F' # ID бакпака для пустых мешков в сейфе
Var MoneyBag = '0x401B3C53' # ID мешка для денежек в сейфе
Var TstoneVesp = '0x400B4C3F' # ID телепорт столба в веспере(уже вписан)
Var StoneMarket = '0x400B4C3B' # ID телеворт столба в маркете(уже вписан)
Var SellStone = '0x40031A1B' # ID селл-стоуна в маркете (уже вписан)
Var RuneBags = '0x402EE137' # ID бэкпака для пустых рунок
Var rune = '0x1F14' # тип рунок =)
Var bag = '0x0E76' # тип мешков
#################################
sub Sells()
var i, gBag
uo.print("выбираем рунки")
addRune()
uo.print("рунки выбраны")
uo.useobject(SeifeIng)
wait(500)
uo.findtype(bag,'-1',SeifeIng)
while uo.FindCount()
if uo.FindCount() then
gBag=uo.GetSerial('finditem')
GrabIng(gBag)
ContChargesHome()
RecallVesper()
ContChargesVesper()
TeleportToMArket()
GoToSellStone()
Selling()
GoToStoneMarket()
TeleportVeasper()
RecallHome()
DropGPandBAG()
endif
uo.useobject(SeifeIng)
wait(1500)
CheckLag()
wait(1000)
uo.findtype(bag,'-1',SeifeIng)
wend
var Emsg = "Все продано!!"
FatalError(Emsg)
end sub
Sub addRune()
uo.msg("Укажите руну к сейфу с ингами...")
uo.Exec('addobject RuneSaife')
while uo.Targeting()
wait(100)
wend
uo.msg("Укажите руну к телепорт столбу в Веспере...")
uo.Exec('addobject RuneVesper')
while uo.Targeting()
wait(100)
wend
end sub
################################################
Sub ContChargesHome()
var rID
uo.Print("проверка количества зарядов...")
wait(1000)
uo.DeleteJournal()
uo.click('RuneSaife')
wait(2000)
if Uo.Injournal("(2 charges)") OR Uo.Injournal("(1 charges)") then
rID = uo.GetSerial('RuneSaife')
Mark(rID,0)
end if
end sub
Sub ContChargesVesper()
var rID
uo.Print("проверка количества зарядов...")
wait(1000)
uo.DeleteJournal()
uo.click('RuneVesper')
wait(2000)
if Uo.Injournal("(2 charges)") OR Uo.Injournal("(1 charges)") then
rID = uo.GetSerial('RuneVesper')
Mark(rID,1)
end if
end sub
################################################
Sub Mark(RuneID,Place)
var mark_key = 0
uo.Print("Выбрасываем старую рунку... ")
uo.drophere(RuneID)
Uo.UseObject(RuneBags)
wait(500)
uo.findtype(rune,'-1',RuneBags)
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 RuneSaife')
Uo.UseObject('RuneSaife')
wait(1500)
Uo.Say("RuneToSaife")
wait(2500)
else
uo.Exec('addobject RuneVesper')
Uo.UseObject('RuneVesper')
wait(1500)
Uo.Say("RuneToVesper")
wait(2500)
endif
end sub
###################################################
Sub FatalError(Emsg)
while not uo.Dead()
uo.Print("Продолжение работы скрипта невозможно")
uo.Print("Причина : " + Emsg)
wait(5000)
wend
end sub
####################################################
Sub GrabIng(gbag)
uo.Print("Берем мешок.")
uo.moveitem(gbag,'-1','backpack')
wait(700)
uo.Print("Мешок взяли!")
end sub
#######################
Sub RecallVesper()
var runevesp
runevesp = uo.GetSerial('RuneVesper')
RecallRune(runevesp)
end sub
Sub RecallHome()
var runehome
runehome = uo.GetSerial('RuneSaife')
RecallRune(runehome)
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 TeleportToMArket()
uo.Print("Прыгаем на Маркет!")
StoneRecall(TstoneVesp,406,335)
end sub
#################################################
Sub StoneRecall(Stone,x,y)
Var OldX,OldY
OldX=uo.GetX()
OldY=uo.GetY()
uo.Exec('warmode 0')
uo.UseObject(Stone)
wait(500)
CheckLag()
uo.LClick(x,y)
CheckLag()
repeat
wait(500)
until OldX<>uo.GetX() or OldY<>uo.GetY()
wait(200)
end sub
####################################################
Sub GoToSellStone()
repeat
if uo.GetX()<3768 then
uo.Press(34)
CheckLag()
end if
until uo.GetX()>=3768
repeat
if uo.GetY()>1186 then
uo.Press(33)
CheckLag()
end if
until uo.GetY()<=1186
end sub
######################################################
Sub GoToStoneMarket()
repeat
if uo.GetX()>3763 then
uo.Press(36)
CheckLag()
end if
until uo.GetX()<=3763
end sub
#######################################################
Sub TeleportVeasper()
uo.Print("Прыгаем в Веспер")
StoneRecall(StoneMarket,225,106)
Uo.Useskill("Meditation")
wait(5000)
end sub
#######################################################
Sub Selling()
uo.findtype(bag,'-1','backpack')
uo.waittargetobject('finditem')
UO.UseObject(SellStone)
wait(500)
CheckLag()
wait(1000)
uo.deletejournal()
uo.LClick(188, 136)
repeat
wait(100)
until uo.InJournal("You put")
wait(200)
CheckLag()
wait(1000)
end sub
########################################################
Sub DropGPandBAG()
uo.Print("Скидываем денежку и мешки!")
uo.useobject(SeifeMani)
wait(700)
uo.useobject(BPbags)
wait(200)
CheckLag()
wait(300)
uo.findtype(bag,'-1','backpack')
CheckLag()
if uo.FindCount() then
uo.moveitem('finditem','-1',BPbags)
wait(700)
CheckLag()
endif
uo.useobject(MoneyBag)
CheckLag()
uo.findtype('0x0EED','-1','backpack')
CheckLag()
while uo.FindCount()
uo.findtype('0x0EED','-1','backpack')
CheckLag()
UO.MoveItem('finditem','0',MoneyBag)
wait(700)
CheckLag()
wend
wait(1000)
end sub
#########################################################
Sub CheckLag()
UO.DeleteJournal()
UO.Click('backpack')
repeat
wait(10)
until UO.InJournal('backpack')
end sub
Jimmy09 wrote:Ни кто помогать не хочет так что пришлось придрочится к этому скрипту и вот возник вопрс: ни как не могу понять что нужно изменить, чтобы он вместо 1 мешка бра сразу 3..........?
подскажите кто знает пжалста
даже и не надейся что кто то подскажет, такие скрипты либо платные либо по ОЧЕНЬ большой дружбе, скорее даже вариант №1
Jimmy09 wrote:Ни кто помогать не хочет так что пришлось придрочится к этому скрипту и вот возник вопрс: ни как не могу понять что нужно изменить, чтобы он вместо 1 мешка бра сразу 3..........?
подскажите кто знает пжалста
Code: Select all
Sub GrabIng(gbag)
uo.Print("Берем мешок.")
uo.moveitem(gbag,'3','backpack')
wait(700)
uo.Print("Мешок взяли!")
end sub
-
- Posts: 247
- Joined: 2008-09-12 05:07:34
Code: Select all
VAR HowMany = 3 #сколько мешков брать
#...
#...
uo.findtype(bag,'-1',SeifeIng)
while uo.FindCount()
if uo.FindCount() then
for var k=1 to HowMany
uo.findtype(bag,'-1',SeifeIng)
gBag=uo.GetSerial('finditem')
GrabIng(gBag)
next
ContChargesHome()
#...
#...