Cod: new g_pcvar [ 3 ], UserTeam [ 33 ];
public plugin_init ( ) { register_plugin ( PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR );
register_message ( get_user_msgid ( "ShowMenu" ), "message_show_menu" ); register_message ( get_user_msgid ( "VGUIMenu" ), "message_vgui_menu" );
g_pcvar [ 0 ] = register_cvar ( "retry_team_t", "1" ); g_pcvar [ 1 ] = register_cvar ( "retry_team_ct", "2" ); g_pcvar [ 2 ] = register_cvar ( "retry_class", "5" ); }
public message_show_menu ( msgid, dest, id ) { static team_select [ ] = "#Team_Select"; static text_code [ sizeof team_select ]; get_msg_arg_string ( 4, text_code, sizeof text_code - 1 ); if ( !equal ( text_code, team_select ) ) return 0;
set_force_team_join_task ( id, msgid );
return 1; }
public message_vgui_menu ( msgid, dest, id ) { if ( get_msg_arg_int ( 1 ) != 2 ) return 0;
set_force_team_join_task ( id, msgid );
return 1; }
public task_force_team_join ( menu_msgid [ ], id ) { if ( get_user_team ( id ) || !UserTeam [ id ] ) return;
static team [ 2 ], class [ 2 ]; switch ( UserTeam [ id ] ) { case 1: get_pcvar_string ( g_pcvar [ 0 ], team, sizeof team - 1 ); case 2: get_pcvar_string ( g_pcvar [ 1 ], team, sizeof team - 1 ); } get_pcvar_string ( g_pcvar [ 2 ], class, sizeof class - 1 ); force_team_join ( id, menu_msgid [ 0 ], team, class ); }
public client_disconnect ( id ) { switch ( get_user_team ( id ) ) { case 1: UserTeam [ id ] = 1; case 2: UserTeam [ id ] = 2; } }
stock force_team_join ( id, menu_msgid, team [ ] = "5", class [ ] = "0" ) { static jointeam [ ] = "jointeam"; if ( class [ 0 ] == '0' ) { engclient_cmd ( id, jointeam, team ); return; }
static msg_block, joinclass [ ] = "joinclass"; msg_block = get_msg_block ( menu_msgid ); set_msg_block ( menu_msgid, BLOCK_SET ); engclient_cmd ( id, jointeam, team ); engclient_cmd ( id, joinclass, class ); set_msg_block ( menu_msgid, msg_block ); }
set_force_team_join_task ( id, menu_msgid ) { static param_menu_msgid [ 2 ]; param_menu_msgid [ 0 ] = menu_msgid; set_task ( 0.1, "task_force_team_join", id, param_menu_msgid, sizeof param_menu_msgid ); }
|