![]() |
useability with buttons?
if i have a ui that uses buttons to cast spell is there any way to make the button disabled if the spell does not exist or if the spell is in cooldown?
|
Presumably you're trying to avoid running the rest of the script if the spell is unable to cast. Such as a button that does not trigger chat text unless the spell it is attached to is cast.
We cannot detect if a spell doesn't exist or doesn't cast right away but we can attempt things backwards. If you split the script into two parts, it should be more or less possible. The first half of the script attempts to cast the spell and also generates a second script. The second half of the script is that generated script that triggers when the casting bar becomes visible and you're casting the spell defined by the first script. In actuality it might be best to have three scripts. For example... Code:
<Button Name="btn01" OnPress="Parent.CastingVis.ExpectedSpell=Parent.Spell01.ValueIf all you were after is a visual representation of a spell being available, I wasted my time and cannot help you. |
Its possible to check for "spell exist", but its a bit of a pain as EQ2Aditu describes.
Basically you'd script up a macro window initialization routine that fires once when the window containing your macros is opened. It assigns a script to the casting window's onshow handler to set a spellname variable as true, then attempts to cast the spell. If the cast window pops up, the variable gets assigned and you know the spell exists, otherwise you assume it doesn't exist. Repeat for each spell you want to test. At the end of the test routine, you assign those values to the corresponding macro button's enabled property, and clear the onshow scripts so they don't get triggered by something else. Seudo script Code:
clearallqueuedabilitiesGenerally I find all of this more hassle and a bigger performance hit than its worth. If you're dealing with a bunch of macro buttons, you could streamline the repetitive code by generalizing the test routine into a dedicated button script that receives the name of the spell to test as input and a returnPath for the object that should receive the result. |
| All times are GMT -5. The time now is 10:10 AM. |
vBulletin® - Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
© MMOUI