DRW (2009) by Dark Enemy

Anything and all.

Moderators: Murderator+, Murderator

Nmy
Expert!
Posts: 2152
Joined: 2005-09-14 15:31:58
Location: Latvia

Post by Nmy »

Code: Select all

sub Ress() 
	VAR n
	Dim ress[2] 
	ress[1] = '0x0192' 
	ress[2] = '0x0193'  
	for n = 1 To 2 
		if uo.countground(ress[n]) then 
			uo.msg('2')
			wait(500)
			uo.msg('1')
			uo.waittargetground(ress[n]) 
			uo.usetype('0x0E21') 
			uo.print('resurrecting')
			return
		end if
	next 
	uo.waittargetobject('laststatus')
	uo.usetype('0x0E21') 	
end sub
Last edited by Nmy on 2009-12-22 11:51:43, edited 2 times in total.
Nmy
Expert!
Posts: 2152
Joined: 2005-09-14 15:31:58
Location: Latvia

Post by Nmy »

Code: Select all

sub shrinkdrake()
	if uo.countground('0x003B') then
		uo.waittargetground('0x003B')
		uo.usetype('0x0F0E','0x0388')
		uo.deletejournal()
		repeat
			wait(100)
		until uo.injournal("You can't shrink|You put the empty bottle")
	endif	
	if uo.countground('0x20D6') then
		uo.moveitem('~0x20D6')
	endif		
endsub
sub killdrake()
	if uo.count('0x20D6') then
		uo.waittargetobject('lastattack')
		uo.usetype('0x20D6')
		uo.msg('all kill')
	endif	
endsub
Last edited by Nmy on 2009-12-17 17:07:35, edited 1 time in total.
Nmy
Expert!
Posts: 2152
Joined: 2005-09-14 15:31:58
Location: Latvia

Post by Nmy »

Code: Select all

sub RegCheck()
	VAR n, q, c
	Dim Req[50] ; Requirements
	Req[0]='0x0F7A' ; regi bp
	Req[1]='0x0F7B' ; regi bm 
	Req[2]='0x0F86' ; regi mr 
	Req[3]='0x0F88' ; regi ns 
	Req[4]='0x0F8D' ; regi ss
	Req[5]='0x0F84' ; regi ga
	Req[6]='0x0F85' ; regi gs
	Req[7]='0x0F8C' ; regi sa
	Req[8]='0x0F0E' ; gh
	Req[9]='0x0F0E' ; mana
	Req[10]='0x0F0E' ; refresh
	Req[11]='0x0E21' ; bandages
	Req[12]='0x1F52' ; paralyze scrolls
	Req[13]='0x0F0E' ; poison
	Req[14]='0x0F3F' ; arrows
	Req[15]='0x0F0E' ; empty bottles
	Req[16]='0x0E20' ; bloody bandages
	Req[17]='0x1F5F' ; fs
	Req[18]='0x1BFB' ; bolts
	Req[19]='0x0F03' ; Antifreeze
	Req[20]='0x0F0E' ; Invisibility
	Req[21]='0x1F50' ; Magic Reflection
	
	Dim Qnt[50] ; Quantity
	Qnt[0]=25 ; regi
	Qnt[1]=25 ; regi
	Qnt[2]=55 ; regi
	Qnt[3]=45 ; regi
	Qnt[4]=55 ; regi
	Qnt[5]=55 ; regi
	Qnt[6]=25 ; regi
	Qnt[7]=25 ; regi
	Qnt[8]=15 ; gh
	Qnt[9]=15 ; mana
	Qnt[10]=10 ; refresh
	Qnt[11]=100 ; bandages
	Qnt[12]=20 ; paralyze scrolls
	Qnt[13]=3 ; poison
	Qnt[14]=0 ; arrows
	Qnt[15]=0 ; empty bottles
	Qnt[16]=0 ; bloody bandages
	Qnt[17]=10 ; fs
	Qnt[18]=50 ; bolts
	Qnt[19]=3 ; Antifreeze
	Qnt[20]=0 ; Invisibility
	Qnt[21]=0 ; Magic Reflection
	
	Dim Clr[50] ; Color
	Clr[0]='0x0000' ; regi
	Clr[1]='0x0000' ; regi
	Clr[2]='0x0000' ; regi
	Clr[3]='0x0000' ; regi
	Clr[4]='0x0000' ; regi
	Clr[5]='0x0000' ; regi
	Clr[6]='0x0000' ; regi
	Clr[7]='0x0000' ; regi
	Clr[8]='0x09BB' ; gh
	Clr[9]='0x09DF' ; mana
	Clr[10]='0x0997' ; refresh
	Clr[11]='0x0000' ; bandages
	Clr[12]='0x0000' ; paralyze scrolls
	Clr[13]='0x0998' ; poison
	Clr[14]='0x0000' ; arrows
	Clr[15]='0x0000' ; empty bottles
	Clr[16]='0x0000' ; bloody bandages
	Clr[17]='0x0000' ; fs
	Clr[18]='0x0000' ; bolts
	Clr[19]='0x09CF' ; Antifreeze
	Clr[20]='0x0631' ; Invisibility
	Clr[21]='0x0000' ; Magic Reflection
	
	if (uo.getserial('backpack') <> uo.getserial('lastcontainer')) then
		c=uo.getserial('lastcontainer')
		for n=0 to 21
			while uo.count(Req[n],Clr[n])<>Qnt[n]
				q=Qnt[n]-uo.count(Req[n],Clr[n])
				if q>0 then
					uo.findtype(Req[n],Clr[n],c)
					if uo.findcount() then
						uo.moveitem('finditem',STR(q),'backpack',141,134,0)
						checklag()
						wait(600)
					else
						uo.msg(' item Req('+str(n)+') NOT FOUND ')
						return
					endif
				else
					q=-q				
					uo.findtype(Req[n],Clr[n],'backpack')	
					if uo.findcount() then
						uo.moveitem('finditem',STR(q),c)
						checklag()
						wait(600)
					endif
				endif
			wend
		next
	endif
	uo.print(' -= done =- ')
endsub
Last edited by Nmy on 2009-11-19 00:56:14, edited 1 time in total.
Nmy
Expert!
Posts: 2152
Joined: 2005-09-14 15:31:58
Location: Latvia

Post by Nmy »

Code: Select all

sub unloadregs()
	VAR n, q, c
	Dim Req[50] ; Requirements
	Req[0]='0x0F7A' ; regi 
	Req[1]='0x0F7B' ; regi  
	Req[2]='0x0F86' ; regi  
	Req[3]='0x0F88' ; regi  
	Req[4]='0x0F8D' ; regi 
	Req[5]='0x0F84' ; regi 
	Req[6]='0x0F85' ; regi 
	Req[7]='0x0F8C' ; regi
	Req[8]='0x0F0E' ; gh
	Req[9]='0x0F0E' ; mana
	Req[10]='0x0F0E' ; refresh
	Req[11]='0x0E21' ; bandages
	Req[12]='0x1F52' ; paralyze scrolls
	Req[13]='0x0F0E' ; poison
	Req[14]='0x0F3F' ; arrows
	Req[15]='0x0F0E' ; empty bottles
	Req[16]='0x0E20' ; bloody bandages
	Req[17]='0x1F5F' ; fs	
	Req[18]='0x1BFB' ; bolts
	Req[19]='0x0F03' ; Antifreeze
	if (uo.getserial('backpack') <> uo.getserial('lastcontainer')) then
		c=uo.getserial('lastcontainer')
		for n=0 to 19
			uo.findtype(Req[n],-1,'my')
			while uo.findcount()
				uo.moveitem('finditem',0,c)
				checklag()
				wait(700)
				uo.findtype(Req[n],-1,'my')
			wend
		next
	endif
	uo.print(' -= done =- ')
endsub
Nmy
Expert!
Posts: 2152
Joined: 2005-09-14 15:31:58
Location: Latvia

Post by Nmy »

Code: Select all

sub main()
	while 1
		checklag()
		uo.useskill('Hiding')
		wait(3100)
	wend
end sub
sub checklag() 
	repeat 
		UO.DeleteJournal() 
		UO.Click('backpack') 
	until backpack()==1 
endsub 
sub backpack() 
	var n 
	for n=0 to 200 
		if uo.injournal('a backpack') then 
			return 1 
		endif 
		wait(200) 
	next 
endsub
Last edited by Nmy on 2009-11-18 15:32:13, edited 1 time in total.
Nmy
Expert!
Posts: 2152
Joined: 2005-09-14 15:31:58
Location: Latvia

Post by Nmy »

Code: Select all

sub main()
	uo.addobject('dagger')
	while uo.targeting()
		wait(500)
	wend
	uo.addobject('chest')
	while uo.targeting()
		wait(500)
	wend
	uo.useobject('chest')
	wait(1000)
	while uo.skillval('Poisoning',1)<1000
		if uo.count('0x0F0E','0x0998')<5 then
			uo.findtype('0x0F0E','0x0998','chest')
			if uo.findcount() then
				uo.moveitem('finditem','50','backpack')
				checklag() 
				wait(600)
			else
				return
			endif
		endif
		uo.findtype('0x0F0E','0x0998','backpack')
		if uo.findcount() then
			uo.waittargetobject('dagger','finditem')
			uo.useskill('Poisoning')
			checklag() 
			wait(3600)
		endif
	wend
endsub
sub checklag() 
	repeat
		UO.DeleteJournal() 
		UO.Click('backpack') 
	until backpack()==1
endsub 
sub backpack()
	var n
	for n=0 to 200
		if uo.injournal('a backpack') then
			return 1
		endif
		wait(200)
	next
endsub 
Nmy
Expert!
Posts: 2152
Joined: 2005-09-14 15:31:58
Location: Latvia

Post by Nmy »

Code: Select all

sub main()#poison
	var chest='0x404AEDFD'
	var dropbag='0x402B76B5'
	uo.automenu('What sort of potion do you want to','(2)')
	while 1
		if uo.ns<10 then
			uo.findtype('0x0F88',-1,chest)
			if uo.findcount() then
				uo.moveitem('finditem','100','backpack')
				checklag()
				wait(700)
			endif
		endif
		if uo.count('0x0F0E','0x0000')<10 then
			uo.findtype('0x0F0E','0x0000',chest)
			if uo.findcount() then
				uo.moveitem('finditem','100','backpack')
				checklag()
				wait(700)
			endif
		endif
		checklag()
		uo.usetype('0x0F88')
		waitf(9100)
		if uo.count('0x0F0E','0x0998')>10 then
			uo.findtype('0x0F0E','0x0998','backpack')
			if uo.findcount() then
				uo.moveitem('finditem',0,dropbag)
				checklag()
				wait(700)
			endif
		endif		
	wend
endsub
sub checklag() 
	repeat
		UO.DeleteJournal() 
		UO.Click('backpack') 
	until backpack()==1
endsub 
sub backpack()
	var n
	for n=0 to 200
		if uo.injournal('a backpack') then
			return 1
		endif
		wait(200)
	next
endsub 
Last edited by Nmy on 2009-11-09 01:04:12, edited 1 time in total.
Nmy
Expert!
Posts: 2152
Joined: 2005-09-14 15:31:58
Location: Latvia

Post by Nmy »

Code: Select all

sub main()#gh
	var chest='0x404AEDFD'
	var dropbag='0x402B76B5'
	uo.automenu('What sort of potion do you want to','(3)')
	while 1
		if uo.gs<10 then
			uo.findtype('0x0F85',-1,chest)
			if uo.findcount() then
				uo.moveitem('finditem','100','backpack')
				checklag()
				wait(700)
			endif
		endif
		if uo.count('0x0F0E','0x0000')<10 then
			uo.findtype('0x0F0E','0x0000',chest)
			if uo.findcount() then
				uo.moveitem('finditem','100','backpack')
				checklag()
				wait(700)
			endif
		endif
		checklag()
		uo.usetype('0x0F85')
		wait(9100)
		if uo.count('0x0F0E','0x09BB')>10 then
			uo.findtype('0x0F0E','0x09BB','backpack')
			if uo.findcount() then
				uo.moveitem('finditem',0,dropbag)
				checklag()
				wait(700)
			endif
		endif		
	wend
endsub
sub checklag() 
	repeat
		UO.DeleteJournal() 
		UO.Click('backpack') 
	until backpack()==1
endsub 
sub backpack()
	var n
	for n=0 to 200
		if uo.injournal('a backpack') then
			return 1
		endif
		wait(200)
	next
endsub 
Last edited by Nmy on 2009-11-09 01:04:34, edited 1 time in total.
Nmy
Expert!
Posts: 2152
Joined: 2005-09-14 15:31:58
Location: Latvia

Post by Nmy »

Code: Select all

sub main()#total refresh
	var chest='0x404AEDFD'
	var dropbag='0x402B76B5'
	uo.automenu('What sort of potion do you want to','(2)')
	while 1
		if uo.bp<10 then
			uo.findtype('0x0F7A',-1,chest)
			if uo.findcount() then
				uo.moveitem('finditem','100','backpack')
				checklag()
				wait(700)
			endif
		endif
		if uo.count('0x0F0E','0x0000')<10 then
			uo.findtype('0x0F0E','0x0000',chest)
			if uo.findcount() then
				uo.moveitem('finditem','100','backpack')
				checklag()
				wait(700)
			endif
		endif
		checklag()
		uo.usetype('0x0F7A')
		wait(9100)
		if uo.count('0x0F0E','0x0997')>10 then
			uo.findtype('0x0F0E','0x0997','backpack')
			if uo.findcount() then
				uo.moveitem('finditem',0,dropbag)
				checklag()
				wait(700)
			endif
		endif		
	wend
endsub
sub checklag() 
	repeat
		UO.DeleteJournal() 
		UO.Click('backpack') 
	until backpack()==1
endsub 
sub backpack()
	var n
	for n=0 to 200
		if uo.injournal('a backpack') then
			return 1
		endif
		wait(200)
	next
endsub 
Last edited by Nmy on 2009-11-09 01:04:55, edited 1 time in total.
Nmy
Expert!
Posts: 2152
Joined: 2005-09-14 15:31:58
Location: Latvia

Post by Nmy »

Code: Select all

sub main()#total mana
	var chest='0x404AEDFD'
	var dropbag='0x402B76B5'
	uo.automenu('What sort of potion do you want to','(2)')
	while 1
		if uo.count('0x0F87')<10 then
			uo.findtype('0x0F87',-1,chest)
			if uo.findcount() then
				uo.moveitem('finditem','100','backpack')
				checklag()
				wait(700)
			endif
		endif
		if uo.count('0x0F0E','0x0000')<10 then
			uo.findtype('0x0F0E','0x0000',chest)
			if uo.findcount() then
				uo.moveitem('finditem','100','backpack')
				checklag()
				wait(700)
			endif
		endif
		checklag()
		uo.usetype('0x0F87')
		waitf(9100)
		if uo.count('0x0F0E','0x09DF')>10 then
			uo.findtype('0x0F0E','0x09DF','backpack')
			if uo.findcount() then
				uo.moveitem('finditem',0,dropbag)
				checklag()
				wait(700)
			endif
		endif		
	wend
endsub
sub checklag() 
	repeat
		UO.DeleteJournal() 
		UO.Click('backpack') 
	until backpack()==1
endsub 
sub backpack()
	var n
	for n=0 to 200
		if uo.injournal('a backpack') then
			return 1
		endif
		wait(200)
	next
endsub 
Last edited by Nmy on 2009-11-09 01:05:18, edited 1 time in total.
Nmy
Expert!
Posts: 2152
Joined: 2005-09-14 15:31:58
Location: Latvia

Post by Nmy »

Качает тинкер до 48.5 на gears и потом делает lockpicks.

Code: Select all

sub main()
	var chest='0x404CA4F5', flag
	if uo.skillval('Tinkering',1)<485 then
		uo.cancelmenu()
		uo.automenu('Tinkering','Parts')
		uo.automenu('Parts','gears')	
	else
		uo.cancelmenu()
		uo.automenu('Tinkering','Tools')
		uo.automenu('Tools','lockpick')	
		flag=2
	endif
	while 1
		if not uo.skillval('Tinkering',1)<485 && not flag==2 then
			uo.cancelmenu()
			uo.automenu('Tinkering','Tools')
			uo.automenu('Tools','lockpick')		
			flag=2
		endif
		if uo.count('0x1BEF','0x0000')<10 then
			uo.findtype('0x1BEF','0x0000',chest)
			if uo.findcount() then
				uo.moveitem('finditem','100','backpack')
				checklag()
				wait(600)
			endif
		endif
		if uo.count('0x1053')>50 then
			uo.findtype('0x1053',-1,'backpack')
			if uo.findcount() then
				uo.moveitem('finditem',0,chest)
				checklag()
				wait(600)
			endif
		endif
		if uo.count('0x14FB')>50 then
			uo.findtype('0x14FB',-1,'backpack')
			if uo.findcount() then
				uo.moveitem('finditem',0,chest)
				checklag()
				wait(600)
			endif
		endif
		checklag()
		uo.usetype('0x1EBC')
		waitforchange()
	wend
endsub 
sub waitforchange()
	var n
	for n=1 to 100
		if uo.injournal('You put|failed.') then
			return
		endif
		wait(400)
	next
endsub
sub checklag() 
	repeat
		UO.DeleteJournal() 
		UO.Click('backpack') 
	until backpack()==1
endsub 
sub backpack()
	var n
	for n=0 to 200
		if uo.injournal('a backpack') then
			return 1
		endif
		wait(200)
	next
endsub 
Last edited by Nmy on 2009-11-11 01:57:49, edited 1 time in total.
Nmy
Expert!
Posts: 2152
Joined: 2005-09-14 15:31:58
Location: Latvia

Post by Nmy »

Code: Select all

sub main() 
   var s, n
   Dim staff[2]
   staff[1]='0x13F8'
   staff[2]='0x13F9'
   for n=1 to 2
      uo.findtype(staff[n],-1,'my')
      if uo.findcount() then
         s=uo.getserial('finditem')
      endif
   next
   uo.addobject('thebeast') 
   while uo.targeting() 
      wait(500) 
   wend   
   while not uo.dead() 
      uo.msg('all release') 
      checklag()
      #uo.useskill('Spirit Speak') 
      uo.waittargetobject('thebeast') 
      uo.useobject(s) 
      tamingresult() 
   wend 
endsub 
sub tamingresult() 
   var n 
   for n=0 to 200
      wait(400)    
      if uo.injournal('It seems|fail to tame|see the creature|already tame')  then 
         return 
      endif 
   next 
endsub 
sub checklag() 
   repeat
      UO.DeleteJournal() 
      UO.Click('backpack') 
   until backpack()==1
endsub 
sub backpack()
   var n
   for n=0 to 200
      if uo.injournal('a backpack') then
         return 1
      endif
      wait(200)
   next
endsub
Nmy
Expert!
Posts: 2152
Joined: 2005-09-14 15:31:58
Location: Latvia

Post by Nmy »

Code: Select all

# 23.11.2009 
# 1# Mining Elemental hunter by Nmy a.k.a. Dark Enemy
# Суть скрипта - мининг по рункам. Запускать надо только sub main(). Нечего другого.
# Если чар жив, при запуске надо иметь в бекпаке руну к сундуку,
# если чар мертв, тогда просто запускайте скрипт.
# После запуска скрипт ищет кирку или лопату - автоматически.
# Требования перед запуском - реги bp bm mr ns ga в сундуке,
# бланк руны в мешке BlankRunebag,
# замарченые руны в Runebag (Чем больше, тем лучше. У меня где то 59 спотов),
# руна домой Runehome, прямо у сундука,
# инвизки в сундуке для рекола от пк и фарма елемов,
# скролы на Energy Vortex для фарма елемов,
# куча кирок в сундуке.
# При запуске чар должен иметь готовую руну домой в бекпаке. Других рун в бекпаке не должно быть.
##
# Запускается скрипт у сундука и записывается руна домой.
# Скрипт берет реги, 2 инвизки, скрол вортекса, если надо, кирку и улетает.
# Начинается копка. Через каждый тайл идет проверка на елема,
# если елем выха, плут или обсид - убивает елема, Vas An Ort, лутает руду, улетает, выгружается, берет руну в следующею шахту,
# Тщательно проверяется журнал на пк, исключая ('Elemental|Scorpion King|Giant Spider|Energy Vortex').
# Улетает от пк - пьет инвизку и делает рекол по рунбуке или руне,
# открываетcя окно текста TextOpen и пишется Nick @ время @ дата, например:
# Roland @ 15:59:20 @ 9.09.18
##
# Track World Items должен быть включен.
# Reconnector - включается, он просто заходит обратно, нет гарантии что скрипт будет дальше работать,
# но шанс на успех все таки есть.
##
# Добавлен ресс в Миноке. Чар ресается, летит домой, маркает руну домой, ищет кирку в сундуке, запускает мейн скрипт.
# Добавлены переменные для хелп кнопки, т.к. папердолл у каждого может быть в разных местах. 
# Undead надо включить.
##
# Чар медитирует фулл ману перед реколом в шахту.
var Pickaxe, Runehome, Blankrune, Runinetu, Nrune, flagpk
var Runebook='0x403A779E' # Для рекола домой.
var Runenr='46' # Номер руны.
var Chest='0x403DDE5C' # Я лично поставил 2 сейфа рядом - 1 для ресурсов, 2й для руды.
var Orechest='0x404BE1AE' # Сюда кидают руду.
var Dropbag='0x400F04AB' # Пустой мешок куда кидают руны после обкопа.
var Runebag='0x402C79CB' # Руны куда лететь.
var Blankrunebag='0x4006A346' # Мешок с бланк рунами.
var rune='0x1F14' # Тип руны.
var homeX=1520 # Координаты где стоит чар у сундука.
var homeY=205 # Координаты где стоит чар у сундука.
var helpX=1398 # Переменные без кавычек!
var helpY=53 # Переменные без кавычек!
var recallrunebook=0 # Улетает от пк по рунбуке или по руне. 1-рунбук, 0-руна.
var food='0x09BB' # Тип еды. Будет брать по 2 и кушать.
sub main()
	var markflag
	uo.exec('exec Reconnector')
	if not uo.getglobal('flagRes')=='1' then
		uo.exec('exec Resurrector')
		uo.setglobal('flagRes','1')
	endif
	wait(1000)   
	uo.print('Dont forget track world items!')
	uo.findtype(rune,-1,'backpack')
	if uo.findcount() then
		Runehome=uo.getserial('finditem')
	else
		uo.print('Runehome not found! Terminate.')
		uo.exec('terminate all')
	endif
	Open(Chest)
	GrabBlankRune()
	while not uo.dead()
		Open(Runebag)
		uo.findtype(rune,-1,Runebag)
		while uo.findcount() 
			uo.print('Медитируем')
			meditation(uo.int)
			Nrune=uo.getserial('finditem')
			uo.moveitem(Nrune,0,Dropbag)
			checklag()
			wait(700)
			RegCheck()
			RegCheck()
			grabinvis()
			GetPickaxe()
			grabvortex()
			toeat()
			RecallRune(Nrune)
			uo.ignorereset()
			markflag=0
			flagpk=0
			checkifelem()
			if uo.injournal('is attacking you') then
				uo.warmode(0)
				invis()
			endif
			if uo.injournal('The recall rune fades completely.') then
				markflag=1
				Mark(Blankrune,0)
				Runinetu=1
			endif
			mining() 
			checkifelem()
			if not flagpk==1 then
				repeat
					RecallRune(Runehome)
				until uo.getx('self')==homeX && uo.getY('self')==homeY
			endif
			if uo.injournal('The recall rune fades completely.') then
				Open(Chest)
				if Runinetu==1 then
					GrabBlankRune()
				endif
				Mark(Blankrune,1)
				GrabBlankRune()
			endif
			Open(Chest)
			if Runinetu==1 then
				GrabBlankRune()
			endif
			if markflag==1 then
				uo.moveitem(Nrune,0,Dropbag)
				checklag()
				wait(700)
			endif
			Dropore()
			if flagpk==1 then
				uo.print(' ждем 100 секунд ')
				wait(100000)
			endif
			Open(Runebag)
			uo.findtype(rune,-1,Runebag)
		wend
		DropbagCheck()
	wend
endsub
sub Resurrector()
	var oldX,oldY 
	while 1
		if uo.dead() then
			uo.exec('terminate main')
			uo.exec('terminate Reconnector')
			uo.TextOpen()
			uo.TextPrint('- dead - @ '+MakeTime())
			wait(5000)
			oldX = Uo.GetX() 
			oldY = Uo.GetY()
			uo.useobject('self')
			checklag()
			wait(700)
			repeat
				uo.lclick(helpX,helpY)
				checklag()
				wait(700)
				uo.lclick(264,308)
				checklag()
				wait(700)      
				uo.lclick(175,203)
				checklag()
				wait(5000)   
			until oldX<>UO.GetX() OR oldY<>UO.GetY()
			repeat
				uo.press(39)
				wait(2000)
			until UO.GetY()<534
			repeat
				uo.useobject('0x4001BDF0')
				wait(3000)
			until uo.life>0
			Open(uo.getserial('backpack'))
			wait(100000)
			oldX = Uo.GetX() 
			oldY = Uo.GetY()         
			uo.recall(Runebook,Runenr)
			repeat
				wait(700)
			until oldX<>uo.getx('self') && oldY<>uo.gety('self')
			Open(Chest)
			RegCheck()
			GrabBlankRune()
			Mark(Blankrune,1)
			if uo.waiting() then 
				uo.canceltarget() 
			endif 
			uo.exec('exec main')
		endif
		wait(5000)
	wend
endsub
sub checkifelem()
	uo.ignorereset()
	uo.findtype('0x0010',-1,'ground')
	if uo.findcount() then
		invis()
	endif
endsub
sub GetPickaxe()
	var n
	dim instrument[4]
	instrument[1]='0x0F39'
	instrument[2]='0x0F3A'
	instrument[3]='0x0E86'
	instrument[4]='0x0E85'
	if uo.count('0x0F39')==0 and uo.count('0x0F3A')==0 and uo.count('0x0E86')==0 and uo.count('0x0E85')==0 then
		for n=1 to 4
			uo.findtype(instrument[n],-1,Chest)
			if uo.findcount() then
				pickaxe=uo.getserial('finditem')
				uo.moveitem('finditem',0,'backpack')
				checklag()
				wait(700)
				return
			endif
		next
	else
		for n=1 to 4
			uo.findtype(instrument[n],-1,'my')
			if uo.findcount() then
				pickaxe=uo.getserial('finditem')
				return
			endif
		next   
	endif
	while 1
		uo.print(' pickaxe not found ')
		wait(3000)
	wend
endsub
sub Tohide()
	while not uo.Hidden()
		uo.warmode(0)
		uo.Print('Пытаемся уйти в хайд...')
		uo.UseSkill('Hiding')
		wait(4000)
	wend
end sub
sub checkelem()
	var n
	var flagvortex, Elemental, flaginvis
	Dim ore[2]
	ore[1]='0x19B8'
	ore[2]='0x19B9'
	uo.set('finddistance','3')
	uo.findtype('0x0010',-1,'ground')
	while uo.findcount()
		Elemental=uo.getserial('finditem')
		if checkcolor(Elemental)==1 then
			flagvortex=1
			if not flaginvis==1 then
				invis()
				flaginvis=1
			endif
			castvortex()
			uo.textopen()
			uo.textprint(uo.getname(Elemental)+' @ '+MakeTime())
			for n=0 to 15
				wait(1000)
				checkpk()
				if flagpk==1 then
					return
				endif
			next
		else
			uo.ignore(Elemental)
		endif
		uo.findtype('0x0010',-1,'ground')
	wend
	if flagvortex==1 then
		repeat
			checklag()
			while uo.mana<22
				wait(500)
			wend
			uo.waittargetobject('self')
			uo.cast('Mass Dispel')
			WaitForMana()
			wait(1000)
		until not uo.injournal('The spell fizzles')
		for n=1 to 2
			uo.findtype(ore[n],-1,'ground')
			while uo.findcount()
				uo.moveitem('finditem',-1,'backpack')
				checklag()
				wait(700)
				uo.findtype(ore[n],-1,'ground')
			wend
		next
		return 1
	endif
endsub
sub checkcolor(obj)
	var n, c
	Dim color[14]
	color[1]='0x09DA' ; vulcan
	color[2]='0x0060' ; aqua
	color[3]='0x0BA7' ; eldar
	color[4]='0x09E6' ; elvin
	color[5]='0x09B9' ; acid
	color[6]='0x09D3' ; steel
	color[7]='0x008F' ; sand rock
	color[8]='0x09EC' ; blood crest
	color[9]='0x09F0' ; gorgan
	color[10]='0x010F' ; krynite
	color[11]='0x09A4' ; crystaline
	color[12]='0x0085' ; dragon
	color[13]='0x08AF' ; plutonium
	color[14]='0x0028' ; obsidian
	c=uo.getcolor(obj)
	for n=1 to 14
		if c == color[n] then
			return 1
		endif
	next
endsub
sub castvortex()
	repeat
		checklag()
		uo.waittargettile('1341',str(uo.getx()),str(uo.gety()),str(uo.getz()))
		uo.resend()
		uo.findtype('0x1F66',-1,'backpack')
		if uo.findcount() then
			while uo.mana<13
				wait(500)
			wend
			uo.useobject('finditem')
		else
			while uo.mana<27
				wait(500)
			wend
			uo.cast('Energy Vortex')
		endif
		WaitForMana()
	until not uo.injournal('The spell fizzles')
endsub
sub WaitForMana()
	VAR w,m
	m=uo.mana
	for w=0 to 100
		if uo.mana<m then
			return
		endif
		if uo.injournal('is attacking you') then
			checklag()
			invis()
		endif
		wait(200)
	next
endsub
sub grabvortex()
	var kol=1, q
	uo.findtype('0x1F66',-1,'backpack')
	if uo.getquantity('finditem')<kol then
		q=kol-uo.getquantity('finditem')
		uo.print('Ищем вортекс')
		uo.findtype('0x1F66',-1,Chest)
		if uo.findcount() then
			uo.moveitem('finditem',STR(q),'backpack')
			checklag()
			wait(700)
		endif
	endif
endsub
sub toeat()
	repeat
		uo.findtype(food,-1,Chest)
		if uo.findcount() then
			uo.moveitem('finditem','2','backpack')
			checklag()
			wait(600)
			repeat
				uo.usetype(food)
				wait(500)
			until uo.injournal('full to eat') or uo.count(food)==0
		endif
	until uo.injournal('full to eat')
	uo.findtype(food,-1,'backpack') 
	if uo.findcount() then 
		uo.moveitem('finditem',0,Chest) 
		checklag() 
		wait(600) 
	endif   
endsub
sub Open(what)
	uo.useobject(what)
	checklag()
	wait(700)
endsub
sub Dropore()
	var n
	Dim ore[5]
	ore[0]='0x19BA'
	ore[1]='0x19B7'
	ore[2]='0x19B8'
	ore[3]='0x19B9'
	ore[4]='0x0F10'
	uo.warmode(0)
	uo.useskill('Hiding')
	for n=0 to 4
		uo.findtype(ore[n],-1,'backpack')
		while uo.findcount()
			uo.moveitem('finditem',0,Orechest)
			checklag()
			wait(700)
			uo.findtype(ore[n],-1,'backpack')
		wend
	next
	uo.print('Dropore done.')
endsub
sub Mark(RuneID,Place) 
	repeat
		meditation(33)
		checklag()
		Uo.Cast('Mark',RuneID) 
		WaitForMana()
		wait(300)
	until not uo.injournal('The spell fizzles')
	if Place==0 then 
		Nrune=uo.getserial(RuneID)
	else 
		Runehome=uo.getserial(RuneID)
	endif 
endsub 
sub meditation(mn)
	uo.warmode(0)
	while uo.mana < mn
		if uo.mana==uo.int then
			return
		endif
		checklag()
		uo.Useskill('Meditation') 
		waitformed(mn) 
		wait(1000)
	wend
endsub 
sub waitformed(mn)
	var n
	for n=0 to 100
		if uo.injournal('You lose|You are at peace') or uo.mana>=mn then
			return
		endif
		wait(500)
	next
endsub 
sub RecallRune(nowrune) 
	uo.Print('улетаем по руне') 
	var oldX,oldY 
	oldX = Uo.GetX() 
	oldY = Uo.GetY()
	repeat
		meditation(20)
		checklag()
		Uo.Cast('Recall',nowrune)
		WaitForMana()
		wait(1000)
	Until oldX<>UO.GetX() AND oldY<>UO.GetY() 
endsub 
sub grabinvis()
	uo.findtype('0x0F0E',-1,'backpack')
	while uo.findcount()
		uo.moveitem('finditem',0,Chest)
		checklag()
		wait(700)
		uo.findtype('0x0F0E',-1,'backpack')
	wend
	uo.findtype('0x0F0E','0x0631',Chest)
	if uo.findcount() then
		uo.print('Ищем инвизку')
		uo.moveitem('finditem','2','backpack')
		checklag()
		wait(700)
	endif
endsub
sub RegCheck()
	VAR i,q
	VAR kol=9
	Dim Regs[6]
	Regs[0]='0x0F7A'      ; Black Pearl 
	Regs[1]='0x0F7B'      ; Bood Moss 
	Regs[2]='0x0F86'      ; Mandrake Root
	Regs[3]='0x0F88'     ; Nightshade
	Regs[4]='0x0F8C'     ; Sulfurous Ash
	Regs[5]='0x0F84'     ; Garlic
	
	for i=0 to 5
		if uo.count(Regs[i])<>kol then
			q=kol-uo.count(Regs[i])
			if q<>0 then
				if q>0 then
					uo.findtype(Regs[i],-1,Chest)
					if uo.findcount() then
						uo.moveitem('finditem',STR(q),'backpack')
						checklag()
						wait(700)
						uo.print('Берем реги для рекола...')
					else
						uo.print('No regs')
						return
					endif
				else
					q=q*-1            
					uo.findtype(Regs[i],-1,'my')   
					if uo.findcount() then
						uo.moveitem('finditem',STR(q),Chest)
						checklag()
						wait(700)
						uo.print('Регов больше чем надо. Кидаем лишнее в сундук')
					endif
				endif
			endif
		endif
	next
endsub
sub GrabBlankRune()
	Open(BlankRunebag)
	uo.findtype(rune,-1,BlankRunebag)
	if uo.findcount() then
		Blankrune=uo.getserial('finditem')
		uo.moveitem('finditem',0,'backpack')
		checklag()
		wait(700)
		uo.print('Взяли бланк руну')
		Runinetu=0
	else
		uo.print('Бланк рун больше нету! Скрипт остановлен.')
		uo.exec('terminate all')
	endif
endsub
sub DropbagCheck()
	uo.print('Проверяем мешок Dropbag')
	Open(Dropbag)
	uo.findtype(rune,-1,Dropbag)
	while uo.findcount()
		uo.moveitem('finditem',0,Runebag)
		checklag()
		wait(700)
		uo.print('Нашли руну. Кладем их в сумку Runebag.')
		uo.findtype(Rune,-1,Dropbag)
	wend
endsub
sub mining() 
	var mx, my, mz, i, j, f
	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 
			repeat
				if uo.count('0x0F39')==0 and uo.count('0x0F3A')==0 and uo.count('0x0E86')==0 and uo.count('0x0E85')==0 then
					return
				endif
				if uo.injournal('You loosen some rocks but fail') then
					wait(10000)
				endif
				Tohide() 
				UO.Print('Копаем в координатах: '+str(mx-i)+' '+str(my-j))
				DigAhole(i,j,mz)
				if uo.injournal('You have been revealed') then
					uo.warmode(0)
					invis()
					return
				endif
				if flagpk==1 then
					return
				endif
			until not uo.injournal('You loosen some rocks but fail')
			if checkelem()==1 then
				return
			endif
		next 
	next 
endsub 
sub DigAhole(i,j,mz)
	var f
	for f=0 to 10
		checklag()
		uo.waittargettile('1341',i,j,mz) 
		uo.useobject(pickaxe)
		if waitforore()==1 then
			return
		endif
	next
endsub
sub waitforore()
	var n
	for n=0 to 50
		checkpk()
		if uo.injournal('no ore here|location|far away|in rock|You have been revealed') or flagpk==1 then
			return 1
		endif
		if uo.injournal('You put|heavy|but fail') then
			return
		endif
		wait(500)
	next
endsub
sub checkpk()
	var n
	var ser
	var noto
	var me=uo.getserial('self')
	for n=0 to 9
		ser=uo.journalserial(n)
		noto=uo.getnotoriety(ser)
		if not ser==me then
			if noto<>0 and noto<>1 and noto<>3 and not uo.injournal('Elemental|Scorpion King|Giant Spider|Energy Vortex') then
				uo.TextOpen()
				uo.TextPrint(uo.getname(ser)+' @ '+MakeTime())
				invis()
				if recallrunebook==1 then
					gohome()
				else
					RecallRune(Runehome)
				endif
				flagpk=1
				return
			endif
		endif
	next
endsub
sub gohome()
	var oldX=uo.getx('self')
	var oldY=uo.gety('self')
	uo.recall(Runebook,Runenr)
	repeat
		wait(700)
		if uo.injournal('You have been revealed') then
			checklag()
			invis()
		endif
	until oldX<>uo.getx('self') && oldY<>uo.gety('self')
endsub
sub invis()
	uo.usetype('0x0F0E','0x0631')
endsub
sub CheckLag() 
	repeat
		UO.DeleteJournal() 
		UO.Click('backpack') 
	until backpack()==1
endsub 
sub backpack()
	var n
	for n=0 to 200
		if uo.injournal('a backpack') then
			return 1
		endif
		wait(200)
	next
endsub
sub Reconnector() 
	var ReconnectTime, RFlag 
	ReconnectTime = '0' 
	RFlag = 1 
	Repeat 
		While (UO.ObjAtLayer('Bpack') == '') 
			if RFlag Then 
				ReconnectTime = MakeTime() 
				RFlag = 0 
			endif 
			Wait(1000) 
			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.Exec('terminate all') 
			;UO.Exec('exec autoload') 
			UO.TextOpen() 
			UO.TextPrint('Disconnected & Reconnected @ '+ReconnectTime) 
			RFlag = 1 
			ReconnectTime = '0' 
		endif 
	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 
		EndIf 
	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 
		EndIf 
	Next 
	Ret = T + " @ " + D 
	RETURN Ret 
end sub
Last edited by Nmy on 2009-11-24 15:23:35, edited 2 times in total.
Nmy
Expert!
Posts: 2152
Joined: 2005-09-14 15:31:58
Location: Latvia

Post by Nmy »

Code: Select all

Program Tinkering; 

const 
	Chest=$404CA4F5; 

procedure Check_World_Save; 
begin 
	if InJournal('World is saving now')<>-1 then begin 
		ClearJournal; 
		repeat
			wait(1000);
		until InJournal('World data saved')<>-1
	end 
end; 

procedure Check_Iron; 
begin 
	if Count($1BEF)<10 then begin 
		UseObject(Chest);
		wait(1000);
		MoveItem(FindTypeEx($1BEF,$0000,Chest,false),200,Backpack,0,0,0)
		wait(1000);
	end 
end; 
        
procedure Check_Lockpicks; 
begin 
	if Count($14FB)>10 then begin
		MoveItem(FindType($14FB,Backpack),0,Chest,0,0,0);
		wait(1000);
	end
end; 

Begin 
	ClearJournal;
	AutoMenu('Tinkering','Tool')
	AutoMenu('Tools','lockpick')
	while not Dead do begin
		Check_World_Save; 
		Check_Lockpicks;
		Check_Iron;
		UseObject(FindType($1EBC,Backpack));
		wait(3500);
	end
end.
Nmy
Expert!
Posts: 2152
Joined: 2005-09-14 15:31:58
Location: Latvia

Post by Nmy »

Code: Select all

sub main()
	uo.addobject('vendor')
	while uo.targeting()
		wait(500)
	wend
	while 1
		checklag()
		uo.waittargetobject('vendor')
		uo.useskill('Begging')
		wait(2500)
	wend
endsub 
sub CheckLag() 
	repeat
		UO.DeleteJournal() 
		UO.Click('backpack') 
	until backpack()==1
endsub 
sub backpack()
	var n
	for n=0 to 200
		if uo.injournal('a backpack') then
			return 1
		endif
		wait(200)
	next
endsub
Nmy
Expert!
Posts: 2152
Joined: 2005-09-14 15:31:58
Location: Latvia

Post by Nmy »

Многие утверждали что они "написали" скрипт на догонялку но это не так. См. тут

Code: Select all

sub dogon()
	var script='dogon' ; lowercase
	if uo.getglobal(script)=='On' then 
		uo.setglobal(script,0) 
		uo.print(' !!! -= '+script+' Terminated =- !!! ') 
		uo.exec('terminate '+script)
	else 
		uo.setglobal(script,'On') 
		uo.print(' !!! -= '+script+' =- !!! ') 
		
	var target
	target=uo.getserial('lastattack')
	uo.say('')
	while uo.life>0 and target<>"" 
		wait(100)
		if uo.getdistance(target)>0 then
			run(target)
		endif
	wend
		
	uo.setglobal(script,0) 
	uo.print(' !!! -= '+script+' Terminated =- !!! ')	
	endif	
endsub
sub run(targ)
	var dx, dy
	while 1
		if targ<>"" and uo.life>0 then
			if uo.getdistance(targ)<2 then 
				return 
			endif 
			dx=UO.GetX(targ)-UO.GetX() 
			dy=UO.GetY(targ)-UO.GetY() 
		else 
			return 
		endif 
		if dx<>0 and dy<>0 then 
			if dx>0 and dy>0 then 
				UO.Press(40) ; DownArrow 
			endif 
			if dx>0 and dy<0 then 
				UO.Press(39) ; RightArrow 
			endif 
			if dx<0 and dy>0 then 
				UO.Press(37) ; LeftArrow 
			endif 
			if dx<0 and dy<0 then 
				UO.Press(38) ; UpArrow 
			endif 
		endif 
		if dx<>0 and dy==0 then 
			if dx>0 then 
				UO.Press(34) ; PgDown 
			endif 
			if dx<0 then 
				UO.Press(36) ; Home key 
			endif 
		endif 
		if dx==0 and dy<>0 then 
			if dy>0 then 
				UO.Press(35) ; End
			endif 
			if dy<0 then 
				UO.Press(33) ; PgUp 
			endif 
		endif 
	wend
endsub
Last edited by Nmy on 2009-12-18 00:37:15, edited 1 time in total.
Nmy
Expert!
Posts: 2152
Joined: 2005-09-14 15:31:58
Location: Latvia

Post by Nmy »

Code: Select all

sub lootgroundall()
	var n
	Dim Req[50] ; Requirements
	Req[1]='0x1F52' ; paralyze scrolls
	Req[2]='0x1F5F' ; fs
	Req[3]='0x0F0E' ; empty bottles
	Req[4]='0x0E21' ; bandages
	Req[5]='0x0F3F' ; arrows
	Req[6]='0x0F03' ; Antifreeze
	Req[7]='0x1BFB' ; bolts
	Req[8]='0x0F7A'  ; regi bp
	Req[9]='0x0F7B'  ; regi bm 
	Req[10]='0x0F86' ; regi mr 
	Req[11]='0x0F88' ; regi ns 
	Req[12]='0x0F8D' ; regi ss
	Req[13]='0x0F84' ; regi ga
	Req[14]='0x0F85' ; regi gs
	Req[15]='0x0F8C' ; regi sa
	for n=1 to 15
		while uo.countground(Req[n])
			uo.moveitem('~'+Req[n],0,'backpack',141,134,0)
			wait(700)
		wend
	next
	uo.print(' -= done =- ')
endsub
Nmy
Expert!
Posts: 2152
Joined: 2005-09-14 15:31:58
Location: Latvia

Post by Nmy »

Code: Select all

sub corpser()
	uo.waittargetobject('lastcorpse')
	uo.usetype('0x0F51')
	wait(500)
	Lootground()
	sword()
endsub
sub Lootground() 
	VAR n, f
	VAR Torso=uo.objatlayer('Torso')
	VAR Legs=uo.objatlayer('Legs')
	VAR Arms=uo.objatlayer('Arms')
	VAR Gloves=uo.objatlayer('Gloves')
	VAR Hat=uo.objatlayer('Hat')
	VAR Neck=uo.objatlayer('Neck')
	VAR Lhand=uo.objatlayer('Lhand')
	
	Dim Loot[40]
	Loot[1]='0x204E' ; Shroud
	Loot[2]='0x20D6' ; Dragon
	Loot[3]='0x0F5E' ; broadsword
	Loot[4]='0x143A' ; maul
	Loot[5]='0x13B9' ; Viking Sword
	Loot[6]='0x0F60' ; longsword
	Loot[7]='0x0F62' ; Spear
	Loot[8]='0x0E87' ; Pitchfork	
	Loot[9]='0x143E' ; Halberd
	Loot[10]='0x0F4D' ; Bardiche
	Loot[11]='0x0F45' ; Executioner's Axe
	Loot[12]='0x0F4B' ; double axe
	Loot[13]='0x13FA' ; Despise
	Loot[14]='0x13B1' ; Bow
	Loot[15]='0x0F4F' ; Heavy Crossbow
	Loot[16]='0x13FC' ; Crossbow
	Loot[17]='0x1086' ; Braclet
	Loot[18]='0x0EED' ; Gold Coin
	Loot[19]='0x13BF' ; chainmail tunic
	Loot[20]='0x13BE' ; chainmail leg
	
	Dim armor[12]
	armor[1]='0x1B77'  ; Heater Sheild
	armor[2]='0x1B76'  ; Heater Sheild
	armor[3]='0x1415'  ; Plate Mail
	armor[4]='0x1416'  ; Plate Mail
	armor[5]='0x141A'  ; Platemail Legs
	armor[6]='0x1411'  ; Platemail Legs
	armor[7]='0x1418'  ; Platemail Gauntlets
	armor[8]='0x1414'  ; Platemail Gauntlets
	armor[9]='0x1410'  ; Platemail Arms
	armor[10]='0x1419' ; Platemail Helm
	armor[11]='0x1412' ; Platemail Helm
	armor[12]='0x1413' ; Platemail Gorget
	
	for n=1 to 12
		if uo.countground(armor[n]) then
			uo.usefromground(armor[n])
			wait(50)
			f=1
		endif
	next
	for n=1 to 20
		if uo.countground(Loot[n]) then
			uo.moveitem('~'+Loot[n],0,'backpack')
			wait(700)
		endif
	next
	if f==1 then
		if Torso<>'' then
			uo.useobject(Torso)
		endif
		if Legs<>'' then
			uo.useobject(Legs)
		endif
		if Arms<>'' then
			uo.useobject(Arms)
		endif
		if Gloves<>'' then
			uo.useobject(Gloves)
		endif
		if Hat<>'' then
			uo.useobject(Hat)
		endif
		if Neck<>'' then
			uo.useobject(Neck)
		endif
		if Lhand<>'' then
			uo.equip('Lhand',Lhand)
		endif
	endif
	uo.print(' -= done =- ')
endsub
Last edited by Nmy on 2009-12-22 11:47:33, edited 1 time in total.
Nmy
Expert!
Posts: 2152
Joined: 2005-09-14 15:31:58
Location: Latvia

Post by Nmy »

Code: Select all

sub Lootall()
	var n, corpse	
	if (uo.getserial('backpack') <> uo.getserial('lastcontainer')) then
		uo.ignorereset()
		corpse=uo.getserial('lastcontainer')
		uo.findtype(-1,-1,corpse)
		while uo.findcount()
			n=uo.getserial('finditem')
			uo.moveitem('finditem',0,'backpack')
			uo.print(' item '+str(uo.findcount()))
			checklag()
			wait(600)
			uo.findtype(-1,-1,corpse)
			if uo.findcount() then
				if n==uo.getserial('finditem') then
					uo.ignore('finditem')
					uo.findtype(-1,-1,corpse)
				endif
			endif
		wend
	endif
	uo.print(' -= Done =- ')
endsub
Nmy
Expert!
Posts: 2152
Joined: 2005-09-14 15:31:58
Location: Latvia

Post by Nmy »

Code: Select all

sub polymorph()
	var m
	repeat
		meditation(24)
		checklag()
		m=uo.mana
		uo.waitmenu('What do you want to polymorph','Daemon')
		uo.cast('Polymorph')
		repeat
			wait(500)
		until uo.mana<m
	until not uo.injournal('spell fizzles')
endsub
sub meditation(mn)
	while uo.mana < mn
		if uo.injournal('You are preoccupied with thoughts of battle.') then
			uo.warmode(0)
		endif
		if uo.mana==uo.int then
			return
		endif
		checklag()
		uo.Useskill('Meditation') 
		waitformed(mn) 
		wait(1000)
	wend
endsub 
sub waitformed(mn)
	var n
	for n=0 to 100
		if uo.injournal('You lose|You are at peace|thoughts of battle') or uo.mana>=mn then
			return
		endif
		wait(500)
	next
endsub 
Post Reply