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.

UOS Simple Mining

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.
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:
Top