Register |  Notes |  Sign in...     

Software Documentation -> MQ2EmuRing
Reply to topic


Maudigan   Send PM
Project Lead






MQ2EmuRing

Sat Jul 22, 2017 12:03 pm      





Index


Overview
- Installation
- Update History
Commands
- ring
TLO: Ring
Macro Example
Dependencies
Limitations
Troubleshooting



Overview


MQ2EmuRing creates a way for you to generate a target ring (just like with a splash spell) and then retrieve and use the coordinates where you placed it. This lets you use the ring as a way to quickly reference a location in your macros and hot keys, e.g., moving a character to a location you clicked, setting up a camp location, etc. You can even script the whole process of generating the ring, placing it and then executing a subsequent command on a single line of a hot key.

[back to index]

Installation


Follow the normal MQ setup and startup process. Ensure you have the plugin loaded (/loadskin default). After that you should be able to use the command and TLO. You don't need to be logged in; this is a free plugin.

[back to index]

Update History


20170722: This is the initial revision of the plugin.

[back to index]

Commands



/ring [<command>]


Generates the target ring for placement. After executing this command a red ring will be generated on the ground in-game. You can move the ring around with your cursor and can click to place the ring wherever you like. Once you place the ring the X, Y, and Z coordinates will be available via the Ring TLO properties. If you provide the optional command the command will be executed automatically after you place the ring.

The command parameter will not have its variables parsed until after you place the ring. So if you have ${Ring.X} in the command parameter it will, when eventually executed, hold the value of where you placed the current ring, not the previous.



/ring
Generates a ring and lets you place it. After placement it's coordinates are available via the TLO.

/ring /moveto loc ${Ring.X} ${Ring.Y}
Will generate a ring, allow you to place it, and then execute the moveto command (MQ2MoveUtils) and cause your character to run to that location where you clicked--Diablo style.

/ring /bct Maudigan //moveto loc ${Ring.X} ${Ring.Y}
Similar to above but the command will get sent remotely to "Maudigan" and cause that character to run to the location you clicked.

[back to index]

Top-Level Object: ${Ring}



string Ring.ToString


Returns "TRUE" if the plugin is loaded and "NULL" if it is not loaded.

float Ring.X


Returns the X coordinate of the last target ring you placed using the ring command. It does not return the coordinates of rings placed using a spell. While placing a new ring, when the ring is still on the screen and pending placement, this will continue to return the previous X coordinate. Before you've placed a ring (after zoning, logging in, death, etc.) this will return 0.

/ring /echo I just placed a ring at ${Ring.X}, ${Ring.Y}, ${Ring,Z}

float Ring.Y


Returns the Y coordinate of the last target ring you placed using the ring command. It does not return the coordinates of rings placed using a spell. While placing a new ring, when the ring is still on the screen and pending placement, this will continue to return the previous Y coordinate. Before you've placed a ring (after zoning, logging in, death, etc.) this will return 0.

/ring /echo I just placed a ring at ${Ring.X}, ${Ring.Y}, ${Ring,Z}

float Ring.Z


Returns the Z coordinate of the last target ring you placed using the ring command. It does not return the coordinates of rings placed using a spell. While placing a new ring, when the ring is still on the screen and pending placement, this will continue to return the previous Z coordinate. Before you've placed a ring (after zoning, logging in, death, etc.) this will return 0.

/ring /echo I just placed a ring at ${Ring.X}, ${Ring.Y}, ${Ring,Z}

string Ring.State


Returns a string value describing what the status of the ring is in. Those values follow:

  • INITIALIZED: The plugin is in its initial state, you've not placed a ring in the current zone yet and the X, Y and Z properties will return a 0.
  • SET: A ring has been placed and will return its location via the X, Y, and Z properties.
  • PENDING: A ring is pending. It's still visible on the screen and waiting for you to click and place it. The X, Y, and Z properties will return the previous rings location while pending.
  • FAILED: The previous ring command failed to generate a ring for some reason. the X, Y and Z properties will continue use to return the last successful rings location.


/echo ${If[${Ring.State.Equal[SET],"The ring has been set","The ring is NOT set"]}

[back to index]

Macro Example



Macro
| generate a target ring, allow its placement
| and then command my group to that location

Sub Main
   |generate a ring
   /ring

   |wait for the ring to be placed
   :waitring
   /if ($Ring.State.NotEqual[SET]}) /goto :waitring

   |once the ring is placed move my group to the ring coordinates
   /bca //moveto loc ${Ring.X} ${Ring.Y}
/return



[back to index]

Dependencies


This plugin has no inherent dependencies on other plugins.
This plugin does NOT require a membership.

[back to index]

Limitations


Presently only available on the ROF2 build. It will eventually be added to the other builds that have the target ring available. Not sure which builds that will be but probably not Titanium or SOF.

[back to index]


Troubleshooting



The ring command or TLO doesn't work
  • Make sure MQ is loaded.
  • Make sure MQ2EmuRing is loaded (/plugin MQ2EmuRing).
  • Report the problems here.


[back to index]
 



Reply to topic