Dynamic stick command
Posted: Mon Mar 24, 2014 4:50 am
If any of the follow has happened, then this is for you. Have you...
*Sent one or more boxes running to their doom because they were at the zone-in or in another zone all together?
*Not realized one of your boxes is lost because they never actually started following you (perhaps because they were behind a wall or object)?
*Painstakingly made a unique /stick <blablabla> hotkey for each and every character?
Simply paste this line into your MacroQuest2.ini file under the [Aliases] section (thanks goes to an old friend who taught me what aliases are, some time ago!), save it, restart MQ2 (this may require you to restart your EQ clients in some instances), and then access it with /stickme when in game.
It's not a short command, but it should do exactly what you want it to (and then some).
/stickme Will broadcast commands to your boxes to do the following...
[1] Declare two global variables if they do not exist. They are StickZone and StickTar. Global variables do not need an actively running macro to be created, accessed, or modified. This should meet the needs of both people that run macros and people that just do basic hotkeys with EQBCServer and plugins.
[2] Set those variables to the zone name (string) and ID (int) of the broadcasting character.
[3] Check if they are in the same zone, within range (200 units), and within line of sight of the broadcasting character. Then proceed to stick if these are all true.
[4] If anything in [3] is false, then they will broadcast that they cannot stick to this character in the MQ2 window.
I hope it makes some people's lives a little bit easier! Feel free to modify this to your needs if you know how. You can remove LoS requirements, change the range req, and of course change the type and distance of the /stick command.
*Sent one or more boxes running to their doom because they were at the zone-in or in another zone all together?
*Not realized one of your boxes is lost because they never actually started following you (perhaps because they were behind a wall or object)?
*Painstakingly made a unique /stick <blablabla> hotkey for each and every character?
Simply paste this line into your MacroQuest2.ini file under the [Aliases] section (thanks goes to an old friend who taught me what aliases are, some time ago!), save it, restart MQ2 (this may require you to restart your EQ clients in some instances), and then access it with /stickme when in game.
It's not a short command, but it should do exactly what you want it to (and then some).
Code: Select all
/stickme=/multiline @ /echo [${Time.Time24}] Command issued: /stickme@/noparse /bca //multiline ; /if (!${Defined[StickZone]}) /declare StickZone string global;/if (!${Defined[StickTar]}) /declare StickTar int global;/if (!${Defined[Listening]}) /declare Listening bool global TRUE@/bca //varset StickZone ${Zone.Name}@/bca //varset StickTar ${Me.ID}@/noparse /bca //if (${Listening} && ${Zone.Name.Equal[${StickZone}]} && ${Spawn[${StickTar}].ID} && ${Spawn[${StickTar}].Distance}<200 && ${LineOfSight[${Me.Y},${Me.X},${Me.Z}:${Spawn[${StickTar}].Y},${Spawn[${StickTar}].X},${Spawn[${StickTar}].Z}]}) /multiline ; /echo [${Time.Time24}] Sticking to ${Spawn[${StickTar}].CleanName};/face ID ${StickTar} fast;/stick ID ${StickTar} 10@/noparse /bca //timed 3 /if (${Stick.Status.Equal[OFF]} && ${Listening}) /bc [${Time.Time24}] Stick target isn't nearby. Staying put.
/stickme Will broadcast commands to your boxes to do the following...
[1] Declare two global variables if they do not exist. They are StickZone and StickTar. Global variables do not need an actively running macro to be created, accessed, or modified. This should meet the needs of both people that run macros and people that just do basic hotkeys with EQBCServer and plugins.
[2] Set those variables to the zone name (string) and ID (int) of the broadcasting character.
[3] Check if they are in the same zone, within range (200 units), and within line of sight of the broadcasting character. Then proceed to stick if these are all true.
[4] If anything in [3] is false, then they will broadcast that they cannot stick to this character in the MQ2 window.
I hope it makes some people's lives a little bit easier! Feel free to modify this to your needs if you know how. You can remove LoS requirements, change the range req, and of course change the type and distance of the /stick command.