mhh, try this. I'm not sure totally that will work but we don't loss anything trying.
PHP Code:
#include <amxmodx>
#include <fakemeta>
#define OFFSET_TEAM 114
enum
{
TEAM_NULL, // LOL NULL
TEAM_T,
TEAM_CT,
TEAM_SPECTATOR
}
new g_iCounter = 0;
new ct_win
new tt_win
new p_Rounds;
new g_Msg_TeamInfo;
new g_iMaxPlayers;
// HERE HERE HERE HERE
new szConfig[ ] = "closed.cfg" /*Put directory and name of the cfg. Example: addons/amxmodx/configs/lala.cfg
cstrike folder is not needed to put it*/
new szText[ ] = "Text text text text";
// HERE HERE HERE HERE
public plugin_init()
{
register_plugin( "Team Switch", "1.5", "TBagT" );
register_clcmd("say .score", "sayResult");
p_Rounds = register_cvar( "ats_rounds", "15" );
register_event("TextMsg", "RoundRestart_Attempt", "a", "2&#Game_C", "2&Game_W");
register_event("TeamScore", "TeamScore", "a")
register_logevent("logevent_round_start2", 2, "1=Round_Start")
register_logevent("logevent_round_end2", 2, "1=Round_End")
g_iMaxPlayers = get_maxplayers();
g_Msg_TeamInfo = get_user_msgid( "TeamInfo" );
set_task(5.0, "cmdText", 0, _, _, "b")
}
public server_changelevel( map[] )
{
g_iCounter = 0;
ct_win = 0;
tt_win = 0;
}
public plugin_pause()
{
g_iCounter = 0;
ct_win = 0;
tt_win = 0;
}
public RoundRestart_Attempt()
{
g_iCounter = 0;
ct_win = 0;
tt_win = 0;
}
public logevent_round_end2()
{
if( get_playersnum() > 1 )
{
if ( g_iCounter >= get_pcvar_num( p_Rounds ) )
{
g_iCounter = 0;
new team, oppTeam;
for( new i = 1 ; i <= g_iMaxPlayers ; i++ )
{
if( !is_user_connected( i ) ) continue;
team = get_user_team( i );
if( team == TEAM_SPECTATOR ) continue;
set_hudmessage( 200, 0, 0, -1.0, -1.0, 1, 6.0, 12.0 );
show_hudmessage( 0, "Switching teams!" );
oppTeam = team % 2 + 1;
fm_set_user_team( i, oppTeam );
}
server_cmd("exec %s", szConfig)
}
else
{
set_hudmessage( 0, 100, 0, -1.0, -1.0, 1, 6.0, 12.0 );
show_hudmessage( 0, "Teams will switch in: %d (rounds)", ( get_pcvar_num( p_Rounds ) - g_iCounter ) );
}
}
}
public logevent_round_start2()
{
g_iCounter++;
}
fm_set_user_team( index, iTeam )
{
static const Teams[][] =
{
"", // NULL
"TERRORIST",
"CT"
}
set_pdata_int( index, OFFSET_TEAM, iTeam );
dllfunc( DLLFunc_ClientUserInfoChanged, index, engfunc( EngFunc_GetInfoKeyBuffer, index ) );
message_begin( MSG_ONE_UNRELIABLE, g_Msg_TeamInfo, { 0, 0, 0 }, index );
write_byte( index );
write_string( Teams[ iTeam ] );
message_end();
return 1;
}
public cmdText()
{
set_hudmessage( 0, 100, 0, -1.0, -1.0, 1, 6.0, 12.0 );
show_hudmessage(0, "%s", szText);
}
public TeamScore()
{
new team[16],Float:score
read_data(1,team,15)
read_data(2,score)
if(equal(team,"CT"))
ct_win++
if(equal(team,"TERRORIST"))
tt_win++
}
public sayResult(id)
{
client_print(id, print_chat, "Counter-Terrorist: %d | Terrorist: %d", ct_win, tt_win);
}