MQ2MoveUtils - MMOBugs Wiki

Plugin Info
Name MQ2MoveUtils
Author outlander
Link Wiki Link
Commands /stick, /circle, /moveto, /makecamp, /rootme
Source Available Yes
Uses INI File Yes


General Details

Version 9 of MQ2MoveUtils was a rewrite from the ground up by pms. The original goal behind this rewrite was to cleanup numerous logical errors and reduce the amount of code duplication that existed in previous releases. Once this rewrite was complete and functional, version 9 expanded including more enhancements and more extensive configuration. Numbered by release date, the final version of this plugin is 11.0410.

This plugin is no longer under active development and no new contributions have been made since 2011. Others have continued to keep the offsets updated in the discussion thread linked below.


Links




Development Notes

For the development history of this plugin, see the article MQ2MoveUtils 11.x Revision History

For the chronicle of the entire MoveUtils plugin including the original development history, see the article MQ2MoveUtils:History

Help

Video

Commands

Basic Commands

  • /stick : /follow-like command, works for any pc/npc, default distance is melee range.
  • /stick help : Display full list of /stick options.
  • /circle <radius in feet> : Autofaces character to run in a circle with a given radius.
  • /moveto : Moves character to a specific loc, such as an anchor spot.
  • /rootme : Makes your character unable to move.
  • /makecamp : Creates a camp radius your character will move back to.
  • /calcangle : Debug angle command.
  • /way : Create/update/remove waypoints in waypoints.ini that can be used with MQ2Warp and MQ2MoveUtils.

Common Command Examples

  • /stick 10 - Sticks to target to keep you within 10 radius.
  • /stick status - Shows current settings of your stick.
  • /stick behind 10 - Sticks you behind target at 10 radius.
  • /stick hold - Sticks to current target even if target changes.
  • /stick loose - Makes your stick look more human like.
  • /stick underwater - Makes you look vertically at your target.
  • /stick 120 healer - Does not do face adjustments, keeps in 120 range.
  • /circle on 100 - Does a circle with 100 radius.
  • /moveto loc 2816 -6 - Moves your character to loc 2816 -6.
  • /moveto id ${Target.ID} - Moves your character to Target.
  • /makecamp on 1 - Makes a camp with a 1 return radius at loc you are standing at. Make sure you have no target or it will not return to camp.
  • /makecamp radius 50 - Your character will move back to camp spot if it gets 50 distance away from camp and has no target.

Main Plugin Commands

These parameters can be used from any of the four main plugin commands ('/stick', '/moveto', '/circle', and '/makecamp'). For example purposes the most popular '/stick' command will be used.

  • /stick help [settings]
    • Displays generic help information, and help for the command used
    • The settings optional parameter displays help information for all plugin 'set' and 'toggle' commands


  • /stick debug
    • Dumps the current values of all plugin variables to a debug INI file


  • /stick status [all]
    • ChatWnd output for the status of the issuing command (stick in this example)
    • The all optional parameter displays status output for all aspects of the plugin


  • /stick pause [lock]
    • Pauses all aspects of the plugin
    • The lock optional parameter prevents plugin from automatically unpausing under any circumstance other than user issuing unpause
    • Note: This does not toggle


  • /stick unpause
    • Resumes all aspects of the plugin
    • Note: This does not toggle


  • /stick save | load
    • Saves or load your current configuration settings using MQ2MoveUtils.ini


  • /stick imsafe
    • BreakOnSummon and BreakOnGM have built-in protection disabling the ability to re-issue commands when triggered. This prevents macros from continuing to issue commands in a possibly unsafe situation
    • The imsafe parameter allows command usage to resume


  • /stick min
    • Minimizes custom user window similar to /mqmin


  • /stick clear
    • Clears custom user window buffer similar to /mqclear


  • /stick verbflags
    • Outputs current verbosity flags setting (this one displays even if totalsilence is enabled. too bad.)


Main Plugin Settings

These setting parameters can be used from any of the four main plugin commands.
The following can be used with toggle or set name on | off.

  • /stick toggle name
  • /stick set name on | off


name can be one of the following:

  • mpause | mousepause
    • Pause current command if [ keyboard | mouse ] movement
    • Resumes after a random amount of delay set with pausemindelay and pausemaxdelay below
    • Note: You may not have a pause and corresponding break on at the same time (e.g. no mpause and breakonkb at the same time)
    • You may have opposing options different though (e.g. mousepause on and breakonkb on)


  • breakonkb | breakonmouse
    • Break current command if [ keyboard | mouse ] movement
    • Note: You may not have a pause and corresponding break on at the same time (e.g. no mpause and breakonkb at the same time)
    • You may have opposing options different though (e.g. mousepause on and breakonkb on)


  • autosave
    • Automatically save settings to INI file when a toggle or set command is issued


  • savebychar
    • Save [server.Yourcharacter] section of INI file for individual character settings


  • feign
    • Enable Feign Death support, which waits for you to stand up manually before moving


  • lockpause
    • Plugin will never automatically resume from pause until user issues an unpause


  • autopause
    • Pause movement if casting spells (non-bard), stunned, rooted, sitting, FD, or self targeted (non-hold)


  • autopauseoutput
    • If enabled, will display ChatWnd output when autopause is halting movement
    • Note: This bypasses totalsilence and must be configured individually


  • stucklogic
    • If enabled, stucklogic automatically attempts to get unstuck if running into walls and large objects


  • trytojump
    • If enabled, stucklogic also tries to jump to help get unstuck


  • turnhalf
    • If enabled, stucklogic will reset heading and turn the other direction if it has rotated halfway without success


  • verbosity
    • ChatWnd output for basic command information messages


  • fullverbosity
    • ChatWnd output for more detailed information messages and output for more actions


  • totalsilence
    • Silences most ChatWnd output except for critical information or user-requested messages


  • totalverbosity
    • Enable display of every ChatWnd message in the plugin


  • hidehelp
    • If enabled, the help output will not be displayed upon command failure (e.g. invalid parameters)


  • window
    • If enabled, MoveUtils will output any messages to a user-placed custom UI window dedicated to the plugin


  • wineq
    • By default, MoveUtils uses actual keypresses to control movement (regardless of heading settings)
    • WinEQ2 has a bug where background sessions can have their alt keys and certain mouse buttons held down, causing movement to run in weird directions
    • For Lavishsoft users who have not switched over to Innerspace, enabling wineq setting will use old-style emulated movement via ExecuteCmd()


  • breakontarget
    • Break from stick if target changes (default behavior is switch over to sticking to new target)


  • breakonsummon
    • Halts current command and disables ability to use any commands if summoned beyond summondist
    • Note: Once this fires, you must use the imsafe parameter to unlock the plugin


  • breakongm
    • Halts current command and disables ability to use any commands if visible GM enters the zone
    • Note: Once this fires, you must use the imsafe parameter to unlock the plugin


  • breakonwarp
    • Breaks from stick if target warps out of breakdist range (user set, see below)
    • Note: This does not limit your initial stick range. You may /stick from across the zone
    This only triggers if the target increases distance from you and is beyond breakdist


  • pauseonwarp
    • Pauses stick if target warps out of breakdist range until they are back in range (user set, see below)
    • Note: This does not limit your initial stick range. You may /stick from across the zone
    This only triggers if the target increases distance from you and is beyond breakdist


  • breakongate
    • Breaks from stick if target Gates. message occurs
    • Note: if using stick id or stick hold, it will break based on the held target name


  • breakonaggro
    • Breaks from moveto command if you are aggro to an NPC
    • Note: This checks the player window for the crossed swords indicator


  • alwaysdrunk
    • Use drunken by default when circling


  • alwaysbackwards
    • Run backwards by default when circling


  • alwaysccw
    • Circle in a counter-clockwise direction by default


  • nohottfront
    • Allow for stick front to spin to front of the mob without Health of Target's Target Leader AA
    • Note: By default stick front will not stay stuck to the front unless you are on the HoTT window
    If you toggle this setting it will ignore that requirement, causing you to spin in circles if you lose aggro
    It is recommended that you use DelayStrafe


  • returnnoaggro
    • Makecamp will auto-return to camp only if not aggro (checks crossed swords indicator)


  • returnnotlooting
    • Makecamp will not auto-return to camp if character has an open loot corpse window


  • returnhavetarget
    • Makecamp will auto-return to camp even if you have a target
    • Note: By default, makecamp does not auto-return if you have any target


  • realtimeplayer
    • Makecamp player will get realtime updates on player location, allowing for dynamic returns to players
    • By default, makecamp player will return to a players last location when return begins and not get a new update until the return is complete
    • The default behavior is a sort of ghetto MQ2AdvPath whereas enabling realtimeplayer will work more like an autofollow


  • leash
    • If enabled, leash prevents moving beyond leashlength (user set value)


  • usewalk
    • If enabled, plugin will switch to walking when closing in on moveto destination or camp return


  • strafewalk
    • If enabled, plugin will switch to walking when within strafe range for all stick commands


  • randomize
    • If enabled, stick behind and !front will use random arc values to position


  • delaystrafe
    • If enabled, strafe-based movement (stick front, !front, behind, pin) will use a delay before moving
    • Note: This helps prevent endless circling when aggro is gained, or spinning when mobs quick-turn to cast spells
    • Circling is one of the biggest signs that a player is using MoveUtils so it is recommended you ALWAYS leave this enabled


  • autoUW
    • If enabled, stick and moveto will use the uw parameter whenever underwater (look up and down at target)


  • usefleeing
    • If enabled, stick front will not attempt to position in the front of a target that is fleeing


  • usescatter
    • If enabled, camp returns will use scattered return locations instead of default behavior
    • Note: Default behavior attempts to get back within camp radius
    See scatter numerical settings for more information



The following option is unique

  • /stick set heading true | loose | fast
    • Changes plugin heading adjustments to use the specified type
    • true: actual keypressing -- does not work with wineq=on
    • loose: simulated incremental turning -- fast: instantly set heading




The following 'set' commands require a numeric value, and can be used from any of the four main plugin commands. (stick used for example purposes only)

  • /stick set pulsecheck #
    • Number of pulses used to calculate average movement distance in stucklogic
    • Valid: 1 or higher


  • /stick set pulseunstuck #
    • Number of pulses successfully moved forward before considered unstuck
    • Valid: 1 or higher


  • /stick set diststuck #.##
    • Minimum distance needed to move or else considered stuck (compares against pulse average)
    • Valid: 0.01 or higher


  • /stick set campmindelay #
    • Minimum delay before auto-returning to camp (in ms)
    • Valid: 125 or higher


  • /stick set campmaxdelay #
    • Maximum delay before auto-returning to camp (in ms)
    • Valid: 125 more than campmindelay


  • /stick set pausemindelay #
    • Minimum delay before resuming from mpause/mousepause (in ms)
    • Valid: 125 or higher


  • /stick set pausemaxdelay #
    • Maximum delay before resuming from mpause/mousepause (in ms)
    • Valid: 125 more than pausemindelay


  • /stick set strafemindelay #
    • Minimum delay before stick will strafe to move when delaystrafe is enabled (in ms)
    • Valid: 125 or higher
    • note: higher values are better. default of 1500 (1.5s) is recommended


  • /stick set strafemaxdelay #
    • Maximum delay before stick will strafe to move when delaystrafe is enabled (in ms)
    • Valid: 125 higher than strafemindelay
    • note: higher values are better. default of 3000 (3s) is recommended


  • /stick set ydist #.##
    • Acceptable distance to have "arrived" for precisey moveto
    • Valid: 1.0 or higher


  • /stick set xdist #.##
    • Acceptable distance to have "arrived" for precisex moveto
    • Valid: 1.0 or higher


  • /stick set snapdist #.##
    • Default distance to run past target before turning to snaproll
    • Valid: 1.0 or higher


  • /stick set summondist #.##
    • Distance character must be summoned in a single pulse for BreakOnSummon to fire
    • Valid: 2.0 or higher


  • /stick set turnrate #.#
    • Rate at which loose heading turns
    • Valid: 1.0 to 100.0


  • /stick set !frontarc #.#
    • Angular distance arc for stick !front
    • Valid: 1.1 to 260.0


  • /stick set behindarc #.#
    • Angular distance arc for stick behind
    • Valid: 1.1 to 260.0


  • /stick set breakdist #.##
    • Distance to check for breakonwarp
    • Valid: 1.0 or higher


  • /stick set campradius #.##
    • Default camp radius and radius for active camp
    • Valid: 5.0 or higher


  • /stick set circleradius #.##
    • Default circle radius
    • Valid: 5.0 or higher


  • /stick set leashlength #.#
    • Default leash length and length for active leash
    • Valid: greater or equal to camp radius


  • /stick set bearing #.#
    • Bearing (direction from center) used for scatter camp
    • Valid: any


  • /stick set scatsize #.##
    • Radius size for scattering
    • Valid: 1.0 or higher


  • /stick set scatdist #.##
    • Distance from center of camp to scatter at
    • Valid: 1.0 or higher


  • /stick set allowmove #.##
    • Loose or True heading allow forward movement when reach this angular distance
    • This is "anti-orbit" code to stop circling near close-range destinations
    • Valid: 10.1 or higher


  • /stick set font #
    • Custom user window font size
    • Valid: 1 to 10


  • /stick set verbflags #
    • Current plugin verbosity flags
    • Valid: see verbosity section near bottom of this wiki entry



The following settings are command-specific, use the command in the example only

  • /stick set backupdist #.##
    • Range that stick will walk backwards instead of turning to face target, if useback enabled
    • Valid: 1.0 or higher


  • /moveto set backupdist #.##
    • Range that moveto will walk backwards instead of turning to face destination, if useback enabled
    • Valid: 1.0 or higher


  • /moveto set dist #.##
    • Acceptable distance to have "arrived" for standard moveto and camp returns
    • Valid: 1.0 or higher


  • /stick [ toggle | set ] alwaysUW [ on | off ]
    • If enabled, stick will always adjust looking angle as if uw parameter was typed inline
    • Note: this is not the same as autoUW, which only enables uw when actually underwater


  • /moveto [ toggle | set ] alwaysUW [ on | off ]
    • If enabled, moveto will always adjust looking angle as if uw parameter was typed inline
    • Note: this is not the same as autoUW, which only enables uw when actually underwater


  • /stick [ toggle | set ] breakonhit [ on | off ]
    • Breaks from stick command if you are attacked by an NPC
    • Note: This parses chat for hits and misses. If you use the number only hitsmode then it will only parse for misses
    as parsing every line for only numbers is too high overhead. Consider switching to Normal or Abbreviated hitsmode


  • /moveto [ toggle | set ] breakonhit [ on | off ]
    • Breaks from moveto command if you are attacked by an NPC
    • Note: This parses chat for hits and misses. If you use the number only hitsmode then it will only parse for misses
    as parsing every line for only numbers is too high overhead. Consider switching to Normal or Abbreviated hitsmode


  • /stick [ toggle | set ] useback [ on | off ]
    • If enabled, stick will walk backwards to position itself when close to a target instead of turning to face it
    • Note: This requires loose or truehead style heading adjustments, and does not work with fast heading


  • /moveto [ toggle | set ] useback [ on | off ]
    • If enabled, moveto will walk backwards to position itself when close to a destination instead of turning to face it
    • Note: This requires loose or truehead style heading adjustments, and does not work with fast heading
    • This includes automatic and user-forced camp returns


  • /stick [ toggle | set ] loose | truehead [ on | off ]
  • /moveto [ toggle | set ] loose | truehead [ on | off ]
  • /circle [ toggle | set ] loose | truehead [ on | off ]
    • Change the heading type for currently active (stick | moveto | circle) to this type of heading. If WinEQ is enabled, truehead will fail to switch.
    • Once current command ends, heading type will return to previous.



/stick

The stick command sticks you to your target, so that if your target moves you will move along with it. There are many different parameters that cause this command to behave in different ways. You can combine any number of these parameters together inline to enable multiple options for the stick.

  • /stick
    • stick with no parameters will stick you to your current target, using max melee range


  • /stick on | off
    • turns stick on and off with default values
    • on is a nearly-useless parameter and only included to support older macros or stickcmd=on in MQ2Melee to prevent MQ2Melee from doing anything undesired
    • if you use /stick on in your macro, expect to be laughed at whole-heartedly


  • /stick id [#]
    • sticks to the given spawn id
    • uses id of your current target if no spawn id is given
    • this allows you to continue sticking when your target changes, e.g. casting a heal on someone


  • /stick # | #%
    • Stick at the specified distance or percentage


  • /stick -#
    • Reduce current stick distance modifier by #


  • /stick moveback
    • stick will back up to the <dist> value if the target gets closer, e.g. many targets in the rear pushing target too close to the tank


  • /stick loose
    • stick using turn increments instead of instant heading adjustment


  • /stick truehead
    • stick using actual keypress heading adjustments
    • does not work if wineq option is enabled


  • /stick healer
    • Healer sticking does not perform face adjustments to look at the target while in stick range
    • This is good for keeping a healer close & sticking to another group member without having it turn to face the other character constantly as it moves
    • Does not work with any strafe-style sticks (pin front !front behind behindonce snaproll)


  • /stick uw | underwater
    • face angle will look up/down at the stick target


  • /stick hold
    • stick to the current target even if your target changes


  • /stick behind
    • stick to the rear of the target unless you are on HoTT. will spin in circles if you do not have HoTT and gain aggro (to prevent: USE DelayStrafe OPTION !!!)


  • /stick behindonce
    • stick behind the target when first moving into position, only using <dist> enforcement after


  • /stick !front
    • stick to target anywhere but the frontal arc, same considerations as behind apply (use DelayStrafe!)


  • /stick pin
    • stick to the side of the target, same consideration as behind apply (use DelayStrafe!)


  • /stick front
    • stick to the front arc of the target
    • if you have HoTT and lose aggro you will not spin
    • this will not work by default without HoTT


  • /stick (ANY STICK VALUES) always
    • when current target is lost, will wait and then resume sticking using supplied values upon next NPC targeted
    • does not work with stick hold or stick id


  • /stick snaproll [ left | right | face | rear ]
    • runs in a straight line behind your target then turns to face
    • left/right/front of target if optional parameter direction supplied
    • rear is default



the following inline configuration options are supported for one-time use:

  • /stick breakontarget | breakongate | breakonwarp | pauseonwarp | randomize | delaystrafe | useback | usefleeing | strafewalk | mindelay # | maxdelay # | backupdist # | breakdist # | snapdist # | !frontarc # | behindarc #
    • Read the set name section for explanation of what these parameters do


  • /stick mod # | -#
    • modify stick distance by the supplied amount (does not turn stick on)



/moveto

The moveto command will move you from your current location to a specific location or target. You can combine any number of these parameters together inline to enable multiple options for the moveto.

  • /moveto loc Y X [Z]
    • moves to the specified location
    • z is optional
    • must be the first parameter


  • /moveto yloc Y | xloc X
    • beeline to the Y or X supplied
    • different from precisey/x in that this only considers a single axis
    • must be the first parameter


  • /moveto id [#]
    • moves to the supplied spawn id, or your current target if no id is given


  • /moveto off
    • stop moving to the current target/location


  • /moveto loose
    • moveto using more human-like heading adjustments


  • /moveto truehead
    • moveto using actual keypress heading adjustments


  • /moveto (id | loc Y X [Z]) precisey | precisex
    • moves to loc stopping when within x or y arrival dist values instead of both
    • works with either id or loc


  • /moveto uw | underwater
    • look angle up and down at destination


  • /moveto dist #
    • sets value for how close to actual location is considered arrival
    • does not turn moveto on
    • permanently changes the value


  • /moveto [id spawnid | loc y x [z]] mdist # [id]
    • sets value for how close to actual location is considered arrival
    • allowed inline BEFORE id or AFTER loc y x [z] or id [spawn id] parameter
    • permanently changes the value


the following inline configuration options are supported for one-time use:

  • /moveto breakonaggro | breakonhit | usewalk | useback | backupdist # | ydist # | xdist #
    • Read the set name section for explanation of what these parameters do



/circle

The circle command spins you in a circle. If you are like me, looking at this for the first time wondering what the point is, this is mainly for bards to use while circle kiting, but could equally be used for amusement. You can combine any number of these parameters together inline to enable multiple options for the circle.

  • /circle on [ # ]
    • begin circling using your current location as the center with default radius
    • if optional # parameter supplied, use # as the radius size
    • must be first parameter


  • /circle off
    • stop circling


  • /circle loc Y X
    • begin circling using the specified location as the center
    • must be first parameter


  • /circle drunken
    • turn to complete the circle at random intervals


  • /circle clockwise | cw
    • circle in a clockwise direction. (default)


  • /circle cw | counterclockwise | reverse
    • circle in a counter-clockwise direction


  • /circle radius #
    • sets the default size of the circle radius
    • for use with loc y x since on # would have to be first param


  • /circle backward
    • run backwards instead of forwards



/makecamp

The makecamp command will create a camp spot for you to return to after combat, or to establish boundries for your character to prevent them from moving beyond a certain radius.

  • /makecamp
    • using makecamp with no parameters will set up a camp at your current location, using default values


  • /makecamp on [ # ]
    • set up a camp at current location with default values
    • if optional # parameter supplied, use # as camp radius size
    • must be first parameter


  • /makecamp off
    • disable current makecamp


  • /makecamp loc Y X
    • set up a camp at the specified location
    • must be first parameter


  • /makecamp player [ name ]
    • set up a dynamic camp based on a certain pc name if in zone, or targeted pc if optional name not supplied


  • /makecamp leash
    • toggles leashing to camp radius so character cannot leave boundary


  • /makecamp leash #
    • sets how far beyond camp radius you can move before leashing (LeashLength)


  • /makecamp radius #
    • sets the radius of the camp size
    • does not turn camp on if supplied on its own


  • /makecamp mindelay # | maxdelay #
    • sets the delay time before auto-returning to camp


  • /makecamp return
    • forces a return to the camp radius immediately


  • /makecamp altreturn
    • forces a return to the camp spot you had before your current one, or a camp that is now turned off


the following inline configuration options are supported for one-time use:

  • /makecamp returnhavetarget | returnnoaggro | returnnotlooting | realtimeplayer | scatter | bearing # | scatsize # | scatdist #
    • Read the set name section for explanation of what these parameters do



Other Plugin Commands

Less popular commands of MQ2MoveUtils

  • /calcangle
    • Displays lots of basic numerical information related to moving such as Dist values, angular distance, 3D distance, melee range, stick range, speed multipliers
    • This command is useful to help determine what to set plugin options such as arc values or AllowMove, backup dist, etc.


  • /rootme [ off ]
    • roots the player in place, unable to move. this is not any form of actual debuff, just a plugin implementation of locking a character in place
    • supplying the optional off parameter disables the root
    • other commands will not function when rootme is active



Top-Level Objects

${MoveUtils}

Members of this datatype relate to plugin settings and generic information

Type Member Return Values Description
string Command NONE STICK MOVETO MAKECAMP CIRCLE Displays the currently active command. MAKECAMP returns if a camp is setup but no other command is currently in use
bool Stuck TRUE FALSE Displays true if plugin stucklogic has determined you are currently stuck
bool Summoned TRUE FALSE Displays true if BreakOnSummon is enabled and has fired due to your character being summoned beyond breakonsummon distance
bool StuckLogic TRUE FALSE Displays true if stucklogic is enabled
bool Verbosity TRUE FALSE Displays true if verbosity is enabled
bool FullVerbosity TRUE FALSE Displays true if fullverbosity is enabled
bool TotalSilence TRUE FALSE Displays true if totalsilence is enabled
bool Aggro TRUE FALSE Displays true if you are facing your target and your target is facing you
bool TryToJump TRUE FALSE Displays true if stucklogic trytojump is enabled
int PauseMinDelay 125 or greater Displays the min delay for mousepause and mpause to resume command in ms
int PauseMaxDelay 125 or more greater than PauseMinDelay Displays the max delay for mousepause and mpause to resume command in ms
int PulseCheck 1 or greater Displays the number of pulses used to average movement rate for stucklogic
int PulseUnstuck 1 or greater Displays the number of pulses successfully moved forward after being stuck to be considered unstuck
float DistStuck 0.01 or greater Displays the amount of distance needed to have moved (compared against pulse average) or else considered stuck by stucklogic
float Version #.#### Displays the version number of the plugin
bool MovePause TRUE FALSE Displays true if mpause (PauseKB) is enabled
bool GM TRUE FALSE Displays true if BreakOnGM fired
string To String Same as Command Same as Command


${Stick}

Members of this datatype relate to the '/stick' command

Type Member Return Values Description
string Status OFF PAUSED ON Displays ON if any form of stick is active
bool Active TRUE FALSE Displays true if any form of stick is active
bool Broken TRUE FALSE Returns true if BreakOnHit event has halted stick prematurely
float Distance #.## Current distance used by stick
bool MoveBehind TRUE FALSE Displays true if stick behind is active
bool MoveBack TRUE FALSE Displays true if moveback is active
bool Loose TRUE FALSE Displays true if loose sticking is enabled
bool Paused TRUE FALSE Displays true if plugin is paused
bool Behind TRUE FALSE Displays true if currently behind target (regardless of /stick behind), false if outside of stick dist or not behind
bool Stopped TRUE FALSE Displays true if stick is within stick distance
bool Pin TRUE FALSE Displays true if stick pin is active
int StickTarget SpawnID Returns spawnid of stick target if stick id/hold used, else spawnid of current target, 0 if no target and id/hold not used
string StickTargetName NONE DisplayedName Returns DisplayedName of stick target if stick id/hold used, else current target or NONE if no target and hold/id not used
float DistMod [-]#.## Current stickdist modifier
float DistModPercent #.## Current stickdist percent modifier
bool Always TRUE FALSE Returns true if /stick always is active
string To String Same as Status Same as Status


${MoveTo}

Members of this datatype relate to the '/moveto' command

Type Member Return Values Description
bool Moving TRUE FALSE Displays true if moveto or camp return is active
bool Stopped TRUE FALSE Displays true if the last moveto command completed successfully
bool CampStopped TRUE FALSE Displays true if within moveto distance of makecamp Y X location
bool UseWalk TRUE FALSE Returns true if UseWalk is enabled
float ArrivalDist 1.00+ Acceptable arrival distance
float ArrivalDistY 1.00+ Acceptable arrival distance for precisey
float ArrivalDistX 1.00+ Acceptable arrival distance for precisex
bool Broken TRUE FALSE Returns true if BreakOnAggro or BreakOnHit event have halted moveto prematurely
string To String OFF PAUSED ON Displays ON if a moveto command is active


${MakeCamp}

Members of this datatype relate to the '/makecamp' command

Type Member Return Values Description
string Status OFF PAUSED ON Displays status of MakeCamp command. AltCamp returns OFF
bool Leash TRUE FALSE Displays true if leash is enabled
float AnchorX 0.00 Location of current camp X anchor
float AnchorY 0.00 Location of current camp Y anchor
float LeashLength Greater than or equal to CampRadius Size of Leash Length
float CampRadius 10.0+ Size of camp radius
int MinDelay 125 or greater Displays the min delay for auto-returning to camp in ms
int MaxDelay 125 or more greater than MinDelay Displays the max delay for auto-returning to camp in ms
bool Returning TRUE FALSE Displays true if /makecamp return issued
float AltAnchorX 0.00 Location of current altcamp X anchor
float AltAnchorY 0.00 Location of current altcamp Y anchor
float CampDist 0.00 Distance to camp anchor from your current location. Returns 0.00 if camp is disabled
float AltCampDist 0.00 Distance to altcamp anchor from your current location. Returns 0.00 if altcamp not established
float AltRadius 10.0+ Size of altcamp radius
bool Scatter TRUE FALSE Displays true if camp scattering enabled
bool ReturnNoAggro TRUE FALSE Displays true if ReturnNoAggro is enabled
bool ReturnNotLooting TRUE FALSE Displays true if ReturnNotLooting is enabled
bool ReturnHaveTarget TRUE FALSE Displays true if ReturnHaveTarget is enabled
float Bearing 0.00 Bearing (heading) of camp scattering
float ScatDist 1.0+ Distance from anchor to perform scatter
float ScatSize 1.0+ Size of scattering radius
string To String Same as Status Same as Status


${Circle}

Members of this datatype relate to the '/circle' command

Type Member Return Values Description
string Status OFF PAUSED ON Returns ON if circling
float CircleY 0.00 Location of circle center Y
float CircleX 0.00 Location of circle center X
bool Drunken TRUE FALSE Displays true if drunken
string Rotation CW CCW Displays CCW if reverse circling
string Direction FORWARDS BACKWARDS Movement direction of current circle
bool Clockwise TRUE FALSE Displays false if reverse circling
bool Backwards TRUE FALSE Displays true if movement direction backwards
float Radius 5.00+ Radius size of circle
string To String Same as Status Same as Status



Configuration

MQ2MoveUtils saves a configuration file to your root MQ2 folder: MQ2MoveUtils.ini

Default INI File

[Defaults]
AllowMove=32.0
AutoPause=on
AutoPauseMsg=on
AutoSave=on
AutoUW=off
BreakKeyboard=on
BreakMouse=off
BreakOnGM=on
BreakOnSummon=off
DistSummon=8.00
FeignSupport=off
Heading=true
HideHelp=off
KeyboardPause=off
MousePause=off
LockPause=off
PauseMinDelay=500
PauseMaxDelay=5000
SaveByChar=on
TurnRate=14.00
UseWindow=off
Verbosity=on
FullVerbosity=on
TotalSilence=off
VerbosityFlags=33554431
WinEQ=off

[Stick]
AlwaysUW=off
AwareNotAggro=off
ArcBehind=45.0
ArcNotFront=135.0
BreakOnGate=on
BreakOnHit=off
BreakOnTarget=off
BreakOnWarp=on
PauseOnWarp=off
DelayStrafe=on
DistBackup=10.0
DistBreak=250.0
DistMod=0.0
DistMod%=1.0
DistSnaproll=10.0
RandomArc=off
StrafeMinDelay=1500
StrafeMaxDelay=3000
UseBackward=on
UseFleeing=on
UseWalk=off

[MakeCamp]
CampRadius=40.00
MinDelay=500
MaxDelay=1500
RealtimePlayer=off
ReturnHaveTarget=off
ReturnNoAggro=off
ReturnNotLooting=off
UseLeash=off
LeashLength=50.00
UseScatter=off
Bearing=0.00
ScatDist=10.00
ScatSize=10.00

[MoveTo]
AlwaysUW=off
ArrivalDist=10.0
ArrivalDistX=10.0
ArrivalDistY=10.0
BreakOnAggro=off
BreakOnHit=off
DistBackup=30.0
MoveToMod=0.0
UseBackward=off
UseWalk=on

[Circle]
Backward=off
CCW=off
Drunken=off
RadiusSize=30.0

[StuckLogic]
StuckLogic=on
DistStuck=0.10
PulseCheck=6
PulseUnstuck=10
TryToJump=off
TurnHalf=on

[Window]
ChatTop=10
ChatBottom=210
ChatLeft=10
ChatRight=410
Fades=0
Alpha=255
FadeToAlpha=255
Duration=500
Locked=0
Delay=2000
BGType=1
BGTint.red=255
BGTint.green=255
BGTint.blue=255
FontSize=2
WindowTitle=MoveUtils

[yourserver.yourcharacter]
DisregardMe=false
AllowMove=32.0
ArcBehind=45.0
ArcNotFront=135.0
AutoSave=on
AutoUW=off
DistBreak=250.0
BreakOnGate=on
BreakOnWarp=on
PauseOnWarp=off
LockPause=off
DistSnaproll=10.0
FeignSupport=off
Heading=true
LeashLength=50.00
UseLeash=off
UseWindow=off
Verbosity=on
FullVerbosity=on
VerbosityFlags=33554431
CampRadius=40.00
RealtimePlayer=off
UseScatter=off
Bearing=0.00
ScatDist=10.00
ScatSize=10.00



INI options

Information on what the actual values can be and represent.

[Defaults]

This section is for default plugin settings

  • AllowMove - 10.0+, anti-orbit setting for true/loose heading representing angular distance before moving forward
  • AutoPause= - on or off, pauses command if casting spells, stunned, rooted, sitting, or self targeted
  • AutoPauseMsg= - on or off, displays output when AutoPause halts movement
  • AutoSave= - on or off, automatically save ini file when using 'toggle' or 'set'
  • AutoUW= - on or off, automatically use 'uw' heading adjustments when character is under water
  • BreakKeyboard= - on or off, break command from keyboard press
  • BreakMouse= - on or off, break command from mouselook usage
  • BreakOnGM= - on or off, break current command and prevent command usage if GM enters zone
  • BreakOnSummon= - on or off, halt command and ability to use commands if summoned beyond certain distance
  • DistSummon= - 2.0+, distance moved in a single pulse to trigger breakonsummon (if on)
  • FeignSupport= - on or off, fd support waits for you to stand up manually before moving, if feigned
  • Heading= = true or loose or fast, type of heading adjustments plugin will use (fast=instant, loose=gradual emulated shift, true=real kb presses)
  • HideHelp= - on or off, never automatically display help output unless requested
  • KeyboardPause= - on or off, pause command for a delay if keyboard press
  • MousePause= - on or off, pause command for a delay if mouselook used
  • LockPause= - on or off, plugin will not automatically unpause under any circumstance unless user unpauses
  • PauseMinDelay= - 125+ (in ms), minimum delay before resuming from mpause/mousepause
  • PauseMaxDelay= - 125 above min (in ms), maximum delay before resuming from mpause/mousepause
  • SaveByChar= - on or off, save [server.Charname] section of ini file for individual character settings
  • TurnRate= - 10.0 to 100.0, rate at which loose heading emulates turns
  • UseWindow= - on or off, uses a custom user-placed window for all moveutils output if enabled
  • Verbosity= - on or off, ChatWnd output for basic command info
  • FullVerbosity= - on or off, ChatWnd output for enhanced plugin info
  • TotalSilence= - on or off overrides verb/fullverb, silence ChatWnd output except for critical or user-requested messages
  • VerbosityFlags= - see verbosity section of this wiki
  • WinEQ= - on or off, when enabled moveutils uses feigned movement simulation due to the bug of WinEQ2 holding down alt keys and mouse buttons in background sessions

note: if WinEQ is enabled, true heading is NOT possible

[Stick]

This section is for settings related to /stick

  • AlwaysUW= - on or off, if enabled stick will always use the 'uw' parameter as if it were typed inline
  • AwareNotAggro= - on or off, detect aggro loss if using stick front
  • ArcBehind= - 5.1 to 259.9, user can configure angular distance arc that "stick behind" uses
  • ArcNotFront= - 5.1 to 259.9, user can configure angular distance arc that "stick !front" uses
  • BreakOnGate= - on or off, break from stick if "target Gates." message occurs
  • BreakOnHit= - on or off, when enabled stick will halt if user is being attacked
  • BreakOnWarp= - on or off, break from stick if target warps beyond certain distance
  • PauseOnWarp= - on or off, pause stick unless target gets back in range if warps beyond certain distance (break or pause, can't have both)
  • DelayStrafe= - on or off, delay strafing movement when position adjustment required (good for stopping endless circling if aggro is gained)
  • DistBackup= - 1.0+, if you are within this distance when stick turned on, stick will walk backwards rather than spin in a circle to move to target
  • DistBreak= - 1.0+, distance mob moved in a single pulse to trigger breakonwarp (if on)
  • DistMod= - 0.0+, adjust default/supplied stick distance by this amount
  • DistMod%= - 0.0+ (represents a percentage), adjust default/supplied stick distance by this percent
  • DistSnaproll= - 1.0+, distance behind target snaproll will move before stopping and turning to face target
  • RandomArc= - on or off, randomize min/max arc for any strafe-based stick (so you do not always stick to the exact same spot of a mob)
  • StrafeMinDelay= - 125+ (in ms), minimum delay before attempting to strafe if delaystrafe enabled
  • StrafeMaxDelay= - 125 above min (in ms), maximum delay before attempting to strafe if delaystrafe enabled
  • UseBackward= - on or off, when enabled stick will walk backward rather than turn to face if within DistBackup of target
  • UseFleeing= - on or off, when enabled "stick front" will not attempt to position in front of the mob when target begins to flee
  • UseWalk= - on or off, when enabled stick uses walking when close to the target for precise movements and preventing overshooting


[MakeCamp]

This section is for settings related to /makecamp

  • CampRadius= - 5.0+, default camp radius size
  • MinDelay= - 125+ (in ms), minimum delay before auto-returning to camp
  • MaxDelay= - 125 above min (in ms), maximum delay before auto-returning to camp
  • RealtimePlayer= - on or off, when enabled "makecamp player" gets realtime location updates of player and adjusts returning on the fly
  • ReturnHaveTarget= - on or off, if on Auto-Return to camp even if you have a target (default behavior is return only if no target)
  • ReturnNoAggro= - on or off, Auto-Return to camp only if not aggro
  • ReturnNotLooting= - on or off, do not Auto-Return to camp if looting a corpse
  • UseLeash= - on or off, do not allow character to move beyond LeashLength
  • LeashLength= - #.# >= camp radius, length of leash
  • UseScatter= - on or off, use specific scatter values instead of random return location
  • Bearing= - #, bearing of scatter
  • ScatDist= - 1.0+, distance from camp center to perform scatter
  • ScatSize= - 1.0+, radius size of scatter area


[MoveTo]

This section is for settings related to /moveto

  • AlwaysUW= - on or off, if enabled moveto will always use the 'uw' parameter as if it were typed inline
  • ArrivalDist= - 1.0+, distance considered acceptable to have arrived at destination
  • ArrivalDistX= - 1.0+, distance considered acceptable to have arrived at destination when using precisex
  • ArrivalDistY= - 1.0+, distance considered acceptable to have arrived at destination when using precisey
  • BreakOnAggro= - on or off, when enabled moveto will halt if aggro is gained (crossed swords in player window)
  • BreakOnHit= - on or off, when enabled moveto will halt if user is being attacked
  • DistBackup= - 1.0+, moveto will walk backwards to location if within this distance rather than spin to face destination first
  • MoveToMod= - 0.0+, modifier applied to moveto arrivaldist
  • UseBackward= - on or off, when enabled moveto will use backward movement if within DistBackup (applies to makecamp returns)
  • UseWalk= - on or off, turn on walk when close to moveto location and camp return spot for precise movement


[Circle]

This section is for settings related to /circle

  • Backward= - on or off, always run backwards instead of forwards when circling
  • CCW= - on or off, always run in a ccw circle instead of default clockwise
  • Drunken= - on or off, always use drunken circling
  • RadiusSize= - 5.0+, default radius size of circle


[StuckLogic]

This section is for settings related to stucklogic

  • StuckLogic= - on or off, if enabled stucklogic detects and attempts to auto-correct getting stuck while moving
  • DistStuck= - 0.01+, distance needed to have moved or else stuck (compared against an average)
  • PulseCheck= - 1+, amount of pulses used to calculate moving average
  • PulseUnstuck= - 1+, number of pulses successfully moved forward to be considered unstuck
  • TryToJump= - on or off, attempt to jump to help get unstuck
  • TurnHalf= - on or off, if have turned halfway and failed to get unstuck, reset heading and try other direction instead


[Window]

  • ChatTop= - See EQ XML UI file settings
  • ChatBottom= - See EQ XML UI file settings
  • ChatLeft= - See EQ XML UI file settings
  • ChatRight= - See EQ XML UI file settings
  • Fades= - See EQ XML UI file settings
  • Alpha= - See EQ XML UI file settings
  • FadeToAlpha= - See EQ XML UI file settings
  • Duration= - See EQ XML UI file settings
  • Locked= - See EQ XML UI file settings
  • Delay= - See EQ XML UI file settings
  • BGType= - See EQ XML UI file settings
  • BGTint.red= - See EQ XML UI file settings
  • BGTint.green= - See EQ XML UI file settings
  • BGTint.blue= - See EQ XML UI file settings
  • FontSize= - 1 to 10, default font size for window
  • WindowTitle= - custom user title for the window


[yourserver.yourcharacter]

if savebychar is on, this section will be created for every character The settings in this section are some of the above values that could be desired to vary on a char-by-char basis (including WINDOW settings) with the exception of one value:

  • DisregardMe= true or false, if you want custom character values to load for some characters but this specific character to use the default values instead, set this to true and though a lot of entries will be written to this section, they will be ignored for this specific character



Verbosity

The verbosity system has been revamped to use bit flags for superior control of what messages will be displayed by the plugin. The older system has not been removed - if this is difficult to understand you may still use verbosity, fullverbosity and totalsilence as before. For those familiar with bit flags the flags table is below. If you have never worked with bit flags before, here is a brief summary of how to use the information below. Each subset of messages is assigned a numerical value. By adding the numerical values of the messages you want on together, you are able to customize each message that is shown or not shown. Examples:

  • If you only wanted the plugin to display 'settings' and 'errors', you would look at the value of settings in the table below (8192) and the value of errors (4194304) and add them together to get (4202496). By setting your verbosity flag to 4202496 (using the set verbflags parameter or by saving the value in the INI file) the plugin would then filter out everything except messages related to changing settings or error messages.
  • If you only wanted to display 'stick verbosity' messages and nothing else, you would look up the value in the table below (32) and set your flags to 32 without adding anything to it.
  • If you want to display a large number of messages, you continue to add them all together and use the total. To display 'autopause', 'movepause', 'stick verbosity', 'stick fullverbosity', 'settings' and 'errors', you would add all their values from the below table (1 + 2 + 32 + 64 + 8192 + 4194304 = 4202595) and use that number for your flags setting (/stick set verbflags 33554431)

Flags Table

0 - total plugin silence
1 - autopause
2 - movepause, mousepause, breakonkb
4 - breakonmouse
8 - feign support
16 - hidehelp
32 - stick verbosity
64 - stick full verbosity
128 - moveto verbosity
256 - moveto full verbosity
512 - makecamp verbosity
1024 - makecamp full verbosity
2048 - circle verbosity
4096 - circle full verbosity
8192 - settings
16384 - file input / output
32768 - breakonwarp
65536 - breakonaggro
131072 - breakonhit
262144 - breakonsummon
524288 - breakongm
1048576 - breakongate
2097152 - stick always
4194304 - error messages
8388608 - arc randomization
16777216 - pause / unpause
2720 - prior 'verbosity' setting
11736390 - prior 'fullverbosity' setting
33554431 - all messages enabled

Actual Messages

Here is a list of exactly what messages are tied to each flag:

  • 1 - autopause
    AutoPause halting movement... (when autopaused if autopause is enabled)
    Movement pausing due to self target... (if self targeted during a stick with autopause off)
  • 2 - movepause, mousepause, breakonkb
    Current command ended from manual movement.
    Resuming previous command from movement pause.
  • 4 - breakonmouse
    Current command ended from mouse movement.
  • 8 - feign support
    Not standing as you are currently Feign Death
  • 16 - hidehelp
    Hidehelp when turned on prevents the help output (seen in /stick help) from being automatically output if you input a command incorrectly
  • 32 - stick verbosity
    You are now sticking to TargetName.
    You are no longer sticking to anything.
    You will now stick to every valid NPC target supplied.
  • 64 - stick full verbosity
    Dir(ANY) Dist(10.0) Head(true) ID(31337) UW MB HEALER
  • 128 - moveto verbosity
    Moveto off.
    Arrived at moveto location
  • 256 - moveto full verbosity
    Moving to loc #, # Dist(10) Head(true)
  • 512 - makecamp verbosity
    MakeCamp actived. Y(#) X(#) Radius(#) Leash(#) LeashLen(#) Min(#) Max(#)
    MakeCamp returning to within camp radius immediately
    MakeCamp returning to altcamp immediately.
    MakeCamp returning to altcamp immediately. Current camp now OFF.
    MakeCamp player ended due to player leaving/death
    Outside of leash length, breaking from current command
  • 1024 - makecamp full verbosity
    Ended '/moveto' or '/makecamp return' because leash is on.
  • 2048 - circle verbosity
    Circling radius (#), center (#, #) OFF
  • 4096 - circle full verbosity
    none at this time
  • 8192 - settings
    Stick modifier changed to Mod(#) Mod%(# %) (from /stick mod #)
    Stick mod changed Mod(#) ModPercent(# %) (from stick inline -# or #%)
    Moveto distance mod changed to #. (from /moveto dist #)
    Option turned ON (from /command set option on, or /command toggle option)
    Option turned OFF (from /command set option off, or /command toggle option)
    Option set to # (from /command set option #)
  • 16384 - file input / output
    Debug file created.
    Saved settings to C:\yourpath\MQ2MoveUtils.ini (from /command save)
    Loaded settings from C:\yourpath\MQ2MoveUtils.ini (from /command load)
  • 32768 - breakonwarp
    Stick pausing until target back in BreakDist range...
    Stick ending from target warping out of BreakDist range.
  • 65536 - breakonaggro
    BreakOnAggro's: Aggro gained during /moveto, Halting command...
  • 131072 - breakonhit
    BreakOnHit's: Aggro gained during /moveto, Halting command...
  • 262144 - breakonsummon
    WARNING Command ended from character summoned # distance in a pulse.
    WARNING Verify you are not being monitored and type /stick imsafe to allow command usage.
  • 524288 - breakongm
    WARNING Plugin halted from [GM] Name in zone.
    [GM] Name has left the zone or turned invisible. Use /stick imsafe to allow command usage.
  • 1048576 - breakongate
    Mob gating ended previous command.
  • 2097152 - stick always
    Stick awaiting next valid NPC target...
  • 4194304 - error messages
    (ERROR) /moveto or /circle command used with no parameter.
    (ERROR) Plugin was already paused.
    (ERROR) Plugin was not paused.
    (ERROR) /stick mod [#] supplied incorrectly.
    (ERROR) /moveto yloc [Y] was supplied incorrectly.
    (ERROR) /moveto xloc [X] was supplied incorrectly.
    (ERROR) SpawnID must be a positive numerical value.
    (ERROR) You cannot use yourself or your mount.
    (ERROR) You cannot stick hold to yourself.
    (ERROR) Incorrectly used /moveto dist [#]
    (ERROR) /makecamp [radius <dist>] was supplied incorrectly.
    (ERROR) You do not have an active camp.
    (ERROR) You cannot use this command with a player-camp active.
    (ERROR) You cannot use this command until you've established an altcamp location.
    (ERROR) Invalid player name and do not have a valid player target.
    (ERROR) You cannot makecamp yourself.
    (ERROR) Use /circle radius [#] to set radius.
    ERROR: Invalid 'option set' syntax ( option ) [on|off|number]
    ERROR: Not a valid command toggle ( option ).
    ERROR: Not a valid command set option ( option ).
    Error - Font must be between 1 and 10.
    ERROR: Invalid 'command set' parameter ( option )
    (ERROR) You cannot stick to yourself!
    You must specify something to stick to!
    (ERROR) /moveto loc [ <Y> <X> [z] ] was supplied incorrectly.
    (ERROR) /makecamp loc [ <Y> <X> ] was supplied incorrectly.
    (ERROR) Usage /circle loc [ <Y> <X> ] [other options]
    (ERROR) Invalid SpawnID and do not have a valid target.
    (ERROR) /makecamp [mindelay|maxdelay] [#] was supplied incorrectly.
  • 8388608 - arc randomization
    Arcs Randomized! Max: # Min: #
  • 16777216 - pause / unpause
    PAUSED (from /command pause)
    RESUMED (from /command unpause)

INI File Example

MQ2MoveUtils.ini

 [Defaults]
 AutoPause=on
 BreakOnWarp=on
 BreakDist=250.0
 BreakOnGate=on
 Verbosity=0
 stuckDist=0.3
 turnDirection=-10.0
 stuckCheck=5
 StuckLogic=on
 LeashLength=100.0
 CampRadius=25.0
 MinDelay=3000
 MaxDelay=8000
 AutoSave=on
 BreakKeyboard=on
 BreakMouse=off
 BreakOnSummon=off
 BreakSummonDist=8.00
 FeignSupport=off
 HideHelp=off
 KeyboardPause=off
 MousePause=off
 PauseMinDelay=500
 PauseMaxDelay=5000
 SaveByChar=on
 TurnRate=14.00
 FullVerbosity=on
 TotalSilence=off
 ManualPause=on
 [Stick]
 AwareAggro=off
 AwareNotAggro=off
 BreakDist=250.00
 BreakOnGate=on
 BreakOnWarp=on
 LooseStick=on
 StickDistMod=0.00
 StickDistModPercent=1.00
 [MakeCamp]
 CampRadius=40.00
 MinDelay=500
 MaxDelay=1500
 ReturnNoAggro=off
 ReturnNoTarget=off
 ReturnNotLooting=off
 UseLeash=off
 LeashLength=50.00
 UseScatter=off
 Bearing=0.00
 ScatDist=10.00
 ScatSize=10.00
 [MoveTo]
 A rrivalDist=5.00
 ArrivalDistX=5.00
 ArrivalDistY=5.00
 LooseMoveTo=on
 MoveToMod=0.00
 UseWalk=on
 [Circle]
 AlwaysBackwards=off
 AlwaysCounterClockwise=off
 AlwaysDrunken=off
 RadiusSize=30.00
 [StuckLogic]
 StuckLogic=on
 DistStuck=0.20
 PulseCheck=6
 PulseUnstuck=10
 TryToJump=on
 TurnHalf=on
 [server.charactername]
 AutoSave=on
 BreakDist=250.00
 BreakOnGate=on
 BreakOnWarp=on
 FeignSupport=off
 LeashLength=50.00
 UseLeash=off
 Verbosity=on
 FullVerbosity=on
 CampRadius=40.00
 UseScatter=off
 Bearing=0.00
 ScatDist=10.00
 ScatSize=10.00


Availability

This plugin is included with the MMOBugs Compile.