For Stefan: This is broken in the latest Mac 64-bit build, and hasn't worked in any recent debug builds on both Windows and Mac, but works fine in the released client. Expected behaviour: You should press the "Test it" button and get "Trigger received", but it does not ever happen. The waitfor() timeout works fine, timing out as expected after 60 seconds, but the trigger does not get received by it. (I think trigger() is not working at all, actually, because waitfor() is receiving built-in GUI control events without problems.)
// Scripted by Skyld
//#CLIENTSIDE
function onCreated()
{
new GuiButtonCtrl(SkyldTestButton)
{
position = {20, 130};
extent = {64, 32};
text = "Test it";
profile = GuiBlueButtonProfile;
}
// if (waitfor(SkyldTestButton, "Action", 60)) <- this works
if (waitfor(this, "Gak", 60)) // <- this doesn't anymore
{
player.chat = "Trigger received";
}
else
{
player.chat = "Timed out";
}
}
function SkyldTestButton.onAction()
{
player.chat = "Button pressed...";
this.trigger("Gak", NULL);
}