For the code
Code:
<CheckButton name="MUShieldSlam" parent="UIParent" inherits="ActionButtonTemplate">
<Anchors>
<Anchor point="CENTER"/>
</Anchors>
<Attributes>
<Attribute name="action" value="2"/>
</Attributes>
<Scripts>
<OnLoad function="ActionButton_OnLoad"/>
</Scripts>
</CheckButton>
I think the problem is you can't use the ActionButton_OnLoad in your xml directly, you may use the ActionBarButtonCodeTemplate instead of the ActionButtonTemplate.
For the second, if you don't want override the template's onload, you can use
inherit="prepend" in your frame, here is an example:
Code:
<Ui>
<Frame name="TestFrameTemplate" hidden="true" virtual="true">
<Scripts>
<OnLoad>
print("TestFrameTemplat loaded")
</OnLoad>
</Scripts>
</Frame>
<Frame name="TestFrame" inherits="TestFrameTemplate">
<Scripts>
<OnLoad inherit="prepend">
print("TestFrame loaded")
</OnLoad>
</Scripts>
</Frame>
</Ui>
The result will be:
TestFrameTemplat loaded
TestFrame loaded