CVar:- amx_spt < 1 | 0 > - If 1(default), players' teams will switch if a terrorist killed a ct.
Code:
#include <amxmodx>
#include <cstrike>
#define VERSION "1.0"
new p_On;
new bool:g_bSwitch[ 33 ];
public plugin_init()
{
register_plugin( "Switch Players Teams", VERSION, "Dores" );
p_On = register_cvar( "amx_spt", "1" );
register_event( "DeathMsg", "ev_Death", "a" );
register_logevent( "logev_roundEnd", 2, "1=Round_End" );
}
public ev_Death( iVic )
{
if( !get_pcvar_num( p_On ) )
{
return PLUGIN_CONTINUE;
}
static iAtt ; iAtt = get_user_attacker( iVic );
if( cs_get_user_team( iVic ) == CS_TEAM_CT && cs_get_user_team( iAtt ) == CS_TEAM_T )
{
g_bSwitch[ iVic ] = true;
g_bSwitch[ iAtt ] = true;
}
return PLUGIN_CONTINUE;
}
public client_disconnect( id )
{
g_bSwitch[ id ] = false;
}
public logev_roundEnd()
{
if( !get_pcvar_num( p_On ) )
{
return PLUGIN_CONTINUE;
}
static iMaxPlayers;
if( !iMaxPlayers )
{
iMaxPlayers = get_maxplayers();
}
static i;
static CsTeams:team;
for( i = 1 ; i <= iMaxPlayers ; i++ )
{
if( !is_user_connected( i ) || !g_bSwitch[ i ] )
continue;
team = cs_get_user_team( i );
if( team == CS_TEAM_SPECTATOR || team == CS_TEAM_UNASSIGNED )
{
g_bSwitch[ i ] = false;
continue;
}
cs_set_user_team( i, ( team % CS_TEAM_CT ) + CS_TEAM_T );
g_bSwitch[ i ] = false;
}
return PLUGIN_CONTINUE;
}
__________________