c0d3r
Traveler
I've just added support to combining small ore types before smelting in the official "Simple Mining" macro, just in case someone needs:
if you never used that macro before you'll need: runebooks, full LRC, magery, LMC, 2 FC and MR suit.
fill your runebooks with runes to mine spots, make sure your spot can be mined before marking the rune, get one runebook to be used as your home runebook, the first rune should point to your house.
add all your runebooks to the macro runebooks list around line 37 (except the home runebook, the macro will ask for this one once you play), use the object inspector to get a runebook serial.
it uses a small forge but you can change that somewhere around line 118, if you have at least 50 tinkering skill you'll craft shovels as needed, otherwise just add a bunch to the stock container.
before playing check loop option.
if you never used that macro before you'll need: runebooks, full LRC, magery, LMC, 2 FC and MR suit.
fill your runebooks with runes to mine spots, make sure your spot can be mined before marking the rune, get one runebook to be used as your home runebook, the first rune should point to your house.
add all your runebooks to the macro runebooks list around line 37 (except the home runebook, the macro will ask for this one once you play), use the object inspector to get a runebook serial.
it uses a small forge but you can change that somewhere around line 118, if you have at least 50 tinkering skill you'll craft shovels as needed, otherwise just add a bunch to the stock container.
before playing check loop option.
Code:
// Author: Kraz
// Description: Simple Mining
// c0d3r: this version combines small ore types before smelting
if not @findalias 'Stock'
promptalias 'Stock'
endif
if not @findobject 'Home Runebook'
promptalias 'Home Runebook'
endif
if not listexists 'Runebooks'
createlist 'Runebooks'
endif
if not listexists 'Runes'
createlist 'Runes'
endif
if list 'Runes' == 0
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
// All runes spots mined, go to the next runebook
poplist 'Runebooks' 'front'
endif
// Add all your mine runebooks serial to that list
if list 'Runebooks' == 0
pushlist 'Runebooks' 0x489d89cd
pushlist 'Runebooks' 0x51b48936
pushlist 'Runebooks' 0x50a532bc
pushlist 'Runebooks' 0x50a239cd
endif
if not listexists 'Ores'
createlist 'Ores'
pushlist 'Ores' 0x19b7
pushlist 'Ores' 0x19b8
pushlist 'Ores' 0x19ba
pushlist 'Ores' 0x19b9
endif
if not listexists 'Stones'
createlist 'Stones'
// Blue Diamond
pushlist 'Stones' 0x3198
// Dark Sapphire
pushlist 'Stones' 0x3192
// Ecru Citrine
pushlist 'Stones' 0x3195
// Fire Ruby
pushlist 'Stones' 0x3197
// Perfect Emerald
pushlist 'Stones' 0x3194
// Turquoise
pushlist 'Stones' 0x3193
endif
// Combine ore parts
if not listexists 'Combine'
createlist 'Combine'
endif
@clearlist 'Combine'
clearignorelist
while @findtype 0x19b7 'any' 'backpack'
@setalias 'small' 'found'
if @inlist 'Combine' 'small'
ignoreobject 'small'
continue
endif
pushlist! 'Combine' 'small'
clearignorelist
while @findtype 0x19b9 'any' 'backpack'
if @color 'found' == color 'small'
useobject! 'small'
waitfortarget 1500
target! 'found'
pause 1000
break
endif
ignoreobject 'found'
endwhile
endwhile
// Go home, smelt and check for tools
if diffweight < 55 or not @findtype 0xf39 'any' 'backpack'
useobject! 'Home Runebook'
waitforgump 0x554b87f3 15000
replygump 0x554b87f3 5
pause 3500
if @injournal 'More reagents' or @injournal 'Insufficient mana'
clearjournal
replay
endif
useobject! 'Stock'
pause 1000
for 0 to 'Stones'
while @movetype Stones[] 'backpack' 'Stock'
pause 1000
endwhile
endfor
clearignorelist
for 0 to 'Ores'
while @findtype Ores[] 'any' 'backpack'
if @graphic 'found' == 0x19b7 and @amount 'found' == 1
ignoreobject 'found'
continue
endif
useobject! 'found'
waitfortarget 1000
// Small forge 0xfb1
// Elven forge 0x2dd8
// Large forge 0x19a2
targetground 0xfb1 'any' 2
pause 1000
endwhile
endfor
while @movetype 0x1bf2 'backpack' 'Stock' 0 0 0 'any'
pause 1000
endwhile
if skill 'Tinkering' >= 50
while not @findtype 0xf39 'any' 'backpack'
if @movetype 0x1bf2 'Stock' 'backpack' 0 0 0 0 22
pause 1000
endif
if not @findtype 0x1eb8 0 'backpack'
if @movetype 0x1eb8 'Stock' 'backpack'
pause 1000
if not @findtype 0x1eb8 0 'Stock' and @usetype! 0x1eb8
waitforgump 0x38920abd 15000
replygump 0x38920abd 8
waitforgump 0x38920abd 15000
replygump 0x38920abd 23
waitforgump 0x38920abd 15000
replygump 0x38920abd 0
pause 1000
if @movetype 0x1eb8 'backpack' 'Stock'
pause 1000
endif
endif
endif
endif
for 5
if @usetype! 0x1eb8
waitforgump 0x38920abd 15000
replygump 0x38920abd 8
waitforgump 0x38920abd 15000
replygump 0x38920abd 72
waitforgump 0x38920abd 15000
pause 1000
endif
endfor
replygump 0x38920abd 0
endwhile
else
if not @findtype 0xf39 'any' 'backpack'
if @movetype 0xf39 'Stock' 'backpack'
pause 1000
else
sysmsg 'Out of shovels!'
endif
endif
endif
else
for 0 to 'Runes'
useobject! Runebooks[0]
waitforgump 0x554b87f3 15000
replygump 0x554b87f3 Runes[]
pause 3500
if @injournal 'More reagents' or @injournal 'Insufficient mana'
clearjournal
continue
endif
// If location is blocked it should move to the next rune
poplist 'Runes' 'front'
if @injournal 'location is blocked' 'system'
clearjournal
continue
endif
for 20
if not @usetype! 0xf39 'any' 'backpack'
replay
endif
waitfortarget 1500
targettileoffset 1 0 0
pause 1000
if diffweight < 55
replay
elseif @injournal "can't mine" 'system' or @injournal 'there is no metal' 'system'
clearjournal
replay
endif
endfor
pause 3500
endfor
endif
Last edited: