- #include <amxmod> 
-   
- #pragma semicolon 1 
-   
- const TASKID_Autojoin = 583079; 
-   
- new const FIRST_JOIN_MSG[] =		"#Team_Select"; 
- new const FIRST_JOIN_MSG_SPEC[] =	"#Team_Select_Spect"; 
- new const INGAME_JOIN_MSG[] =		"#IG_Team_Select"; 
- new const INGAME_JOIN_MSG_SPEC[] =	"#IG_Team_Select_Spect"; 
- const iMaxLen = sizeof( INGAME_JOIN_MSG_SPEC ); 
-   
- public plugin_init() { 
- 	register_plugin( "Auto CT Join", "1.0", "Exolent" ); 
-   
- 	register_message( get_user_msgid("ShowMenu"), "msgShowMenu" ); 
- 	register_message( get_user_msgid("VGUIMenu"), "msgVGUIMenu" ); 
-   
- 	// I know this is gay but ffs sometimes it doesnt blocked... 
- 	register_clcmd( "chooseteam", "cmdBlock" ); 
- } 
-   
- public plugin_cfg() { 
- 	set_cvar_num( "mp_limitteams", 32 ); 
- 	set_cvar_num( "mp_autoteambalance", 0 ); 
- 	set_cvar_num( "sv_restart", 1 ); 
- } 
-   
- public cmdBlock( id ) 
- 	return PLUGIN_HANDLED; 
-   
- public client_disconnect( id ) 
- 	remove_task( id + TASKID_Autojoin ); 
-   
- public msgShowMenu( iMsgid, iDest, id ) { 
- 	static sMenuCode[iMaxLen]; 
- 	get_msg_arg_string(4, sMenuCode, sizeof(sMenuCode) - 1); 
-   
- 	if( equal(sMenuCode, FIRST_JOIN_MSG) || equal(sMenuCode, FIRST_JOIN_MSG_SPEC) ) { 
- 		if( should_autojoin(id) ) { 
- 			set_autojoin_task(id, iMsgid); 
- 			return PLUGIN_HANDLED; 
- 		} 
- 	} 
- 	else if( equal(sMenuCode, INGAME_JOIN_MSG) || equal(sMenuCode, INGAME_JOIN_MSG_SPEC) ) 
- 		return PLUGIN_HANDLED; 
-   
- 	return PLUGIN_CONTINUE; 
- } 
-   
- public msgVGUIMenu( iMsgid, iDest, id ) { 
- 	if( get_msg_arg_int(1) != 2 ) 
- 		return PLUGIN_CONTINUE; 
-   
- 	if( should_autojoin(id) ) { 
- 		set_autojoin_task(id, iMsgid); 
- 		return PLUGIN_HANDLED; 
- 	} 
-   
- 	return PLUGIN_CONTINUE; 
- } 
-   
- public task_Autojoin( iParam[], id ) 
- 	handle_join( id - TASKID_Autojoin, iParam[0] ); 
-   
- handle_join( id, iMsgid ) { 
- 	new iMsgBlock = get_msg_block( iMsgid ); 
- 	set_msg_block( iMsgid, BLOCK_SET ); 
-   
- 	engclient_cmd( id, "jointeam", "2" ); 
-   
- 	new iClass[2]; 
- 	iClass[0] = random_num( '1', '4' ); 
- 	engclient_cmd( id, "joinclass", iClass ); 
-   
- 	set_msg_block( iMsgid, iMsgBlock ); 
- } 
-   
- set_autojoin_task( id, iMsgid ) { 
- 	new iParam[1]; 
- 	iParam[0] = iMsgid; 
- 	set_task( 0.1, "task_Autojoin", id + TASKID_Autojoin, iParam, sizeof(iParam) ); 
- } 
-   
- should_autojoin( id ) 
- 	return ( is_user_connected(id) && get_user_team(id) != 2 && !task_exists(id + TASKID_Autojoin) ); 
-