Thanks Teddy for proving this bug.
OP updated.
/edit:
Found another bug in scripting, the onClientClickButton event doesn't work.
Also onClientClickCheckbox should return a pointer instead of ID, cause it's easier to get ID (GUICheckbox.ID) than looking for pointer.
function onClientClickButton( pButton )
{
Message( "doesn't work :c");
if ( !pButton.Visible ) return 0; // that's what I want
}
Without these functions it's hard to prevent clicking invisible items, at least checkboxes (they're doing a "dead zone" on visible buttons). Situation with buttons is better, cause I can do a check in callback function, but it'll take many lines instead of 1