MQ2PiggyZone - MMOBugs Wiki

Revision as of 11:47, 1 March 2011 by Htw (talk | contribs) (→‎Zone Caching: Grammar correction.)
Plugin Info
Name MQ2PiggyZone
Author Cosmic
Link Wiki Link
Commands /zone /gate /findpath /fade /succor /heading /pzcheck /zonelog /connections /createdot
Source Available No
Uses INI File Yes

Description

Instant zone and gate.

Features

  • Zone instantly.
  • Force zone into adjacent zones that you're not flagged for.
  • Chain zone (from zone to zone, until you reach the end zone).
  • Instantly gate.
  • Fade (zone to your current zone and position).
  • You can hold down the END key on your keyboard, to cancel a chain zone - chaining will stop after the current zone process is complete.

Commands

  • /zone Shows all zone names.
  • /zone <zone short name> [hop(s) waypoint name] [final waypoint name] Instantly zones you to the zone name of your choice. 'waypoint name' is optional, for saved waypoints (the default is 'default'). Each hop along the chain will first try to use the waypoint name if it exists. You can optionally specify a different final waypoint name. If no final waypoint name is given, then it will try to use the same one you specify for the hops along the chain.
  • /gate Instantly zones you to your bind.
  • /findpath <zone name> Lists the path the plugin would take to get to your destination zone.
  • /fade Zones you to your current zone at the same location.
  • /succor Zones you to your current zone at the succor point.
  • /heading Shows your toon's exact heading.
  • /zone pccheck [on|off] Turns PC checking on or off, prevents zone/gate/etc. if PC in zone.
  • /zone pcrange ## Sets range for PC range checking, if pccheck is on. 0=disabled.
  • /zone usegate [on|off] Turns chain zone through bind point on or off.
  • /zone force <zone short name> [waypoint name] Force zone attempt (crashes if not adjacent zone!). 'waypoint name' is optional, for saved waypoints (the default is 'default').
  • /zone gateok <zone short name> Allow path through bind point to be considered, even if UseGate is off.
  • /zone nocheck <zone short name> If pccheck and/or pcrange is on, bypass PC checks.
  • /zone nogroup [on|off] Turns ignoring group members in PC checks on or off.
  • /zone groupok <zone short name> If group members are NOT ignored (not ok to zone near group members for pccheck), ignore them for this zone command.
  • /zone <substring> Match partial, searches zone names for substring.
  • /findpath <substring> Match partial, searches zone names for substring.
  • /zone setwp <name> Sets a 'waypoint' in the current zone at your current location, so you can later zone in at the defined waypoint location.
  • /zone clearwp <name> Clears a previously set waypoint for current zone.
  • /zone alias list Lists all zone aliases. Zone aliases can be used in place of zone shortnames, for /zone and /findpath commands.
  • /zone alias add aliasname zoneshortname Adds an alias named 'aliasname' for the zone shortname 'zoneshortname'.
  • /zone alias del aliasname Deletes the alias name 'aliasname'.
  • /zonelog Causes creation of zonepoint (waypoint) entries to a temporary ini file, when you zone. These entries can be used to update the default ini properly.
  • /createdot Creates a map of zone connections. This can then be viewed by a program such as GraphViz.
  • /pzcheck Does some checks on your INI file for any errors.
  • /connections Shows zone connections for your current zone.



  • NOTE: You can hold down the END key on your keyboard, to cancel a chain zone - chaining will stop after the current zone process is complete.



  • Options can be combined, e.g.: /zone force gateok nocheck <ZoneShortName>
  • If pccheck option is off, pcrange is ignored. If pcrange is 0, and pccheck is on, ANY pc in zone will prevent zone/gate/etc. without using the nocheck option.
  • You cannot /zone into instances! (which is also why you cannot bind in Guild Hall, and expect /gate to work).
  • If a route is not shown, there is no route defined to that zone in MQ2PiggyZone.ini (there is probably a good reason for this).
  • If MQ2PiggyZone_Server_Char.ini exists, it will be used for that char on that server, instead of MQ2PiggyZone.ini. (Example of char named Bubba on Saryrn server: MQ2PiggyZone_Saryrn_Bubba.ini)
  • For waypoint files, it will first look for MQ2PiggyZoneWP_server_char.ini, if not found, will look for MQ2PiggyZoneWP.ini, and if that is not found, will use any waypoints in MQ2PiggyZone.ini (or MQ2PiggyZone_server_char.ini if using a custom one).


Example Usage

This command would zone you to Cobalt Scar, utilizing chain zoning if not adjacent.

  • /zone cobaltscar


This command would attempt to place you in Cobalt Scar regardless of flags.

  • /zone force cobaltscar


This command would put you at your bind point.

  • /gate


This command would display the path it would take to zone you to Cobalt Scar.

  • /findpath cobaltscar


This command would zone you to your current zone and same location.

  • /fade


This command would zone you to your current zone and put you at the succor point.

  • /succor


This command would add an alias for northkarana, called nk. You can then use it like: /findpath nk <or> /zone nk

  • /zone alias add nk northkarana


This command will list any aliases you have defined.

  • /zone alias list


This command would delete the alias nk.

  • /zone alias del nk

Macro Data

This plugin adds a new TLO called Piggy.

ExampleType

  • ${Piggy.LastZone} : string - Return string with last zone shortname used with the /zone command (destination).
  • ${Piggy.LastWP} : string - Return string with last waypoint used.
  • ${Piggy.ZoneTime} : string - Return string with formatted time in zone, e.g. 1:04:03 (hours:mins:secs).
  • ${Piggy.ZoneSecs} : int - Return time in zone, in seconds.
  • ${Piggy.ZoneMins} : int - Return time in zone, in minutes.
  • ${Piggy.ZoneHours} : int - Return time in zone, in hours.
  • ${Piggy.NoGroup} : bool - Return TRUE if NoGroup is on.
  • ${Piggy.PCCheck} : bool - Return TRUE if PCCheck is on.
  • ${Piggy.PCRange} : int - Return value of the PCRange option.
  • ${Piggy.UseGate} : bool - Return TRUE if UseGate is on.
  • ${Piggy.LastPath} : string - Return string with the path shown by the last /findpath command.
  • ${Piggy.PCCount} : int - Return number of PCs in range, determined by the PCRange option.

Zone Overrides

PiggyZone actions can be overridden via entries in MQ2PZOverride.ini. These entries are intended to give you the ability to execute commands before piggyzone does the zone, or even to replace the way piggy zones. The format is:

[FromShortZoneName]
DestZone1=##,##,##,...
Replace1=0 or 1
CmdList1=Command1;Command2;Command3;...
DestZone2=##,##,##,...
Replace2=0 or 1
CmdList2=Command1;Command2;Command3;...
DestZone3=##,##,##,...
Replace3=0 or 1
CmdList3=Command1;Command2;Command3;...
...

Example:

[greatdivide]
DestZone1=202,112
Replace1=0
CmdList1=/blah this; /also; /hitthiscmd 4
DestZone2=116
Replace2=1
CmdList2=/zippit

That would execute those 3 commands in CmdList1, before zoning from great divide to pok or velks, but still do the normal zoning function after. For zoning from great divide to eastern wastes (the 2nd entry), it would execute the /zippit command, and NOT do the normal zoning function after (Replace2=1). You can have up to 20 commands on one CmdListX= line, separated by semi-colons.

Zone Caching

PiggyZone can now cache paths previously used via zone or findpath. These cached paths are shared session to session (and between restarts). The cache file is created in your MQ2 directory, and named MQ2PiggyZone.che. The plugin DOES keep routes through your bind point (if UseGate is on) properly adjusted for all accounts.

The following commands are available for the cache (/zone is used in these examples, but the cache command works with both /zone and /findpath):

  • /zone cache off Disables zone caching.
  • /zone cache on Enables zone caching.
  • /zone cache Displays cache statistics and messages.
  • /zone cache list Lists entries in the zone cache.
  • /zone cache del i# Deletes a zone cache entry by index #, corresponds to the # seen with '/zone cache list'. Ex: /zone cache del i4
  • /zone cache del <from ID> <to ID> Deletes a zone cache entry by zone ID number (entry matching from zone -> to zone). Ex: /zone cache del 202 58
  • /zone cache del <from name> <to name> Deletes a zone cache entry by zone short name (entry matching from zone -> to zone). Ex: /zone cache del poknowledge sebilis
  • /zone clearcache Completely resets your zone cache - ALL ENTRIES WILL BE ERASED.

Entries are kept synchronized between sessions, if you are boxing.

There are 2 related entries in your macroquest.ini file for this:
* DisablePZCache=0 : This entry is same as using /zone cache on (or off) in game. (0 = disabled)
* CacheMsgLevel=0 : This entry is for the message types you see in '/zone cache' statistics. 0=info+, 1=warn+, 2=error+. If you edit it to change it, you can activate that setting without reloading the plugin (just do /zone cache off, then /zone cache on).

Availability

This plugin is included with the MMOBugs Compile.