/gather¶
Script-provided
Registered by gather. Start it with /lua run gather.
Syntax¶
/gather <subcommand>
Description¶
Automated gathering — navigates to the nearest harvestable node, interacts with it until it despawns, then moves on to the next one. Supports all harvesting types: Gather, Mine, Chop, Fish, Trap, and Collect.
Requires a navmesh loaded for the current zone (/navmap will show whether one
is available). Without a navmesh, nav.moveto falls back to straight-line
movement which may get stuck on terrain.
Subcommands¶
| Subcommand | What |
|---|---|
start |
Begin (or resume) the gathering loop. |
stop |
Pause gathering. The script stays loaded; resume with start. |
allow <verbs> |
Filter by verb — comma-separated, e.g. Mine,Gather. Only matching nodes are targeted. |
allow all |
Reset to gather all node types (default). |
allow |
Show the current verb filter. |
delay <ms> |
Set the delay between interactions in milliseconds (default 10000, minimum 1000). |
radius <units> |
Set the search radius in game units (default 200). |
arrive <dist> |
Set how close the character walks before interacting (default 4.0). |
mode <area\|roam\|circuit> |
Pick the hunt mode (see below). |
camp <here\|clear> |
Set or clear the AreaHunt anchor. |
wp <add [name]\|remove <n>\|list\|clear\|loop> |
Manage this zone's CircuitHunt waypoints. |
jidou |
Toggle routing travel through /jidou fightto instead of plain navmesh movement, so the character fights its way between nodes. |
vradius <units\|0> |
Vertical band filter — maximum \|ΔY\| from the scan center (EQ2's Y axis is altitude). 0 disables it. Default 50. |
maxpath <units> |
Maximum navmesh walk distance to a node; nodes farther on foot are skipped this scan (not permanently). Default 1000. |
status |
Print current settings: state, delay, radius, arrive distance, allow filter, hunt mode, nodes gathered. |
There are also finer knobs — now (gather the nearest node once), snap,
maxint, navtimeout, playerskip, per-node timer/timercmd, and a
player/ignore list for avoiding other players — plus a full settings window.
Run /gather status to see the current values.
Hunt modes¶
Like jidou's pull modes, the hunt mode controls where gather searches from.
Pick one in the window or with /gather mode:
| Mode | /gather mode |
Behaviour |
|---|---|---|
| RoamingHunt | roam |
Default. Search from wherever you currently stand and walk to whatever node is nearest. |
| AreaHunt | area |
Stay within the search radius of a fixed camp anchor. Switching to this mode drops the anchor at your feet; move or clear it with /gather camp here / /gather camp clear. |
| CircuitHunt | circuit |
Run a persistent, zone-keyed list of waypoints, gathering along the way. Build the list with /gather wp add (and the window's Add here), and /gather wp loop to cycle it. |
Verb types¶
Each harvestable node has a verb that maps to a harvesting skill:
| Verb | Skill | Example nodes |
|---|---|---|
Gather |
Gathering | unnatural garden, fiery ore, twisted roots |
Mine |
Mining | unearthed ore |
Chop |
Foresting | felled wood |
Trap |
Trapping | creature den |
Fish |
Fishing | seared char |
Collect |
Collecting | shinies (unnamed collectibles) |
Examples¶
/lua run gather # load the script and start gathering
/gather allow Mine # only mine ore nodes
/gather allow Mine,Gather # mine and gather
/gather allow all # reset to all node types
/gather delay 8000 # 8 second delay between interactions
/gather stop # pause
/gather start # resume
/gather status # show current settings
/lua stop gather # unload the script entirely
How it works¶
- Scans all actors for the nearest node matching
actor.is_harvestable()and the verb filter. - Applies the vertical band filter (
vradius) — nodes more thanvradiusunits above or below the scan center are skipped, even if they're within the spherical search radius. This prevents harvesting ore on a cliff above you or nodes on a floor below that a straight-line distance check would reach. - Applies the path distance filter (
maxpath) — the navmesh walk distance to each candidate is computed; nodes farther on foot thanmaxpathare skipped for this scan (not marked permanently unreachable — they may come into range as you move). - Uses
nav.moveto()to walk to the winner via the zone navmesh. - Targets the node with
eq2.target_by_id(), then sends the interaction viaeq2.zone_door.interact(). - Polls every 500ms for the node to despawn; re-interacts after the configured delay.
- Once the node despawns, finds the next nearest node and repeats.