UOGamers Community

This is a sample guest message. Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members through your own private inbox!

  • To obtain new Razor updates, please reinstall Razor from our new website.

IDOC Finder Scripts

MB

Knight
I wrote a macro where you can fill your pack with runebooks marked with house locations of interest. The macro will recall through every book in your pack except for those on your 'ignoredbooks' list. Have a second character idle in a house reading guild chat or party chat of the character looking for IDOCs. The output will be something like

Slightly
1083219592
17

That's a decimal number that you need to convert to hex: http://www.binaryhexconverter.com/decimal-to-hex-converter

(1083219592 > 40909E88)

So reading journal when it's went through all books, the macro you would play to go back to the house location that was IDOCing is therefore
useobject 0x40909E88
waitforgump 0x554b87f3 15000
replygump 0x554b87f3 17

Using this you could technically set up 125x16=2000 runes to check on one character. Best run in lich form with protection and some hpr.

//set the flag to announce in guild chat. unset the flag to announce in party
//@unsetalias 'guildchat'
@setalias 'guildchat' 'self'
//
@removelist 'ignoredbooks'
@createlist 'ignoredbooks'
pushlist 'ignoredbooks' 0x411d3491
clearignorelist
for 0 to 'ignoredbooks'
ignoreobject ignoredbooks[]
endfor
@removelist 'idocbooks'
@createlist 'idocbooks'
while @findtype 0x22c5 'any' 'backpack'
pushlist 'idocbooks' 'found'
ignoreobject 'found'
endwhile
if not listexists 'Runes'
@createlist 'Runes'
pushlist 'Runes' 5
pushlist 'Runes' 11
pushlist 'Runes' 17
pushlist 'Runes' 23
pushlist 'Runes' 29
pushlist 'Runes' 35
pushlist 'Runes' 41
pushlist 'Runes' 47
pushlist 'Runes' 53
pushlist 'Runes' 59
pushlist 'Runes' 65
pushlist 'Runes' 71
pushlist 'Runes' 77
pushlist 'Runes' 83
pushlist 'Runes' 89
pushlist 'Runes' 95
endif
if not listexists 'signs'
createlist 'signs'
pushlist 'signs' 0xba4
pushlist 'signs' 0xba6
pushlist 'signs' 0xba8
pushlist 'signs' 0xbaa
pushlist 'signs' 0xbac
pushlist 'signs' 0xbae
pushlist 'signs' 0xbb0
pushlist 'signs' 0xbb2
pushlist 'signs' 0xbb4
pushlist 'signs' 0xbb6
pushlist 'signs' 0xbb8
pushlist 'signs' 0xbba
pushlist 'signs' 0xbbc
pushlist 'signs' 0xbbe
pushlist 'signs' 0xbc0
pushlist 'signs' 0xbc2
pushlist 'signs' 0xbc4
pushlist 'signs' 0xbc6
pushlist 'signs' 0xbc8
pushlist 'signs' 0xbca
pushlist 'signs' 0xbcc
pushlist 'signs' 0xbce
pushlist 'signs' 0xbd0
pushlist 'signs' 0xbd2
pushlist 'signs' 0xbd4
pushlist 'signs' 0xbd6
pushlist 'signs' 0xbd8
pushlist 'signs' 0xbda
pushlist 'signs' 0xbdc
pushlist 'signs' 0xbde
pushlist 'signs' 0xbe0
pushlist 'signs' 0xbe2
pushlist 'signs' 0xbe4
pushlist 'signs' 0xbe6
pushlist 'signs' 0xbe8
pushlist 'signs' 0xbea
pushlist 'signs' 0xbec
pushlist 'signs' 0xbee
pushlist 'signs' 0xbf0
pushlist 'signs' 0xbf2
pushlist 'signs' 0xbf4
pushlist 'signs' 0xbf6
pushlist 'signs' 0xbf8
pushlist 'signs' 0xbfa
pushlist 'signs' 0xbfc
pushlist 'signs' 0xbfe
pushlist 'signs' 0xb00
pushlist 'signs' 0xb02
pushlist 'signs' 0xb04
pushlist 'signs' 0xb06
pushlist 'signs' 0xb08
pushlist 'signs' 0xb0a
pushlist 'signs' 0xb0c
pushlist 'signs' 0xb0e
pushlist 'signs' 0xb96
pushlist 'signs' 0xb44
endif
for 0 to 'idocbooks'
for 0 to 'Runes'
sysmsg '-'
while mana < 50
if hits < 90
if not timerexists 'dying'
createtimer 'dying'
@settimer 'dying' 10001
endif
if timer 'dying' > 10000
if @findalias 'guildchat'
guildmsg "I'm dying!"
else
guildmsg "I'm dying!"
endif
@settimer 'dying' 0
endif
if poisoned
bigheal 'self'
endif
endif
endwhile
useobject idocbooks[]
waitforgump 0x554b87f3 15000
replygump 0x554b87f3 Runes[]
pause 2000
clearignorelist
for 0 to 'signs'
while @findtype signs[] 'any' 'ground'
if hits < 90
if not timerexists 'dying'
createtimer 'dying'
@settimer 'dying' 10001
endif
if timer 'dying' > 10000
if @findalias 'guildchat'
guildmsg "I'm dying!"
else
guildmsg "I'm dying!"
endif
@settimer 'dying' 0
endif
if poisoned
bigheal 'self'
endif
endif
waitforproperties 'found' 5000
@unsetalias 'announce'
headmsg 'VVVV' 34 'found'
if @property 'Condition: This Structure is Slightly Worn' 'found'
if @findalias 'guildchat'
guildmsg 'Slightly'
else
partymsg 'Slightly'
endif
@setalias 'announce' 'self'
elseif @property 'Condition: This Structure is Somewhat Worn' 'found'
if @findalias 'guildchat'
guildmsg 'Somewhat'
else
partymsg 'Somewhat'
endif
@setalias 'announce' 'self'
elseif @property 'Condition: This Structure is Fairly Worn' 'found'
if @findalias 'guildchat'
guildmsg 'Fairly'
else
partymsg 'Fairly'
endif
@setalias 'announce' 'self'
elseif @property 'Condition: This Structure is Greatly Worn' 'found'
if @findalias 'guildchat'
guildmsg 'Greatly'
else
partymsg 'Greatly'
endif
@setalias 'announce' 'self'
elseif @property 'Condition: This Structure is In Danger of Collapsing' 'found'
if @findalias 'guildchat'
guildmsg 'IDOC!'
else
partymsg 'IDOC!'
endif
@setalias 'announce' 'self'
endif
if @findalias 'announce'
if @findalias 'guildchat'
guildmsg idocbooks[]
guildmsg Runes[]
else
partymsg idocbooks[]
partymsg Runes[]
endif
guildmsg '-'
for 10
if diffhits < 10
pause 1000
endif
endfor
endif
ignoreobject 'found'
endwhile
endfor
endfor
endfor
 
Last edited:

MB

Knight
If you prefer to just run around and look for spots, leave this looping:


if not timerexists 'idoccheck'
@createtimer 'idoccheck'
@settimer 'idoccheck' 0
endif
if not listexists 'signs'
createlist 'signs'
pushlist 'signs' 0xba4
pushlist 'signs' 0xba6
pushlist 'signs' 0xba8
pushlist 'signs' 0xbaa
pushlist 'signs' 0xbac
pushlist 'signs' 0xbae
pushlist 'signs' 0xbb0
pushlist 'signs' 0xbb2
pushlist 'signs' 0xbb4
pushlist 'signs' 0xbb6
pushlist 'signs' 0xbb8
pushlist 'signs' 0xbba
pushlist 'signs' 0xbbc
pushlist 'signs' 0xbbe
pushlist 'signs' 0xbc0
pushlist 'signs' 0xbc2
pushlist 'signs' 0xbc4
pushlist 'signs' 0xbc6
pushlist 'signs' 0xbc8
pushlist 'signs' 0xbca
pushlist 'signs' 0xbcc
pushlist 'signs' 0xbce
pushlist 'signs' 0xbd0
pushlist 'signs' 0xbd2
pushlist 'signs' 0xbd4
pushlist 'signs' 0xbd6
pushlist 'signs' 0xbd8
pushlist 'signs' 0xbda
pushlist 'signs' 0xbdc
pushlist 'signs' 0xbde
pushlist 'signs' 0xbe0
pushlist 'signs' 0xbe2
pushlist 'signs' 0xbe4
pushlist 'signs' 0xbe6
pushlist 'signs' 0xbe8
pushlist 'signs' 0xbea
pushlist 'signs' 0xbec
pushlist 'signs' 0xbee
pushlist 'signs' 0xbf0
pushlist 'signs' 0xbf2
pushlist 'signs' 0xbf4
pushlist 'signs' 0xbf6
pushlist 'signs' 0xbf8
pushlist 'signs' 0xbfa
pushlist 'signs' 0xbfc
pushlist 'signs' 0xbfe
pushlist 'signs' 0xb00
pushlist 'signs' 0xb02
pushlist 'signs' 0xb04
pushlist 'signs' 0xb06
pushlist 'signs' 0xb08
pushlist 'signs' 0xb0a
pushlist 'signs' 0xb0c
pushlist 'signs' 0xb0e
pushlist 'signs' 0xb96
pushlist 'signs' 0xb44
endif
if timer 'idoccheck' > 1000
for 0 to 'signs'
while @findtype signs[] 'any' 'ground'
headmsg 'VVVV' 34 'found'
if @property 'Condition: This Structure is Slightly Worn' 'found'
headmsg 'SLIGHTLY' 34 'found'
elseif @property 'Condition: This Structure is Somewhat Worn' 'found'
headmsg 'SOMEWHAT' 34 'found'
elseif @property 'Condition: This Structure is Fairly Worn' 'found'
headmsg 'FAIRLY' 34 'found'
elseif @property 'Condition: This Structure is Greatly Worn' 'found'
headmsg 'GREATLY' 34 'found'
elseif @property 'Condition: This Structure is In Danger of Collapsing' 'found'
headmsg 'IDOC' 34 'found'
endif
ignoreobject 'found'
endwhile
endfor
clearignorelist
@settimer 'idoccheck' 0
endif
 
Last edited:
Top