I just tried to build a template for the behaviour of a radiobutton-group using checkbutton-assets (only one radiobutton can be activated at once):
Code:
itemDef
{
name radiobutton_1
type ITEM_TYPE_BUTTON
style WINDOW_STYLE_DVAR_SHADER
rect 0 200 15 15
border 1
bordercolor 0 0 0 0
dvar "ui_radiobutton_1"
visible 1
mouseEnter { play "mouse_over"; setitemcolor radiobutton_1 bordercolor 0 0 0 1 }
mouseExit { setitemcolor radiobutton_1 bordercolor 0 0 0 0 }
action { play "mouse_click"; scriptMenuResponse "1" }
}
itemDef
{
name radiobutton_2
type ITEM_TYPE_BUTTON
style WINDOW_STYLE_DVAR_SHADER
rect 0 220 15 15
border 1
bordercolor 0 0 0 0
dvar "ui_radiobutton_2"
visible 1
mouseEnter { play "mouse_over"; setitemcolor radiobutton_2 bordercolor 0 0 0 1 }
mouseExit { setitemcolor radiobutton_2 bordercolor 0 0 0 0 }
action { play "mouse_click"; scriptMenuResponse "2" }
}
itemDef
{
name radiobutton_3
type ITEM_TYPE_BUTTON
style WINDOW_STYLE_DVAR_SHADER
rect 0 240 15 15
border 1
bordercolor 0 0 0 0
dvar "ui_radiobutton_3"
visible 1
mouseEnter { play "mouse_over"; setitemcolor radiobutton_3 bordercolor 0 0 0 1 }
mouseExit { setitemcolor radiobutton_3 bordercolor 0 0 0 0 }
action { play "mouse_click"; scriptMenuResponse "3" }
}
Code:
onMenuResponse()
{
for(;;)
{
self waittill("menuresponse", menu, response);
if(menu == "your_menu")
{
switch(response)
{
case "1":
self setClientCvar("ui_radiobutton_2", "ui/assets/checkbox_clear");
self setClientCvar("ui_radiobutton_3", "ui/assets/checkbox_clear");
self setClientCvar("ui_radiobutton_1", "ui/assets/checkbox_checked");
break;
case "2":
self setClientCvar("ui_radiobutton_1", "ui/assets/checkbox_clear");
self setClientCvar("ui_radiobutton_3", "ui/assets/checkbox_clear");
self setClientCvar("ui_radiobutton_2", "ui/assets/checkbox_checked");
break;
case "3":
self setClientCvar("ui_radiobutton_1", "ui/assets/checkbox_clear");
self setClientCvar("ui_radiobutton_2", "ui/assets/checkbox_clear");
self setClientCvar("ui_radiobutton_3", "ui/assets/checkbox_checked");
}
}
}
}