Posted: 2006-04-22 11:50:40
Если нормально делать - то не тупит.
All sides of Injection
https://yoko.uokit.com/
Code: Select all
#############################
##### Мининг версия 2.2 #####
#############################
sub maning()
var mx, my, mz, i, j, e, f, g
Uo.exec("set norbcheck 1") # нужно для рекола #
uo.exec("set norbcalc 1") # нужно для рекола #
e=1 # перменная местонахождения #
f=0 # перменная подсчета пустых тайлов #
# необходимо указать Runebook в Object - from target #
na4alo: # поехали #
mx = UO.GetX("self")
my = UO.GetY("self")
mz = UO.GetZ("self")
UO.DeleteJournal()
for i = mx-4 to mx+4 # радиус окапывания по х #
for j = my-4 to my+4 # радиус окапывания по у #
tohide() # прячемся #
UO.Print("Mine in: "+str(mx-i)+" "+str(my-j))
# ниже убрать мессагу по которой вы нехотите переходить на следующий тайл #
# необходимо указать Shovel в Object - from target #
while not UO.InJournal("no ore here") and not UO.InJournal("location") and not UO.InJournal("far away") and not UO.InJournal("in rock") and not UO.InJournal("Ore") and not UO.InJournal("but fail")
UO.DeleteJournal()
if uo.waiting() then
uo.canceltarget()
endif
UO.Waittargettile("1341", str(i), str(j), str(mz))
UO.Useobject("Shovel") # необходимо указать Shovel в Object Types - from target #
while not UO.InJournal("You put") and not UO.InJournal("heavy") and not UO.InJournal("location") and not UO.InJournal("no ore") and not UO.InJournal("but fail") and not UO.InJournal("far away") and not UO.InJournal("in rock")
wait(500)
if uo.injournal("heavy") or uo.dead() then # вырыли элемента #
# ниже поменять на свою мелодию #
uo.playwav("d:\Games\Ultima Online 2D\element.wav")
Pause() # скрипт на паузе - убиваем элемента вручную, говорим 'GO' и копаем дальше #
goto na4alo
endif
# ниже записать всех своих знакомых киллеров =) #
if uo.injournal("man") or uo.injournal("revealed") or uo.injournal("LEXEY") or uo.injournal("REM") then # смотрим как ПК обломался и улыбаемся #
tut:
if uo.waiting() then
uo.canceltarget()
endif
uo.useobject('0x404E6B26') # пьем инвизку, лежат в паке, заменить на свой ID #
Save() # улетаем домой если ПК Вас раздетектил(при появлении записанных ПК), все выкладываем пополняем реги перемаркиваем руну, медитируем, прячемся и назад через установленное время () #
e=1 # устанавливаем начальное положение #
# ниже поменять на свою мелодию #
uo.playwav("d:\Games\Ultima Online 2D\pk.wav")
wait(180000) # стоко времени ждем дома у сейфа #
goto reccal
endif
wend
if uo.weight > 600 then # вес по которому летим домой по рунбуке #
goto end
endif
wend
###########################################################
##### Переход если 10 раз не найдена руда вокруг себя #####
###########################################################
if UO.InJournal("no ore here") then
f=f+1
endif
if f>10 then # 10 раз #
# ниже поменять на свою мелодию - это я так для себя сделал, необязательная мелодия #
uo.playwav("d:\Games\Ultima Online 2D\perehod.wav")
f=0 # обнуление переменной пустых тайлов #
g=0 # переменная перехода #
if e == 1 then
UO.Print("Go West 7 step.") # столько раз будем шагать на West #
repeat
g=g+1
GoW()
if uo.injournal('revealed') then # прячемся #
tohide()
endif
if uo.injournal('attack') or uo.injournal('Por') then # предохраняемся #
goto tut
endif
until g>6 # 6+1 стоко шагов #
UO.DeleteJournal()
e=2
goto na4alo
else
UO.Print("Go East 7 step.") # столько раз будем шагать на East #
repeat
g=g+1
GoE()
if uo.injournal('revealed') then
tohide()
endif
if uo.injournal('attack') or uo.injournal('Por') then
goto tut
endif
until g>6
UO.DeleteJournal()
e=1
goto na4alo
endif
endif
#########
UO.DeleteJournal()
next # переключатель цикла #
next # то же #
goto na4alo # и на 2 круг #
end:
if uo.waiting() then
uo.canceltarget()
endif
uo.exec("recall Runebook 21") # домой по рунбуку - в первом слоте руна к сейфу #
mx = UO.GetX("self")
my = UO.GetY("self")
wait(11000)
if not UO.GetX("self") <> mx and not UO.GetY("self") <> my then
goto end # проверка на физл #
endif
e=1
loot() # выкладывает накопанное в сейф #
wait(3000)
reccal:
uo.deletejournal()
if uo.waiting() then
uo.canceltarget()
endif
uo.exec("recall Runebook 94") # назад трудиться в шахте =), рунка в 8-м слоте рунбуки #
mx = UO.GetX("self")
my = UO.GetY("self")
wait(11000)
if not UO.GetX("self") <> mx and not UO.GetY("self") <> my then
goto reccal # проверка на физл #
endif
goto na4alo
end sub
##################################################
##### Переход на 1 клетку в направлении West #####
##################################################
sub GoW()
VAR walkwait=300
VAR x,y,dir=6
VAR key=36 ; Home key
x=UO.GetX()
y=UO.GetY()
while UO.GetDir()<>dir
UO.Press(key)
wait(walkwait)
if UO.GetDir()<>dir then
CheckLag()
endif
wend
UO.Press(key)
wait(walkwait)
if x==UO.GetX() and y==UO.GetY() then
CheckLag()
Endif
if UO.GetX()+1==x then
return -1
else
return 1
endif
end sub
##################################################
##### Переход на 1 клетку в направлении East #####
##################################################
sub GoE()
VAR walkwait=300
VAR x,y,dir=2
VAR key=34 ; PgDown
x=UO.GetX()
y=UO.GetY()
while UO.GetDir()<>dir
UO.Press(key)
wait(walkwait)
if UO.GetDir()<>dir then
CheckLag()
endif
wend
UO.Press(key)
wait(walkwait)
if x==UO.GetX() and y==UO.GetY() then
CheckLag()
endif
if UO.GetX()-1==x then
return -1
else
return 1
endif
end sub
#############################################################
##### Анти ПК: если Вас раздетектили - по рунке к сейфу #####
#############################################################
sub Save() # описано выше #
reccal:
UO.DeleteJournal()
if uo.waiting() then
uo.canceltarget()
endif
UO.FindType('0x1F14',-1,'my')
wait(200)
UO.Cast('Recall','finditem')
repeat
wait(500)
until uo.injournal("fizzles") or uo.injournal("Kal Ort Por")
wait(3000)
if uo.injournal("fizzles") then
goto reccal
endif
tohide()
loot()
wait(3000)
UO.DeleteJournal()
UO.FindType('0x1F14',-1,'my')
wait(200)
UO.Cast('Mark','finditem')
wait(5000)
Med:
repeat
UO.UseSkill('Meditation')
wait(5000)
until uo.injournal("peace") or uo.injournal("lose")
if UO.InJournal('You lose') then
UO.DeleteJournal()
goto Med
endif
fillreagents()
wait(3000)
tohide()
end sub
#########################################
##### Упаковка готового продукта =) #####
#########################################
sub loot() # складываем руду в сейф #
VAR a, Exit
if uo.waiting() then
uo.canceltarget()
endif
; '0x401731D2'
VAR UnloadCont='0x4000E3AA' # поменять на ID своего сейфа куда складываем руду, узнать его можно командой ',info' #
DIM Ore[5]
Ore[0]=0x19B9 # 4 и более руды #
Ore[1]=0x19B7 # 1 руда #
Ore[2]=0x19BA # 2 руды #
Ore[3]=0x19B8 # 3 руды #
UO.SetReceivingContainer(UnloadCont)
wait(500)
For a = 0 to 3
Exit=0
repeat
UO.FindType(Ore[a])
if UO.GetQuantity('finditem')>0 then
UO.Grab('0','finditem')
wait(1500)
else
Exit=1
endif
until Exit==1
next
UO.UnSetReceivingContainer()
end sub
###################################
##### Пауза - че хотим творим #####
###################################
sub Pause() # пауза для того чтобы расправиться с элементом - скоро будет автоматом убивать ... #
# пауза прекратиться когда вы скажете GO большими буквами строго! #
UO.DeleteJournal()
UO.Print("Script paused")
repeat
wait(3000)
until UO.InJournal('GO')
UO.Print("Script return")
endif
end sub
####################
##### Прячемся #####
####################
sub tohide()
while NOT UO.Hidden()
UO.DeleteJournal()
UO.FindType('0x0F0E','0x0631','my')
if UO.Life<UO.STR/2 and UO.GetQuantity('finditem')>0 then
UO.UseType('0x0F0E','0x0631') ; inviz potion
UO.Exec('warmode 0')
wait(2000)
else
UO.Exec('warmode 0')
UO.UseSkill('Hiding')
repeat
wait(50)
until UO.InJournal('You have hidden') OR UO.InJournal('seem to hide') OR UO.InJournal('preoccupied')
endif
wend
end sub
#######################################
##### Пополнение всех регов до 20 #####
#######################################
sub fillreagents()
VAR StoreRegCont='0x40173275' # непосредственно сам пак с регами в сейфе #
VAR CharRegBag='backpack' # куда сложить реги себе #
VAR CountReg=20 # количество регов каждого типа #
VAR WaitTime=1500
VAR MainSafe='0x4000E3AA' # сейф где лежит пак с регами #
UO.FindType('0x09B0','0x0044','backpack')
if UO.GetQuantity('finditem')>0 then
CharRegBag='finditem'
endif
UO.UseObject(MainSafe)
UO.UseObject(StoreRegCont)
UO.SetReceivingContainer(CharRegBag)
wait(WaitTime)
if UO.BM<CountReg then
UO.FindType('0x0F7B','-1',StoreRegCont) ; BM
UO.Grab(STR((CountReg-UO.BM)),'finditem')
wait(WaitTime)
endif
if UO.BP<CountReg then
UO.FindType('0x0F7A','-1',StoreRegCont) ; BP
UO.Grab(STR(CountReg-UO.BP),'finditem')
wait(WaitTime)
endif
if UO.GA<CountReg then
UO.FindType('0x0F84','-1',StoreRegCont) ; GA
UO.Grab(STR(CountReg-UO.GA),'finditem')
wait(WaitTime)
endif
if UO.GS<CountReg then
UO.FindType('0x0F85','-1',StoreRegCont) ; GS
UO.Grab(STR(CountReg-UO.GS),'finditem')
wait(WaitTime)
endif
if UO.MR<CountReg then
UO.FindType('0x0F86','-1',StoreRegCont) ; MR
UO.Grab(STR(CountReg-UO.MR),'finditem')
wait(WaitTime)
endif
if UO.NS<CountReg then
UO.FindType('0x0F88','-1',StoreRegCont) ; NS
UO.Grab(STR(CountReg-UO.NS),'finditem')
wait(WaitTime)
endif
if UO.SA<CountReg then
UO.FindType('0x0F8C','-1',StoreRegCont) ; SA
UO.Grab(STR(CountReg-UO.SA),'finditem')
wait(WaitTime)
endif
if UO.SS<CountReg then
UO.FindType('0x0F8D','-1',StoreRegCont) ; SS
UO.Grab(STR(CountReg-UO.SS),'finditem')
endif
UO.UnsetReceivingContainer()
end sub
###########################
##### Проверка на лаг #####
###########################
sub CheckLag()
UO.DeleteJournal()
UO.Click('backpack')
repeat
wait(500)
until UO.InJournal('backpack')
end sub
#########################
Code: Select all
#############################
##### Ìèíèíã âåðñèÿ 2.5 #####
#############################
sub maning()
var mx, my, mz, i, j, e, f, g, t, Exit1, a
Uo.exec("set norbcheck 1") # íóæíî äëÿ ðåêîëà #
uo.exec("set norbcalc 1") # íóæíî äëÿ ðåêîëà #
e=1 # ïåðìåííàÿ ìåñòîíàõîæäåíèÿ #
f=0 # ïåðìåííàÿ ïîäñ÷åòà ïóñòûõ òàéëîâ #
# íåîáõîäèìî óêàçàòü Runebook â Object - from target #
na4alo: # ïîåõàëè #
mx = UO.GetX("self")
my = UO.GetY("self")
mz = UO.GetZ("self")
UO.DeleteJournal()
for i = mx-4 to mx+4 # ðàäèóñ îêàïûâàíèÿ ïî õ #
for j = my-4 to my+4 # ðàäèóñ îêàïûâàíèÿ ïî ó #
tohide() # ïðÿ÷åìñÿ #
UO.Print("Mine in: "+str(mx-i)+" "+str(my-j))
# íèæå óáðàòü ìåññàãó ïî êîòîðîé âû íåõîòèòå ïåðåõîäèòü íà ñëåäóþùèé òàéë #
# íåîáõîäèìî óêàçàòü Shovel â Object - from target #
while not UO.InJournal("no ore here") and not UO.InJournal("location") and not UO.InJournal("far away") and not UO.InJournal("in rock") and not UO.InJournal("Ore") and not UO.InJournal("Elvin") and not UO.InJournal("You put")
UO.DeleteJournal()
if uo.waiting() then
uo.canceltarget()
endif
UO.Waittargettile("1341", str(i), str(j), str(mz))
UO.Useobject("Shovel") # íåîáõîäèìî óêàçàòü Shovel â Object Types - from target #
while not UO.InJournal("You put") and not UO.InJournal("heavy") and not UO.InJournal("location") and not UO.InJournal("no ore") and not UO.InJournal("but fail") and not UO.InJournal("far away") and not UO.InJournal("in rock")
wait(500)
if uo.injournal("heavy") then # âûðûëè ýëåìåíòà #
# íèæå ïîìåíÿòü íà ñâîþ ìåëîäèþ #
uo.playwav("d:\Games\Ultima Online 2D\element.wav")
# óáèâàåì ýëåìåíòà, ñîáèðàåì ðóäó è êîïàåì äàëüøå #
Vortex:
uo.exec('usetype 0x0f0e 0x0631')
uo.cast('Energy Vortex','self')
wait(4000)
CheckLag()
if uo.injournal("fizzles") or uo.injournal("line") then
goto Vortex
else
wait(10000)
CheckLag()
istka:
uo.exec('usetype 0x0f0e 0x09DF') # ïüåì ìàíêó #
uo.cast('Mass Dispel','self')
wait(4000)
CheckLag()
if uo.injournal("fizzles") then
goto istka
endif
DIM Ore[5]
Ore[0]=0x19B9 # 4 è áîëåå ðóäû #
Ore[1]=0x19B7 # 1 ðóäà #
Ore[2]=0x19BA # 2 ðóäû #
Ore[3]=0x19B8 # 3 ðóäû #
UO.SetReceivingContainer('backpack')
wait(500)
For t=0 to 3
Exit1=0
repeat
UO.FindType(Ore[a],'ground')
if UO.GetQuantity('finditem')>0 then
UO.Grab('0','finditem')
wait(1500)
else
Exit1=1
endif
until Exit1==1
next
UO.UnSetReceivingContainer()
endif
goto na4alo
endif
# íèæå çàïèñàòü âñåõ ñâîèõ çíàêîìûõ êèëëåðîâ =) #
Scaner()
if uo.injournal("[DN]") or uo.injournal("Bloodman") or uo.injournal("Tangar") or uo.injournal("BilaZ") or uo.injournal("TiamaT") or uo.injournal("man") or uo.injournal("revealed") or uo.injournal("LEXEY") or uo.injournal("REM") then # ñìîòðèì êàê ÏÊ îáëîìàëñÿ è óëûáàåìñÿ #
tut:
if uo.waiting() then
uo.canceltarget()
endif
uo.exec('usetype 0x0f0e 0x0631') # ïüåì èíâèçêó, ëåæàò â ïàêå #
Save() # óëåòàåì äîìîé åñëè ÏÊ Âàñ ðàçäåòåêòèë(ïðè ïîÿâëåíèè çàïèñàííûõ ÏÊ), âñå âûêëàäûâàåì ïîïîëíÿåì ðåãè ïåðåìàðêèâàåì ðóíó, ìåäèòèðóåì, ïðÿ÷åìñÿ è íàçàä ÷åðåç óñòàíîâëåííîå âðåìÿ () #
e=1 # óñòàíàâëèâàåì íà÷àëüíîå ïîëîæåíèå #
# íèæå ïîìåíÿòü íà ñâîþ ìåëîäèþ #
uo.playwav("d:\Games\Ultima Online 2D\pk.wav")
wait(180000) # ñòîêî âðåìåíè æäåì äîìà ó ñåéôà #
goto reccal
endif
wend
if uo.weight > 600 then # âåñ ïî êîòîðîìó ëåòèì äîìîé ïî ðóíáóêå #
goto end
endif
wend
###########################################################
##### Ïåðåõîä åñëè 20 ðàç íå íàéäåíà ðóäà âîêðóã ñåáÿ #####
###########################################################
if UO.InJournal("no ore here") then
f=f+1
endif
if f>20 then # 20 ðàç #
# íèæå ïîìåíÿòü íà ñâîþ ìåëîäèþ - ýòî ÿ òàê äëÿ ñåáÿ ñäåëàë, íåîáÿçàòåëüíàÿ ìåëîäèÿ #
uo.playwav("d:\Games\Ultima Online 2D\perehod.wav")
f=0 # îáíóëåíèå ïåðåìåííîé ïóñòûõ òàéëîâ #
g=0 # ïåðåìåííàÿ ïåðåõîäà #
if e == 1 then
UO.Print("Go West 7 step.") # ñòîëüêî ðàç áóäåì øàãàòü íà West #
repeat
g=g+1
GoW()
if uo.injournal('revealed') then # ïðÿ÷åìñÿ #
tohide()
endif
if uo.injournal("[DN]") or uo.injournal("Bloodman") or uo.injournal("Tangar") or uo.injournal("BilaZ") or uo.injournal("TiamaT") or uo.injournal("man") or uo.injournal("LEXEY") or uo.injournal("REM") then # ïðåäîõðàíÿåìñÿ #
goto tut
endif
until g>6 # 6+1 ñòîêî øàãîâ #
UO.DeleteJournal()
e=2
goto na4alo
else
UO.Print("Go East 7 step.") # ñòîëüêî ðàç áóäåì øàãàòü íà East #
repeat
g=g+1
GoE()
if uo.injournal('revealed') then
tohide()
endif
if uo.injournal("[DN]") or uo.injournal("Bloodman") or uo.injournal("Tangar") or uo.injournal("BilaZ") or uo.injournal("TiamaT") or uo.injournal("man") or uo.injournal("LEXEY") or uo.injournal("REM") then
goto tut
endif
until g>6
UO.DeleteJournal()
e=1
goto na4alo
endif
endif
#########
UO.DeleteJournal()
next # ïåðåêëþ÷àòåëü öèêëà #
next # òî æå #
goto na4alo # è ïî êðóãó ïîêà íå íàéäåì 20 ïóñòûõ òàéëîâ #
end:
if uo.waiting() then
uo.canceltarget()
endif
uo.exec("recall Runebook 21") # äîìîé ïî ðóíáóêó - â ïåðâîì ñëîòå ðóíà ê ñåéôó #
mx = UO.GetX("self")
my = UO.GetY("self")
wait(11000)
if not UO.GetX("self") <> mx and not UO.GetY("self") <> my then
goto end # ïðîâåðêà íà ôèçë #
endif
e=1
loot() # âûêëàäûâàåò íàêîïàííîå â ñåéô #
wait(3000)
reccal:
uo.deletejournal()
if uo.waiting() then
uo.canceltarget()
endif
uo.exec("recall Runebook 94") # íàçàä òðóäèòüñÿ â øàõòå =), ðóíêà â 8-ì ñëîòå ðóíáóêè #
mx = UO.GetX("self")
my = UO.GetY("self")
wait(11000)
if not UO.GetX("self") <> mx and not UO.GetY("self") <> my then
goto reccal # ïðîâåðêà íà ôèçë #
endif
goto na4alo
end sub
##################################################
##### Ïåðåõîä íà 1 êëåòêó â íàïðàâëåíèè West #####
##################################################
sub GoW()
VAR walkwait=300
VAR x,y,dir=6
VAR key=36 ; Home key
x=UO.GetX()
y=UO.GetY()
while UO.GetDir()<>dir
UO.Press(key)
wait(walkwait)
if UO.GetDir()<>dir then
CheckLag()
endif
wend
UO.Press(key)
wait(walkwait)
if x==UO.GetX() and y==UO.GetY() then
CheckLag()
Endif
if UO.GetX()+1==x then
return -1
else
return 1
endif
end sub
##################################################
##### Ïåðåõîä íà 1 êëåòêó â íàïðàâëåíèè East #####
##################################################
sub GoE()
VAR walkwait=300
VAR x,y,dir=2
VAR key=34 ; PgDown
x=UO.GetX()
y=UO.GetY()
while UO.GetDir()<>dir
UO.Press(key)
wait(walkwait)
if UO.GetDir()<>dir then
CheckLag()
endif
wend
UO.Press(key)
wait(walkwait)
if x==UO.GetX() and y==UO.GetY() then
CheckLag()
endif
if UO.GetX()-1==x then
return -1
else
return 1
endif
end sub
#############################################################
##### Àíòè ÏÊ: åñëè Âàñ ðàçäåòåêòèëè - ïî ðóíêå ê ñåéôó #####
#############################################################
sub Save() # îïèñàíî âûøå #
reccal:
UO.DeleteJournal()
if uo.waiting() then
uo.canceltarget()
endif
UO.FindType('0x1F14',-1,'my')
wait(200)
UO.Cast('Recall','finditem')
repeat
wait(500)
until uo.injournal("fizzles") or uo.injournal("Kal Ort Por")
wait(3000)
if uo.injournal("fizzles") then
goto reccal
endif
tohide()
loot()
wait(3000)
UO.DeleteJournal()
UO.FindType('0x1F14',-1,'my')
wait(200)
UO.Cast('Mark','finditem')
wait(5000)
uo.exec('usetype 0x0f0e 0x09DF') # Ïüåì ìàíêó #
Med:
repeat
UO.UseSkill('Meditation')
wait(5000)
until uo.injournal("peace") or uo.injournal("lose")
if UO.InJournal('You lose') then
UO.DeleteJournal()
goto Med
endif
fillreagents()
wait(3000)
tohide()
end sub
#########################################
##### Óïàêîâêà ãîòîâîãî ïðîäóêòà =) #####
#########################################
sub loot() # ñêëàäûâàåì ðóäó â ñåéô #
VAR a, Exit
if uo.waiting() then
uo.canceltarget()
endif
VAR UnloadCont='0x4000E3AA' # ïîìåíÿòü íà ID ñâîåãî ñåéôà êóäà ñêëàäûâàåì ðóäó, óçíàòü åãî ìîæíî êîìàíäîé ',info' #
DIM Ore[5]
Ore[0]=0x19B9 # 4 è áîëåå ðóäû #
Ore[1]=0x19B7 # 1 ðóäà #
Ore[2]=0x19BA # 2 ðóäû #
Ore[3]=0x19B8 # 3 ðóäû #
UO.SetReceivingContainer(UnloadCont)
wait(500)
For a = 0 to 3
Exit=0
repeat
UO.FindType(Ore[a])
if UO.GetQuantity('finditem')>0 then
UO.Grab('0','finditem')
wait(1500)
else
Exit=1
endif
until Exit==1
next
UO.UnSetReceivingContainer()
end sub
####################
##### Ïðÿ÷åìñÿ #####
####################
sub tohide()
while NOT UO.Hidden()
UO.DeleteJournal()
UO.Exec('warmode 0')
UO.UseSkill('Stealth')
repeat
wait(300)
until UO.InJournal('You have hidden') OR UO.InJournal('seem to hide') OR UO.InJournal('preoccupied')
wend
end sub
##############################################
##### Ïîïîëíåíèå âñåõ íóæíûõ ðåãîâ äî 10 #####
##############################################
sub fillreagents()
VAR StoreRegCont='0x40173275' # íåïîñðåäñòâåííî ñàì ïàê ñ ðåãàìè â ñåéôå #
VAR CharRegBag='backpack' # êóäà ñëîæèòü ðåãè ñåáå #
VAR CountReg=10 # êîëè÷åñòâî ðåãîâ êàæäîãî òèïà #
VAR WaitTime=1500
VAR MainSafe='0x4000E3AA' # ñåéô ãäå ëåæèò ïàê ñ ðåãàìè #
UO.FindType('0x09B0','0x0044','backpack')
if UO.GetQuantity('finditem')>0 then
CharRegBag='finditem'
endif
UO.UseObject(MainSafe)
UO.UseObject(StoreRegCont)
UO.SetReceivingContainer(CharRegBag)
wait(WaitTime)
if UO.BM<CountReg then
UO.FindType('0x0F7B','-1',StoreRegCont) ; BM
UO.Grab(STR((CountReg-UO.BM)),'finditem')
wait(WaitTime)
endif
if UO.BP<CountReg then
UO.FindType('0x0F7A','-1',StoreRegCont) ; BP
UO.Grab(STR(CountReg-UO.BP),'finditem')
wait(WaitTime)
endif
if UO.GA<CountReg then
UO.FindType('0x0F84','-1',StoreRegCont) ; GA
UO.Grab(STR(CountReg-UO.GA),'finditem')
wait(WaitTime)
endif
if UO.MR<CountReg then
UO.FindType('0x0F86','-1',StoreRegCont) ; MR
UO.Grab(STR(CountReg-UO.MR),'finditem')
wait(WaitTime)
endif
if UO.NS<CountReg then
UO.FindType('0x0F88','-1',StoreRegCont) ; NS
UO.Grab(STR(CountReg-UO.NS),'finditem')
wait(WaitTime)
endif
if UO.SA<CountReg then
UO.FindType('0x0F8C','-1',StoreRegCont) ; SA
UO.Grab(STR(CountReg-UO.SA),'finditem')
wait(WaitTime)
endif
UO.UnsetReceivingContainer()
end sub
###########################
##### Ïðîâåðêà íà ëàã #####
###########################
sub CheckLag()
UO.DeleteJournal()
UO.Click('backpack')
repeat
wait(500)
until UO.InJournal('backpack')
end sub
###############################
##### Ìîäóëü ñêàíèðîâàíèÿ #####
###############################
Sub Scaner()
var jor, ser, noto
uo.ignore('self')
for jor = 0 to 9
ser = uo.journalserial(jor)
noto = uo.getnotoriety(ser)
if noto <> 1 and noto <> 0 and not uo.injournal("elemental") and not uo.injournal("You loosen") then
uo.print("!!!ALARM!!!")
endif
next
endsub
###############################
Code: Select all
while true
for i=0 to 10
type = uo.getGraphic(uo.journalSerial(i))
if type = "чувак" || type = "баба" then
uo.print("Кто-та пришёл")
uo.setjournalline(i,"")
endif
next
wait(200)
wend
А у тебя ТВИ включен?
Код:
while true
for i=0 to 10
type = uo.getGraphic(uo.journalSerial(i))
if type = "чувак" || type = "баба" then
uo.print("Кто-та пришёл")
uo.setjournalline(i,"")
endif
next
wait(200)
wend
Что-то такое не пашет?..
Code: Select all
Sub Scaner()
var jor, noto, ser
for jor = 0 to 9
ser = uo.journalserial(jor)
noto = uo.getnotoriety(ser)
if noto <> 1 and noto <> 0 and not uo.injournal("heavy") then
uo.print("!Alarm!")
endif
next
end sub
Code: Select all
Sub Scaner()
var jor, ser
for jor = 0 to 9
ser = uo.journalserial(jor)
if not uo.injournal("heavy") then
uo.print("!Alarm!")
endif
next
end sub
Code: Select all
#############################
##### Мининг версия 2.6 #####
#############################
sub maning()
var mx, my, mz, i, j, e, f, g, t, Exit1, a
UO.Exec("set norbcheck 1") # нужно для рекола #
UO.Exec("set norbcalc 1") # нужно для рекола #
e=1 # перменная местонахождения #
f=0 # перменная подсчета пустых тайлов #
# необходимо указать Runeboock в Object - from target #
UO.DeleteJournal()
na4alo: # поехали #
mx = UO.GetX("self")
my = UO.GetY("self")
mz = UO.GetZ("self")
For i = mx-4 to mx+4 # радиус окапывания по х #
For j = my-4 to my+4 # радиус окапывания по у #
tohide() # прячемся #
UO.Print("Mine in: "+str(mx-i)+" "+str(my-j))
while not UO.InJournal("You put") and not UO.InJournal("heavy") and not UO.InJournal("location") and not UO.InJournal("no ore") and not UO.InJournal("far away") and not UO.InJournal("in rock")
UO.DeleteJournal()
if uo.waiting() then
uo.canceltarget()
endif
UO.Waittargettile("1341", str(i), str(j), str(mz))
UO.Useobject("Shovel") # необходимо указать Shovel в Object - from target #
while not UO.InJournal("You put") and not UO.InJournal("heavy") and not UO.InJournal("location") and not UO.InJournal("no ore") and not UO.InJournal("but fail") and not UO.InJournal("far away") and not UO.InJournal("in rock")
if uo.injournal("heavy") then # вырыли элемента #
# ниже поменять на свою мелодию #
uo.playwav("d:\Games\Ultima Online 2D\element.wav")
# убиваем элемента, собираем руду и копаем дальше #
Vortex:
uo.exec('usetype 0x0f0e 0x0631') # пьем инвизку, а то энергетик порвет =) #
wait(300)
uo.cast('Energy Vortex','self')
repeat
wait(300)
until uo.injournal("fizzles") or uo.injournal("Vortex")
if uo.injournal("fizzles") then
goto Vortex
else
cheklag()
wait(15000)
istka:
uo.exec('usetype 0x0f0e 0x09DF') # пьем манку #
wait(500)
uo.cast('Mass Dispel','self')
cheklag()
wait(5000)
if uo.injournal("fizzles") then
goto istka
endif
UO.SetReceivingContainer('backpack')
UO.FindType('0x19B9',-1,'ground')
if UO.GetQuantity('finditem')>0 then
UO.Grab('0','finditem')
wait(2000)
endif
UO.FindType('0x19B7',-1,'ground')
if UO.GetQuantity('finditem')>0 then
UO.Grab('0','finditem')
wait(2000)
endif
UO.FindType('0x19BA',-1,'ground')
if UO.GetQuantity('finditem')>0 then
UO.Grab('0','finditem')
wait(2000)
endif
UO.FindType('0x19B8',-1,'ground')
if UO.GetQuantity('finditem')>0 then
UO.Grab('0','finditem')
wait(2000)
endif
UO.UnSetReceivingContainer()
endif
goto reccal
endif
# ниже записать всех своих знакомых киллеров =) #
Scaner()
if uo.injournal("[nCuXu]") or uo.injournal("Quas") or uo.injournal("Valkirye") or uo.injournal("[DN]") or uo.injournal("Bloodman") or uo.injournal("Tangar") or uo.injournal("BilaZ") or uo.injournal("TiamaT") or uo.injournal("man") or uo.injournal("revealed") or uo.injournal("LEXEY") or uo.injournal("REM") then # смотрим как ПК обломался и улыбаемся #
tut:
# ниже поменять на свою мелодию #
uo.playwav("d:\Games\Ultima Online 2D\pk.wav")
if uo.waiting() then
uo.canceltarget()
endif
uo.exec('usetype 0x0f0e 0x0631') # пьем инвизку, лежат в паке #
Save() # улетаем домой если ПК Вас раздетектил(при появлении записанных ПК), все выкладываем пополняем реги перемаркиваем руну, медитируем, прячемся и назад через установленное время #
e=1 # устанавливаем начальное положение #
wait(180000) # стоко времени ждем дома у сейфа #
goto end
endif
###########################################################
##### Переход если 20 раз не найдена руда вокруг себя #####
###########################################################
if UO.InJournal("no ore here") then
f=f+1
endif
if f>20 then # 20 раз #
# ниже поменять на свою мелодию - это я так для себя сделал, необязательная мелодия #
uo.playwav("d:\Games\Ultima Online 2D\perehod.wav")
f=0 # обнуление переменной пустых тайлов #
g=0 # переменная перехода #
if e == 1 then
UO.Print("Go West 7 step.") # столько раз будем шагать на West #
repeat
g=g+1
GoW()
Scaner()
if uo.injournal("[nCuXu]") or uo.injournal("Quas") or uo.injournal("Valkirye") or uo.injournal("[DN]") or uo.injournal("Bloodman") or uo.injournal("Tangar") or uo.injournal("BilaZ") or uo.injournal("TiamaT") or uo.injournal("man") or uo.injournal("LEXEY") or uo.injournal("REM") then # предохраняемся #
goto tut
endif
until g>6 # 6+1 стоко шагов #
UO.DeleteJournal()
e=2
goto na4alo
else
UO.Print("Go East 7 step.") # столько раз будем шагать на East #
repeat
g=g+1
GoE()
if uo.injournal("[nCuXu]") or uo.injournal("Quas") or uo.injournal("Valkirye") or uo.injournal("[DN]") or uo.injournal("Bloodman") or uo.injournal("Tangar") or uo.injournal("BilaZ") or uo.injournal("TiamaT") or uo.injournal("man") or uo.injournal("LEXEY") or uo.injournal("REM") then
goto tut
endif
until g>6
UO.DeleteJournal()
e=1
goto na4alo
endif
endif
wend
if uo.weight > 600 then # вес по которому летим домой по рунбуке #
goto end
endif
wend
#########
UO.DeleteJournal()
next # переключатель цикла #
next # то же #
goto na4alo # и по кругу пока не найдем 20 пустых тайлов #
end:
if uo.waiting() then
uo.canceltarget()
endif
uo.exec("recall Runeboock 21") # домой по рунбуку - в первом слоте руна к сейфу #
mx = UO.GetX("self")
my = UO.GetY("self")
wait(11000)
if not UO.GetX("self") <> mx and not UO.GetY("self") <> my then
goto end # проверка на физл #
endif
e=1
loot() # выкладывает накопанное в сейф #
reccal:
uo.deletejournal()
if uo.waiting() then
uo.canceltarget()
endif
uo.exec("recall Runeboock 94") # назад трудиться в шахте =), рунка в 8-м слоте рунбуки #
mx = UO.GetX("self")
my = UO.GetY("self")
wait(11000)
if not UO.GetX("self") <> mx and not UO.GetY("self") <> my then
goto reccal # проверка на физл #
endif
goto na4alo
end sub
##################################################
##### Переход на 1 клетку в направлении West #####
##################################################
sub GoW()
VAR walkwait=300
VAR x,y,dir=6
VAR key=36 ; Home key
x=UO.GetX()
y=UO.GetY()
while UO.GetDir()<>dir
UO.Press(key)
wait(walkwait)
if UO.GetDir()<>dir then
cheklag()
endif
wend
UO.Press(key)
wait(walkwait)
if x==UO.GetX() and y==UO.GetY() then
cheklag()
Endif
if UO.GetX()+1==x then
return -1
else
return 1
endif
end sub
##################################################
##### Переход на 1 клетку в направлении East #####
##################################################
sub GoE()
VAR walkwait=300
VAR x,y,dir=2
VAR key=34 ; PgDown
x=UO.GetX()
y=UO.GetY()
while UO.GetDir()<>dir
UO.Press(key)
wait(walkwait)
if UO.GetDir()<>dir then
cheklag()
endif
wend
UO.Press(key)
wait(walkwait)
if x==UO.GetX() and y==UO.GetY() then
cheklag()
endif
if UO.GetX()-1==x then
return -1
else
return 1
endif
end sub
#############################################################
##### Анти ПК: если Вас раздетектили - по рунке к сейфу #####
#############################################################
sub Save() # описано выше #
reccal2:
UO.DeleteJournal()
if uo.waiting() then
uo.canceltarget()
endif
UO.FindType('0x1F15',-1,'backpack')
UO.Cast('Recall','finditem')
repeat
wait(300)
until uo.injournal("Kal Ort Por")
wait(4000)
if uo.injournal("fizzles") then
goto reccal2
endif
wait(2000)
tohide()
loot()
UO.DeleteJournal()
UO.FindType('0x1F15',-1,'backpack')
UO.Cast('Mark','finditem')
wait(7000)
uo.exec('usetype 0x0f0e 0x09DF') # Пьем манку #
Med:
uo.warmode('0')
repeat
UO.UseSkill('Meditation')
wait(5000)
until uo.injournal("peace") or uo.injournal("lose") or uo.injournal("preoccupied")
if UO.InJournal("lose") then
UO.DeleteJournal()
goto Med
endif
fillitems()
tohide()
end sub
#########################################
##### Упаковка готового продукта =) #####
#########################################
sub loot() # складываем руду в сейф #
VAR a, Exit
if uo.waiting() then
uo.canceltarget()
endif
VAR UnloadCont='0x4000E3AA' ;0x401731D2' # поменять на ID своего сейфа куда складываем руду, узнать его можно командой ',info - появиться цель, на сейф, в окне Text - ID' #
DIM Ore[5]
Ore[0]=0x19B9 # 4 и более руды #
Ore[1]=0x19B7 # 1 руда #
Ore[2]=0x19BA # 2 руды #
Ore[3]=0x19B8 # 3 руды #
UO.SetReceivingContainer(UnloadCont)
wait(500)
For a = 0 to 3
Exit=0
repeat
UO.FindType(Ore[a])
if UO.GetQuantity('finditem')>0 then
UO.Grab('0','finditem')
wait(1500)
else
Exit=1
endif
until Exit==1
next
UO.UnSetReceivingContainer()
cheklag()
end sub
####################
##### Прячемся #####
####################
sub tohide()
while not UO.Hidden()
UO.DeleteJournal()
UO.warmode('0')
UO.UseSkill('Stealth')
repeat
wait(300)
until UO.InJournal('You have hidden') OR UO.InJournal('seem to hide') OR UO.InJournal('preoccupied')
cheklag()
wend
end sub
##################################################################
##### Пополнение всех нужных регов до 10, инвизок до 2, манок до 3 #####
##################################################################
sub fillitems()
VAR StoreRegCont='0x40173275' # непосредственно сам пак с регами, инвизками и манками в сейфе #
VAR CharRegBag='backpack' # куда сложить реги себе #
VAR CountReg=10 # количество регов каждого типа #
VAR WaitTime=1000
VAR MainSafe='0x4000E3AA' # сейф где лежит пак с регами #
var y
tohide()
UO.FindType('0x09B0','0x0044','backpack')
if UO.GetQuantity('finditem')>0 then
CharRegBag='finditem'
endif
UO.UseObject(MainSafe)
cheklag()
UO.UseObject(StoreRegCont)
cheklag()
UO.SetReceivingContainer(CharRegBag)
wait(WaitTime)
if UO.BM<CountReg then
UO.FindType('0x0F7B','-1',StoreRegCont) ; BM
UO.Grab(STR((CountReg-UO.BM)),'finditem')
wait(WaitTime)
endif
cheklag()
if UO.BP<CountReg then
UO.FindType('0x0F7A','-1',StoreRegCont) ; BP
UO.Grab(STR(CountReg-UO.BP),'finditem')
wait(WaitTime)
endif
cheklag()
if UO.GA<CountReg then
UO.FindType('0x0F84','-1',StoreRegCont) ; GA
UO.Grab(STR(CountReg-UO.GA),'finditem')
wait(WaitTime)
endif
cheklag()
if UO.MR<CountReg then
UO.FindType('0x0F86','-1',StoreRegCont) ; MR
UO.Grab(STR(CountReg-UO.MR),'finditem')
wait(WaitTime)
endif
cheklag()
if UO.NS<CountReg then
UO.FindType('0x0F88','-1',StoreRegCont) ; NS
UO.Grab(STR(CountReg-UO.NS),'finditem')
wait(WaitTime)
endif
cheklag()
if UO.SA<CountReg then
UO.FindType('0x0F8C','-1',StoreRegCont) ; SA
UO.Grab(STR(CountReg-UO.SA),'finditem')
wait(WaitTime)
endif
cheklag()
##### инвизки #####
UO.FindType('0x0f0e','0x0631','backpack')
if UO.GetQuantity('finditem')<2 then
y=UO.GetQuantity('finditem')
UO.FindType('0x0f0e','0x0631',StoreRegCont) ; инвизки
UO.Grab(STR(2-y),'finditem')
wait(WaitTime)
endif
cheklag()
##### манки #####
UO.FindType('0x0f0e','0x09DF','backpack')
if UO.GetQuantity('finditem')<3 then
y=UO.GetQuantity('finditem')
UO.FindType('0x0f0e','0x09DF',StoreRegCont) ; манки
UO.Grab(STR(3-y),'finditem')
wait(WaitTime)
endif
cheklag()
UO.UnsetReceivingContainer()
end sub
###########################
##### Проверка на лаг #####
###########################
sub cheklag()
UO.DeleteJournal()
UO.Click('backpack')
repeat
wait(300)
until UO.InJournal('backpack')
end sub
###############################
##### Модуль сканирования #####
###############################
Sub Scaner()
var jor, noto, ser
for jor = 0 to 9
ser = uo.journalserial(jor)
noto = uo.getnotoriety(ser)
if noto <> 0 and not uo.injournal("heavy") and not uo.injournal("loosen") then
uo.print("!Alarm!")
endif
next
end sub
###############################
Если ты зайдешь в поиск на форуме и дашь поиск фразы "You see:" - ты найдешь кучу постов, в которых черным по белому написано, что эта фраза есть только в журнале клиента, в инжекте ее нету. Можешь и сам проверить: когда в клиенте такая фраза появится, вызови на экран журнал инжекта командой ",showjournal 100" и ищи эту фразу.
ЗЫ: Это чисто клиентская штучка, в инжекте ее нету.
Code: Select all
#############################
##### Мининг версия 2.7 #####
#############################
sub maning()
var mx, my, mz, i, j, e, f, g, t, Exit1, a
UO.Exec("set norbcheck 1") # нужно для рекола #
UO.Exec("set norbcalc 1") # нужно для рекола #
e=1 # перменная местонахождения #
f=0 # перменная подсчета пустых тайлов #
# необходимо указать Runeboock в Object - from target #
UO.DeleteJournal()
na4alo: # поехали #
mx = UO.GetX("self")
my = UO.GetY("self")
mz = UO.GetZ("self")
For i = mx-4 to mx+4 # радиус окапывания по х #
For j = my-4 to my+4 # радиус окапывания по у #
tohide() # прячемся #
UO.Print("Mine in: "+str(mx-i)+" "+str(my-j))
while not UO.InJournal("You put") and not UO.InJournal("heavy") and not UO.InJournal("location") and not UO.InJournal("no ore") and not UO.InJournal("far away") and not UO.InJournal("in rock")
UO.DeleteJournal()
if uo.waiting() then
uo.canceltarget()
endif
UO.Waittargettile("1341", str(i), str(j), str(mz))
UO.Useobject("Shovel") # необходимо указать Shovel в Object - from target #
while not UO.InJournal("You put") and not UO.InJournal("heavy") and not UO.InJournal("location") and not UO.InJournal("no ore") and not UO.InJournal("but fail") and not UO.InJournal("far away") and not UO.InJournal("in rock")
if uo.injournal("heavy") then # вырыли элемента #
# ниже поменять на свою мелодию #
uo.playwav("d:\Games\Ultima Online 2D\element.wav")
# убиваем элемента, собираем руду и копаем дальше #
Vortex:
uo.exec('usetype 0x0f0e 0x0631') # пьем инвизку, а то энергетик порвет =) #
wait(300)
uo.cast('Energy Vortex','self')
repeat
wait(300)
until uo.injournal("fizzles") or uo.injournal("Vortex")
if uo.injournal("fizzles") then
goto Vortex
else
cheklag()
wait(15000)
istka:
uo.exec('usetype 0x0f0e 0x09DF') # пьем манку #
wait(500)
uo.cast('Mass Dispel','self')
cheklag()
wait(5000)
if uo.injournal("fizzles") then
goto istka
endif
UO.SetReceivingContainer('backpack')
UO.FindType('0x19B9',-1,'ground')
if UO.GetQuantity('finditem')>0 then
UO.Grab('0','finditem')
wait(2000)
endif
UO.FindType('0x19B7',-1,'ground')
if UO.GetQuantity('finditem')>0 then
UO.Grab('0','finditem')
wait(2000)
endif
UO.FindType('0x19BA',-1,'ground')
if UO.GetQuantity('finditem')>0 then
UO.Grab('0','finditem')
wait(2000)
endif
UO.FindType('0x19B8',-1,'ground')
if UO.GetQuantity('finditem')>0 then
UO.Grab('0','finditem')
wait(2000)
endif
UO.UnSetReceivingContainer()
endif
goto reccal
endif
# ниже записать всех своих знакомых киллеров =) #
if Scaner()==1 or uo.injournal("man") then # смотрим как ПК обломался и улыбаемся #
tut:
if uo.waiting() then
uo.canceltarget()
endif
uo.exec('usetype 0x0f0e 0x0631') # пьем инвизку, лежат в паке #
Save() # улетаем домой если ПК Вас раздетектил(при появлении записанных ПК), все выкладываем пополняем реги перемаркиваем руну, медитируем, прячемся и назад через установленное время #
# ниже поменять на свою мелодию #
uo.playwav("d:\Games\Ultima Online 2D\pk.wav")
e=1 # устанавливаем начальное положение #
wait(180000) # стоко времени ждем дома у сейфа #
goto end
endif
###########################################################
##### Переход если 20 раз не найдена руда вокруг себя #####
###########################################################
if UO.InJournal("no ore here") then
f=f+1
endif
if f>20 then # 20 раз #
# ниже поменять на свою мелодию - это я так для себя сделал, необязательная мелодия #
uo.playwav("d:\Games\Ultima Online 2D\perehod.wav")
f=0 # обнуление переменной пустых тайлов #
g=0 # переменная перехода #
if e == 1 then
UO.Print("Go West 7 step.") # столько раз будем шагать на West #
repeat
g=g+1
GoW()
if Scaner()==1 or uo.injournal("man") then # предохраняемся #
goto tut
endif
until g>6 # 6+1 стоко шагов #
UO.DeleteJournal()
e=2
goto na4alo
else
UO.Print("Go East 7 step.") # столько раз будем шагать на East #
repeat
g=g+1
GoE()
if Scaner()==1 or uo.injournal("man") then
goto tut
endif
until g>6
UO.DeleteJournal()
e=1
goto na4alo
endif
endif
wend
if uo.weight > 600 then # вес по которому летим домой по рунбуке #
goto end
endif
wend
#########
UO.DeleteJournal()
next # переключатель цикла #
next # то же #
goto na4alo # и по кругу пока не найдем 20 пустых тайлов #
end:
if uo.waiting() then
uo.canceltarget()
endif
uo.exec("recall Runeboock 21") # домой по рунбуку - в первом слоте руна к сейфу #
mx = UO.GetX("self")
my = UO.GetY("self")
wait(11000)
if not UO.GetX("self") <> mx and not UO.GetY("self") <> my then
goto end # проверка на физл #
endif
e=1
loot() # выкладывает накопанное в сейф #
reccal:
uo.deletejournal()
if uo.waiting() then
uo.canceltarget()
endif
uo.exec("recall Runeboock 94") # назад трудиться в шахте =), рунка в 8-м слоте рунбуки #
mx = UO.GetX("self")
my = UO.GetY("self")
wait(11000)
if not UO.GetX("self") <> mx and not UO.GetY("self") <> my then
goto reccal # проверка на физл #
endif
goto na4alo
end sub
##################################################
##### Переход на 1 клетку в направлении West #####
##################################################
sub GoW()
VAR walkwait=300
VAR x,y,dir=6
VAR key=36 ; Home key
x=UO.GetX()
y=UO.GetY()
while UO.GetDir()<>dir
UO.Press(key)
wait(walkwait)
if UO.GetDir()<>dir then
cheklag()
endif
wend
UO.Press(key)
wait(walkwait)
if x==UO.GetX() and y==UO.GetY() then
cheklag()
Endif
if UO.GetX()+1==x then
return -1
else
return 1
endif
end sub
##################################################
##### Переход на 1 клетку в направлении East #####
##################################################
sub GoE()
VAR walkwait=300
VAR x,y,dir=2
VAR key=34 ; PgDown
x=UO.GetX()
y=UO.GetY()
while UO.GetDir()<>dir
UO.Press(key)
wait(walkwait)
if UO.GetDir()<>dir then
cheklag()
endif
wend
UO.Press(key)
wait(walkwait)
if x==UO.GetX() and y==UO.GetY() then
cheklag()
endif
if UO.GetX()-1==x then
return -1
else
return 1
endif
end sub
#############################################################
##### Анти ПК: если Вас раздетектили - по рунке к сейфу #####
#############################################################
sub Save() # описано выше #
reccal2:
UO.DeleteJournal()
if uo.waiting() then
uo.canceltarget()
endif
UO.FindType('0x1F15',-1,'backpack')
UO.Cast('Recall','finditem')
repeat
wait(300)
until uo.injournal("Kal Ort Por")
wait(4000)
if uo.injournal("fizzles") then
goto reccal2
endif
wait(2000)
tohide()
loot()
UO.DeleteJournal()
UO.FindType('0x1F15',-1,'backpack')
UO.Cast('Mark','finditem')
wait(7000)
uo.exec('usetype 0x0f0e 0x09DF') # Пьем манку #
Med:
uo.warmode('0')
repeat
UO.UseSkill('Meditation')
wait(5000)
until uo.injournal("peace") or uo.injournal("lose") or uo.injournal("preoccupied")
if UO.InJournal("lose") then
UO.DeleteJournal()
goto Med
endif
fillitems()
tohide()
end sub
#########################################
##### Упаковка готового продукта =) #####
#########################################
sub loot() # складываем руду в сейф #
VAR a, Exit
if uo.waiting() then
uo.canceltarget()
endif
VAR UnloadCont='0x4000E3AA' ;0x401731D2' # поменять на ID своего сейфа куда складываем руду, узнать его можно командой ',info - появиться цель, на сейф, в окне Text - ID' #
DIM Ore[5]
Ore[0]=0x19B9 # 4 и более руды #
Ore[1]=0x19B7 # 1 руда #
Ore[2]=0x19BA # 2 руды #
Ore[3]=0x19B8 # 3 руды #
UO.SetReceivingContainer(UnloadCont)
wait(500)
For a = 0 to 3
Exit=0
repeat
UO.FindType(Ore[a])
if UO.GetQuantity('finditem')>0 then
UO.Grab('0','finditem')
wait(1500)
else
Exit=1
endif
until Exit==1
next
UO.UnSetReceivingContainer()
cheklag()
end sub
####################
##### Прячемся #####
####################
sub tohide()
while not UO.Hidden()
UO.DeleteJournal()
UO.warmode('0')
UO.UseSkill('Stealth')
repeat
wait(300)
until UO.InJournal('You have hidden') OR UO.InJournal('seem to hide') OR UO.InJournal('preoccupied')
cheklag()
wend
end sub
#####################################################################
##### Пополнение всех нужных регов до 10, инвизок до 2, манок до 3 #####
#####################################################################
sub fillitems()
VAR StoreRegCont='0x40173275' # непосредственно сам пак с регами, инвизками и манками в сейфе #
VAR CharRegBag='backpack' # куда сложить реги себе #
VAR CountReg=10 # количество регов каждого типа #
VAR WaitTime=1000
VAR MainSafe='0x4000E3AA' # сейф где лежит пак с регами #
var y
tohide()
UO.FindType('0x09B0','0x0044','backpack')
if UO.GetQuantity('finditem')>0 then
CharRegBag='finditem'
endif
UO.UseObject(MainSafe)
cheklag()
UO.UseObject(StoreRegCont)
cheklag()
UO.SetReceivingContainer(CharRegBag)
wait(WaitTime)
if UO.BM<CountReg then
UO.FindType('0x0F7B','-1',StoreRegCont) ; BM
UO.Grab(STR((CountReg-UO.BM)),'finditem')
wait(WaitTime)
endif
cheklag()
if UO.BP<CountReg then
UO.FindType('0x0F7A','-1',StoreRegCont) ; BP
UO.Grab(STR(CountReg-UO.BP),'finditem')
wait(WaitTime)
endif
cheklag()
if UO.GA<CountReg then
UO.FindType('0x0F84','-1',StoreRegCont) ; GA
UO.Grab(STR(CountReg-UO.GA),'finditem')
wait(WaitTime)
endif
cheklag()
if UO.MR<CountReg then
UO.FindType('0x0F86','-1',StoreRegCont) ; MR
UO.Grab(STR(CountReg-UO.MR),'finditem')
wait(WaitTime)
endif
cheklag()
if UO.NS<CountReg then
UO.FindType('0x0F88','-1',StoreRegCont) ; NS
UO.Grab(STR(CountReg-UO.NS),'finditem')
wait(WaitTime)
endif
cheklag()
if UO.SA<CountReg then
UO.FindType('0x0F8C','-1',StoreRegCont) ; SA
UO.Grab(STR(CountReg-UO.SA),'finditem')
wait(WaitTime)
endif
cheklag()
##### инвизки #####
UO.FindType('0x0f0e','0x0631','backpack')
if UO.GetQuantity('finditem')<2 then
y=UO.GetQuantity('finditem')
UO.FindType('0x0f0e','0x0631',StoreRegCont) ; инвизки
UO.Grab(STR(2-y),'finditem')
wait(WaitTime)
endif
cheklag()
##### манки #####
UO.FindType('0x0f0e','0x09DF','backpack')
if UO.GetQuantity('finditem')<3 then
y=UO.GetQuantity('finditem')
UO.FindType('0x0f0e','0x09DF',StoreRegCont) ; манки
UO.Grab(STR(3-y),'finditem')
wait(WaitTime)
endif
cheklag()
UO.UnsetReceivingContainer()
end sub
###########################
##### Проверка на лаг #####
###########################
sub cheklag()
UO.DeleteJournal()
UO.Click('backpack')
repeat
wait(300)
until UO.InJournal('backpack')
end sub
###############################
##### Модуль сканирования #####
###############################
sub Scaner()
var jor, noto, ser
uo.ignore('self')
uo.deletejournal()
while not uo.dead()
for jor=0 to 9
ser = uo.journalserial(jor)
noto = uo.getnotoriety(ser)
if noto == 1 or noto == 6 and not uo.injournal("elemental") then
return 1
else
return 0
endif
next
wend
end sub
###############################
Code: Select all
sub CheckingPlayers()
VAR a, b
uo.ignore('self', 'on')
DIM Chars[2]
Chars[0] = '0x0190' #тип игрока мужского пола#
Chars[1] = '0x0191' #тип игрока женского пола#
while not uo.dead()
for a = 0 to 1
if uo.injournal('GM') or uo.injournal('Admin') or uo.injournal('Seer') or uo.injournal('Counselor') or uo.injournal('Developer') then
uo.usetype('0x0F08')
uo.closeuo()
else
wait(50)
endif
while val(uo.getglobal('find')) == 1
wait(50)
wend
uo.set('finddistance', '15')
uo.findtype(Chars[a], '-1', '1')
if uo.findcount() > 0 then
uo.setglobal('find', '0')
uo.usetype('0x0F08')
uo.exec('terminate Teleportation')
uo.exec('terminate Obkopka')
uo.exec('terminate ChengePlace')
uo.exec('terminate KillElemental')
uo.exec('exec Teleportation')
return
else
wait(500)
endif
next
wend
end sub