Skip to content

/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

  1. Scans all actors for the nearest node matching actor.is_harvestable() and the verb filter.
  2. Applies the vertical band filter (vradius) — nodes more than vradius units 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.
  3. Applies the path distance filter (maxpath) — the navmesh walk distance to each candidate is computed; nodes farther on foot than maxpath are skipped for this scan (not marked permanently unreachable — they may come into range as you move).
  4. Uses nav.moveto() to walk to the winner via the zone navmesh.
  5. Targets the node with eq2.target_by_id(), then sends the interaction via eq2.zone_door.interact().
  6. Polls every 500ms for the node to despawn; re-interacts after the configured delay.
  7. Once the node despawns, finds the next nearest node and repeats.

See also

  • /nav — the navigation system used for movement.
  • /navmap — visual navmesh display and zone mesh status.
  • /autoloot — automatic looting (pairs well with gathering).