Bigguns Simple Miner by bigguns.
# Simple Auto Miner with Player Escape
# Based on Bapeths/Jaseowns examples
#
# Features:
# - Auto Mines using "Use Item in Hand"
# - Maintains Tracking buff (Tracks All Players)
# - Auto Recalls if a player is found nearby
# - Offloads ore to pack animal if weight > 500
#
# Requirements:
# - Mining Tool in hand
# - Pack Animal nearby
# - Runebook or Rune for escape
#
# Setup:
# 1. Set your escape rune/book when prompted
# 2. Have a pack animal nearby
# Configuration
@setvar! maxWeight 500
@setvar! searchDistance 40
# --- Initialization ---
if not varexist "escapeRune"
overhead "Select your Escape Rune or Runebook" 88
setvar "escapeRune"
endif
if not varexist "myPackAnimal"
if findtype "291|292" ground -1 -1 2 as animal
@setvar "myPackAnimal" animal
overhead "Pack animal found" 68
else
overhead "Target your pack animal" 88
setvar "myPackAnimal"
endif
endif
# --- Main Loop ---
clearsysmsg
while not dead
# 1. Safety Check (High Priority)
# Check for specific distances (1-39 spaces) in system messages
# Matches format "(X spaces" as seen in logs
if insysmsg "(1 spaces" or insysmsg "(2 spaces" or insysmsg "(3 spaces" or insysmsg "(4 spaces" or insysmsg "(5 spaces" or insysmsg "(6 spaces" or insysmsg "(7 spaces" or insysmsg "(8 spaces" or insysmsg "(9 spaces"
overhead "PLAYER CLOSE! ESCAPING!" 38
hotkey 'Cancel Current Target'
cast "Recall"
wft 3500
target "escapeRune"
stop
elseif insysmsg "(10 spaces" or insysmsg "(11 spaces" or insysmsg "(12 spaces" or insysmsg "(13 spaces" or insysmsg "(14 spaces" or insysmsg "(15 spaces" or insysmsg "(16 spaces" or insysmsg "(17 spaces" or insysmsg "(18 spaces" or insysmsg "(19 spaces"
overhead "PLAYER CLOSE! ESCAPING!" 38
hotkey 'Cancel Current Target'
cast "Recall"
wft 3500
target "escapeRune"
stop
elseif insysmsg "(20 spaces" or insysmsg "(21 spaces" or insysmsg "(22 spaces" or insysmsg "(23 spaces" or insysmsg "(24 spaces" or insysmsg "(25 spaces" or insysmsg "(26 spaces" or insysmsg "(27 spaces" or insysmsg "(28 spaces" or insysmsg "(29 spaces"
overhead "PLAYER CLOSE! ESCAPING!" 38
hotkey 'Cancel Current Target'
cast "Recall"
wft 3500
target "escapeRune"
stop
elseif insysmsg "(30 spaces" or insysmsg "(31 spaces" or insysmsg "(32 spaces" or insysmsg "(33 spaces" or insysmsg "(34 spaces" or insysmsg "(35 spaces" or insysmsg "(36 spaces" or insysmsg "(37 spaces" or insysmsg "(38 spaces" or insysmsg "(39 spaces"
overhead "PLAYER CLOSE! ESCAPING!" 38
hotkey 'Cancel Current Target'
cast "Recall"
wft 3500
target "escapeRune"
stop
elseif insysmsg "(40 spaces" or insysmsg "(41 spaces" or insysmsg "(42 spaces" or insysmsg "(43 spaces" or insysmsg "(44 spaces" or insysmsg "(45 spaces" or insysmsg "(46 spaces" or insysmsg "(47 spaces" or insysmsg "(48 spaces" or insysmsg "(49 spaces"
overhead "PLAYER CLOSE! ESCAPING!" 38
hotkey 'Cancel Current Target'
cast "Recall"
wft 3500
target "escapeRune"
stop
elseif insysmsg "(50 spaces" or insysmsg "(51 spaces" or insysmsg "(52 spaces" or insysmsg "(53 spaces" or insysmsg "(54 spaces" or insysmsg "(55 spaces" or insysmsg "(56 spaces" or insysmsg "(57 spaces" or insysmsg "(58 spaces" or insysmsg "(59 spaces"
overhead "PLAYER CLOSE! ESCAPING!" 38
hotkey 'Cancel Current Target'
cast "Recall"
wft 3500
target "escapeRune"
stop
elseif insysmsg "(60 spaces" or insysmsg "(61 spaces" or insysmsg "(62 spaces" or insysmsg "(63 spaces" or insysmsg "(64 spaces" or insysmsg "(65 spaces" or insysmsg "(66 spaces" or insysmsg "(67 spaces" or insysmsg "(68 spaces" or insysmsg "(69 spaces"
overhead "PLAYER CLOSE! ESCAPING!" 38
hotkey 'Cancel Current Target'
cast "Recall"
wft 3500
target "escapeRune"
stop
elseif insysmsg "(70 spaces"
overhead "PLAYER CLOSE! ESCAPING!" 38
hotkey 'Cancel Current Target'
cast "Recall"
wft 3500
target "escapeRune"
stop
endif
# Clear buffer AFTER checking, so we're ready for new messages during the next mining cycle
clearsysmsg
# 2. Tracking Maintenance
# Checks if tracking buff is missing
if not findbuff "Tracking"
# Clear any existing gumps first
if gumpexists 4267467659
gumpclose 4267467659
endif
useskill "Tracking"
waitforgump 4267467659 2000
# Select "Players" (Adjust button ID if needed for your specific shard/gump)
# Often: 5=Animals, 6=Monsters, 7=Humans/Players, 8=Everything
# Assuming Button 8 for "All/Everything" or check your server's specific ID
gumpresponse 7 4267467659
# Wait for potential sub-gump or confirmation
wait 500
if gumpexists 4267467659
# confirm tracking
gumpresponse 6 4267467659
endif
pause 1000
endif
# 3. Weight Check & Unload
if weight > maxWeight
if find "myPackAnimal" ground -1 -1 4
overhead "Overweight. Unloading..." 55
# Open pack animal bag if needed
dclick "myPackAnimal"
pause 600
# Find Ore (Graphic 6585 is generic ore pile, add others if needed)
while findtype "6585" backpack as ore
lift ore 60000
drop "myPackAnimal"
pause 600
endwhile
overhead "Unload Complete" 68
else
overhead "Pack animal too far!" 38
endif
endif
# 4. Mining Loop
# Assumes tool is in hand (Outlands style)
if findlayer self righthand or findlayer self lefthand
hotkey 'Use Item in Hand'
# Wait for system response or target cursor
# Adjust delay based on mining speed
wait 1000
if targetexists
target "self"
endif
else
overhead "Equip a mining tool!" 38
pause 2000
endif
# Small delay to prevent CPU spam
wait 200
endwhile








