View Single Post
  #2  
Unread 08-17-2009, 06:20 PM
EQAditu's Avatar
EQAditu EQAditu is offline
A Griffon
Interface Author - Click to view interfaces
 
Join Date: Mar 2005
Server: Permafrost
Posts: 256
Default

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.Value
Parent.CastingScript.OnShow=Parent.Spell01.ScriptCommand
useability Parent.Spell01.Value" />
<Button Name="btn02" OnPress="Parent.CastingVis.ExpectedSpell=Parent.Spell02.Value
Parent.CastingScript.OnShow=Parent.Spell02.ScriptCommand
useability Parent.Spell02.Value" />

<Data Name="Spell01" Value="Spell Name III" ScriptCommand="tt You're being hit with Spell Name!" />
<Data Name="Spell02" Value="Other Spell IV" ScriptCommand="tt You're being hit with Other Spell!" />

<Text Name="CastingSpell" DynamicData="/GameData.Spells.Casting" LocalText="NoSpell" Visible="false">NoSpell</Text>
<Page Name="CastingVis" DynamicData="/GameData.Spells.Casting" DynamicDataFilter="0001" Visible="false" Blank=" " OnShow="CORRECTSPELL=Parent.SpellName.LocalText==ExpectedSpell
Parent.CastingScript.Visible=false
Parent.CastingScript.Visible=CORRECTSPELL
Parent.CastingScript.OnShow=Blank" />
<Page Name="CastingScript" Visible="false" OnShow=" " />
Two buttons with attached spells that will only execute their separate scripts if the game ends up casting their spell.

If all you were after is a visual representation of a spell being available, I wasted my time and cannot help you.
Reply With Quote