Hotbar Macro Scripting v1.0 by Aditu of Permafrost (ACT Author) [email protected]
With a hotfix on 2010-01-28, the game client would no longer allow you to send many /useability requests within a short amount of time. The purpose of this change was to reduce the processing time the server had to use by checking the recast of each spell. "Super macros" as SoE called them were supposedly expensive when you had many players in a zone using them, so they reduced the client's ability to use them. IE, a "super macro" with 10 useability commands would start to act unpredictably if pressed say five times in ten seconds. Presumably not all the commands would be sent. The use of these "super macros" were to combine many near-identical spells into one hotkey to reduce the space these spells took and supposedly reduce movement strain associated with pressing all of these spells in separate buttons. That last reason apparently spawned a 12 page(in less than 24 hours) SoE thread before it was locked. Oddly enough the result of the thread was that they were reverting the changes; but I had already made this mod and it seemed a waste to sit on it.
So why use this mod if SoE is going to revert the changes? I guess you could, as a responsible player, reduce the strain on the servers by only sending one command per press instead of 5-20. But the mod also has a second mode which "super macros" cannot do: casting a small set of spells in order instead of casting the first available.
This is a "Custom" UI mod in which it does not replace any other UI piece. It is standalone in which it is not dependent on having any other UI piece installed already.
That said, you *are* required to be using a non-default UI in order to view this UI piece. If you are using Default as your current UI, you will need to create a new UI folder for this mod as you cannot simply copy it into the Default folder and have it function. If you fall into this category, please follow this guide to set up a non-Default UI folder. http://www.eq2interface.com/forums/faq.php?faq=howto_install#faq_new_faq_item
As this is a "Custom" namespace UI mod, you will either need to have a "eq2ui_custom.xml" file to add this file's reference to, or use a new one. If you do not already have this file, one is included in the download archive. If you do already have it, do not overwrite it, open it in a text editor and within the "Custom" page element add the following: <Include>eq2ui_custom_hotbarscript.xml</Include>
There's only a tiny bit of optional XML file configuration. By default, the script will reset the order of the next spell to be cast to the beginning when combat ends. If you don't want this, find the line with AllowCombatResetBank_#
and the number you want and set the Value to false.
This mod is primarily configured by the hotbar banks. This is the only place in the UI where you can tell if a spell is available to be cast or not. So to configure a sequence or group of spells to be cast by this script, clear out one of the ten hotbar banks and put the desired spells there. They must not be macros as the script does not actually press the buttons but casts the spells the buttons contain. The script will ignore blank hotkeys as well as any spells after a blank key; so you may put miscellaneous things there if you wish. The resulting hotbar bank does not need to be visible to be used, so you may increment a spinner to a blank set and then spin back once configured.
To cast the spells, look at the hotbar number as displayed in the spinner and use the following commands:
Replace the # with the hotbar number(in the spinner[1-10]). The first command will cast the hotbar buttons in order and skip any that are not available. So if you have six hotkeys filled before a blank hotkey, it will cast as: 1, 2, 3, 4, 5, 6, 1, 2, etc. Presuming 1 and 2 are available on the second loop. -- The second command will cast the hotbar buttons in the order that it finds them available. If you have two instant reuse spells, it may cast them as 1, 2, 1, 2, etc without ever going to 3. One limitation is that the script will never cast the same spell twice in a row. This is because the server is delayed in giving the client recast timers so without this restriction the script may try to cast an already used spell that cannot be cast(if you were to press the macro too quickly).
Final note: This mod is a one spell cast for one button pressed script. It will not, and I will not make it, cast the entire hotbar of spells with one press.