Loading...   

[Show Table of Contents]


§Description

  • With a zone .map file defined in the Maps directory you can setup static points in which NPCs will use for pathing.
  • This will create better behavior for mobs to path to visible points instead of through terrain on aggro, clients/npcs on fear pathing and guard pathing.
  • Highly useful in zones such as dungeons (soldungb,gukbottom,etc.)
  • Defined as a zone .path file in Maps directory

§Process

  • Use #path add to create nodes in the world, or #path shownodes to load npcs from a previous pathing file
  • Use #path dump/process to create or update the pathing file

§Commands

  • #path [subcommand] - Access the pathing commands, #path without a sub command will list help info about commands.

Subcommands:

  • #path shownodes - creates an NPC for each node already generated in a zone .path file
  • #path info [node_id] - retrieves information about current target if it is a pathing point npc or optional node_id
  • #path dump file_name - dumps the current zone npcs into a file, need to specify Maps/zone.path replacing zone with the short_name of the zone
  • #path add [requestedid] - instantiates a pathing node as an NPC and has an optional field to request a node id.
  • #path remove - removes the node from pathing completely, after which when using 'dump' or 'process' that node will no longer exist.
  • #path connect [connectid] - Requires target, makes a two-way connection with the pathing NPC node id to the provided node id (connectid).
  • #path sconnect [connectid] - Requires target, connects the pathing NPC node id to the provided node id (connectid), but not the other way.
  • #path qconnect [set] - Requires target, short cut connect, to the previously targeted [set] (?).
  • #path disconnect [all/id] - Requires target, can remove 'all' connections or a specific node id (the other node id). Note: This does not remove the node itself, only connections between other nodes.
  • #path move - Requires target, moves path npc target node to your position.
  • #path process filename - connects nodes by line of sight and records into a pathing file, need to specify Maps/zone.path replacing zone with the short_name of the zone.
  • #path resort [nodes] - resorts connections/nodes after they have been manually altered.

§Rules

Rule Description Default Value
RULE_BOOL ( Pathing, Aggro) Enable pathing for aggroed mobs. true
RULE_BOOL ( Pathing, AggroReturnToGrid Enable pathing for aggroed roaming mobs returning to their previous waypoint. true
RULE_BOOL ( Pathing, Guard Enable pathing for mobs moving to their guard point. true
RULE_BOOL ( Pathing, Find Enable pathing for FindPerson requests from the client. true
RULE_BOOL ( Pathing, Fear Enable pathing for fear true
RULE_REAL ( Pathing, ZDiffThreshold If a mob las LOS to it's target, it will run to it if the Z difference is < this. 10
RULE_INT ( Pathing, LOSCheckFrequency A mob will check for LOS to it's target this often (milliseconds). 1000
RULE_INT ( Pathing, RouteUpdateFrequencyShort How often a new route will be calculated if the target has moved. 1000
RULE_INT ( Pathing, RouteUpdateFrequencyLong How often a new route will be calculated if the target has moved. 5000
RULE_INT ( Pathing, RouteUpdateFrequencyNodeCount When a path has a path node route and it's target changes position, if it has RouteUpdateFrequencyNodeCount or less nodes to go on it's When a path has a path node route and it's target changes position, if it has RouteUpdateFrequencyNodeCount or less nodes to go on it's RouteUpdateFrequencyLong timer. 5
RULE_REAL ( Pathing, MinDistanceForLOSCheckShort (NoRoot). While following a path, only check for LOS to target within this distance. 40000
RULE_REAL ( Pathing, MinDistanceForLOSCheckLong (NoRoot). Min distance when initially attempting to acquire the target. 1000000
RULE_INT ( Pathing, MinNodesLeftForLOSCheck This next rule was put in for situations where the mob and it's target may be on different sides of a 'hazard', e.g. a pit. If the mob has LOS to it's target, even though there is a hazard in it's way, it may break off from the node path and run at the target, only to later detect the hazard and re-acquire a node path. Depending upon the placement of the path nodes, this can lead to the mob looping. The rule is intended to allow the mob to at least get closer to it's target each time before checking LOS and trying to head straight for it. 4
RULE_INT ( Pathing, MinNodesTraversedForLOSCheck

Only check for LOS after we have traversed this many path nodes.

3
RULE_INT ( Pathing, CullNodesFromStart Checks LOS from Start point to second node for this many nodes and removes first node if there is LOS 1
RULE_INT ( Pathing, CullNodesFromEnd Checks LOS from End point to second to last node for this many nodes and removes last node if there is LOS 1
RULE_REAL ( Pathing, CandidateNodeRangeXY When searching for path start/end nodes, only nodes within this range will be considered. 400
RULE_REAL ( Pathing, CandidateNodeRangeZ When searching for path start/end nodes, only nodes within this range will be considered. 10