################################# # made by Hrundel # # Использование скрипта: # # Ставим у дома 2 сейфа. В один # # складываем барахло в мешках, # # с учетом веса (чар за 1 раз # # берет 1 мешок из сейфа). Во # # второй сейф ложим бекпак для # # пустых мешков и мешок для ГП. # # в пак кидаем бекпак с пустыми # # рунками и деньгами, а также # # 2 рунки замарканные в веспере # # и напротив сейфов. запускаем # # скрипт, указываем курмором # # рунки и ждемс. # ################################# Var SeifeIng = '0x40201339' # ID сейфа в котором лежат мешки с барахлом Var SeifeMani = '0x4040F419' # ID сейфа в котором лежит бэкпак для мешков и # мешок для денег Var BPbags = '0x40490F8C' # ID бакпака для пустых мешков в сейфе Var MoneyBag = '0x401B3C53' # ID мешка для денежек в сейфе Var TstoneVesp = '0x400B4C3F' # ID телепорт столба в веспере(уже вписан) Var StoneMarket = '0x400B4C3B' # ID телеворт столба в маркете(уже вписан) Var SellStone = '0x40031A1B' # ID селл-стоуна в маркете (уже вписан) Var RuneBags = '0x401BE98E' # 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