summaryrefslogtreecommitdiff
path: root/sourcemod/scripting/game_manager.sp
diff options
context:
space:
mode:
Diffstat (limited to 'sourcemod/scripting/game_manager.sp')
-rw-r--r--sourcemod/scripting/game_manager.sp718
1 files changed, 0 insertions, 718 deletions
diff --git a/sourcemod/scripting/game_manager.sp b/sourcemod/scripting/game_manager.sp
deleted file mode 100644
index f182205..0000000
--- a/sourcemod/scripting/game_manager.sp
+++ /dev/null
@@ -1,718 +0,0 @@
-#pragma semicolon 1
-#include <sourcemod>
-#include <sdktools>
-#include <cstrike>
-#include <sdkhooks>
-#include <smlib>
-#include <morecolors>
-
-#define PLUGIN_VERSION "1.0.0"
-#define MAX_FILE_LEN 80
-
-public Plugin:myinfo =
-{
- name = "networkheaven game manager",
- author = "networkheaven.net",
- description = "",
- version = PLUGIN_VERSION,
- url = "networkheaven.net"
-};
-
-new g_oneChanceDone = false;
-new g_maxrounds;
-new g_roundCount;
-new bool:halftime;
-new Handle:g_h_mp_startmoney = INVALID_HANDLE;
-new Handle:g_h_mp_maxrounds = INVALID_HANDLE;
-new Handle:g_h_mp_buytime = INVALID_HANDLE;
-new Handle:g_h_nh_warmup = INVALID_HANDLE;
-new Handle:g_h_nh_buytime = INVALID_HANDLE;
-new Handle:g_h_nh_teamlimit = INVALID_HANDLE;
-new Handle:g_h_mp_ignoreconditions = INVALID_HANDLE;
-new g_mp_startmoney;
-new bool:g_doReset = false;
-new g_CtScore, g_TScore;
-new Handle:g_h_roundExtentTimer = INVALID_HANDLE;
-new Handle:g_h_execServerCfgTimer = INVALID_HANDLE;
-new g_lastDmMode = 0;
-new Float:g_botVoteEnd = -1.0;
-new Float:g_voteTime = 20.0;
-new bool:g_hasVoted[MAXPLAYERS + 1] = {false, ...};
-new g_voteCount[9] = {0, ...};
-new bool:g_botVoteDone = false;
-new bool:g_isKZ = false;
-
-/* forwards */
-new Handle:g_f_on_ht = INVALID_HANDLE;
-
-// Offsets
-new g_iAccount = -1;
-
-
-public OnMapStart(){
- halftime = false;
- g_roundCount = 0;
-
- new String:mapName[256];
- GetCurrentMap( mapName, sizeof(mapName) );
-
- if( !strncmp( mapName, "kz_", 3, false )
- || !strncmp( mapName, "xc_", 3, false )
- || !strncmp( mapName, "bhop_", 5, false )
- || !strncmp( mapName, "bkz_", 4, false ) ) {
- g_isKZ = true;
- } else {
- g_isKZ = false;
- }
-
- g_mp_startmoney = GetConVarInt( g_h_mp_startmoney );
- g_maxrounds = GetConVarInt( g_h_mp_maxrounds );
-
- g_lastDmMode = 0;
-
- g_botVoteEnd = -1.0;
- LogMessage( "map name: %s kz: %d", mapName, g_isKZ );
-
- if( g_isKZ == false ) {
- OnDmModeChanged( g_h_nh_warmup, "", "" );
- SetConVarInt( g_h_nh_warmup, 60 );
- CreateTimer( 20.0, BotVoteCreateTimer, _ );
- }
-}
-
-public OnConfigsExecuted() {
- halftime = false;
-}
-
-public OnPluginStart() {
- HookEvent("round_start", Event_RoundStart);
- HookEvent("round_end", Event_RoundEnd);
- HookEvent("player_death", Event_PlayerDeath);
- HookEvent("player_spawn", Event_PlayerSpawn);
- HookEvent("player_team", Event_PlayerTeam);
- AddCommandListener( Listener_JoinTeam, "jointeam" );
-
- g_h_mp_startmoney = FindConVar( "mp_startmoney" );
- g_h_mp_maxrounds = FindConVar( "mp_maxrounds" );
- g_h_mp_buytime = FindConVar( "mp_buytime");
- g_h_mp_ignoreconditions = FindConVar( "mp_ignore_round_win_conditions" );
- g_h_nh_warmup = CreateConVar( "nh_warmup", "0", "set warmup time. -1 for infinite.", 0 );
- g_h_nh_buytime = CreateConVar( "nh_buytime", "0.5", "buytime outside of warmup.", 0 );
- g_h_nh_teamlimit = CreateConVar( "nh_teamlimit", "5", "player limit per team", 0 );
- if( g_h_nh_warmup != INVALID_HANDLE ) {
- HookConVarChange( g_h_nh_warmup, OnDmModeChanged );
- }
-
- g_f_on_ht = CreateGlobalForward( "nthvnHalftime", ET_Ignore );
-
- RegAdminCmd("sm_admbotvote", CreateBotVote, ADMFLAG_RCON);
- RegConsoleCmd("sm_botvote", CreateBotVotePlayer);
-
- // Finding offset for CS cash
- g_iAccount = FindSendPropOffs("CCSPlayer", "m_iAccount");
- if (g_iAccount == -1)
- SetFailState("m_iAccount offset not found");
-}
-
-public OnDmModeChanged( Handle:cvar, const String:oldVal[], const String:newVal[]) {
- new dm = GetConVarInt( cvar );
-
- if( !!dm != !!g_lastDmMode ) {
- SetConVarInt( g_h_mp_ignoreconditions, dm );
- for( new i = 1; i < MaxClients; ++i ) {
- if( IsClientConnected( i ) && IsClientInGame( i ) )
- ForcePlayerSuicide( i );
- }
-
- ServerCommand( "mp_restartgame 1" );
-
- g_CtScore = g_TScore = g_roundCount = 0;
- SetTeamScore( CS_TEAM_CT, g_CtScore );
- SetTeamScore( CS_TEAM_T, g_TScore );
- }
-
- if( !dm ) {
- SetConVarFloat( g_h_mp_buytime, GetConVarFloat( g_h_nh_buytime ) );
- if( g_h_roundExtentTimer ) {
- KillTimer( g_h_roundExtentTimer );
- g_h_roundExtentTimer = INVALID_HANDLE;
- }
-
- PrintToChatAll( "\x04===========[ game live ]===========" );
- }
- else {
- if( g_h_roundExtentTimer == INVALID_HANDLE ) {
- g_h_roundExtentTimer = CreateTimer( 1.0, WarmupTimer, 0, TIMER_REPEAT );
- }
- }
-
- g_lastDmMode = dm;
-}
-
-public Action:WarmupTimer( Handle:timer, any:userid ) {
- new dm = GetConVarInt( g_h_nh_warmup );
- if( dm > 0 ) {
- if( dm <= 5 ) {
- PrintToChatAll( "\x04========[ warmup ending in %d ]========", dm );
- }
-
- SetConVarInt( g_h_nh_warmup, dm - 1 );
- }
-
- SetConVarFloat( g_h_mp_buytime, 420.0 );
- new time = GameRules_GetProp( "m_iRoundTime" );
- if( time < 420 * 60 )
- time = 420 * 60 + 1;
- GameRules_SetProp( "m_iRoundTime", time + 1, 4, 0, true );
-
- new String:name[65];
- for( new i = 1; i < GetMaxEntities(); ++i ) {
- if( !IsValidEdict(i) || !IsValidEntity(i) )
- continue;
-
- if( GetGameTime() > g_botVoteEnd ) {
- if( i < MaxClients && IsClientConnected( i ) && IsClientInGame( i ) ) {
- if( dm > 0 ) {
- new secs = dm % 60;
- new mins = (dm - secs) / 60;
- PrintHintText( i, "---[ WARMUP %d:%02d ]---", mins, secs );
- }
- else {
- PrintHintText( i, "---[ WARMUP ]---" );
- }
-
- continue;
- }
- }
-
- GetEdictClassname( i, name, sizeof(name) );
- if( StrContains( name, "weapon_c4" ) != -1 ) {
- RemoveEdict( i );
- }
- }
-}
-
-public OnClientPutInServer( client ) {
- if( g_h_execServerCfgTimer != INVALID_HANDLE ) {
- KillTimer( g_h_execServerCfgTimer );
- g_h_execServerCfgTimer = INVALID_HANDLE;
- }
-
- SDKHook( client, SDKHook_PostThinkPost, Hook_PostThinkPost );
-
- for( new i = 1; i < MaxClients; ++i ) {
- if( i != client && IsClientConnected(i) && IsClientInGame(i) && !IsFakeClient(i) )
- return;
- }
-
- if( !g_isKZ ) {
- SetConVarInt( g_h_nh_warmup, 60 );
- CreateTimer( 20.0, BotVoteCreateTimer, _ );
- }
-}
-
-public Hook_PostThinkPost( entity ) {
- new dm = GetConVarInt( g_h_nh_warmup );
-
- if( dm )
- SetEntProp( entity, Prop_Send, "m_bInBuyZone", 1 );
-}
-
-public ShowBotVoteMenu( client ) {
- new Handle:hPanel = CreateMenu(BotVoteHandler);
-
- AddMenuItem( hPanel, "0", "vote for the amount of bots!" );
- AddMenuItem( hPanel, "1", "" );
- AddMenuItem( hPanel, "2", "" );
- AddMenuItem( hPanel, "3", "no bots" );
- AddMenuItem( hPanel, "4", "3v3 bots" );
- AddMenuItem( hPanel, "5", "5v5 bots" );
- AddMenuItem( hPanel, "6", "no choice" );
-
- DisplayMenu(hPanel, client, MENU_TIME_FOREVER);
-}
-
-public BotVoteHandler( Handle:hMenu, MenuAction:ma, client, nItem ) {
- switch( ma ) {
- case MenuAction_Select:
- {
- if( nItem == 6 ) {
- g_hasVoted[client] = true;
- }
- else if( nItem < 3 && GetGameTime() < g_botVoteEnd ) {
- ShowBotVoteMenu( client );
- }
- else {
- g_voteCount[nItem - 3]++;
- g_hasVoted[client] = true;
- }
- }
-
- case MenuAction_End:
- {
- CloseHandle( hMenu );
- }
- }
-}
-
-public FinishBotVote() {
- new winner = -1;
- new maxvotes = 0;
- for( new i = 0; i < 9; ++i ) {
- if( g_voteCount[i] > maxvotes )
- winner = i;
- }
-
- switch( winner ) {
- case 0:
- {
- ServerCommand( "bot_kick; bot_quota 0" );
- PrintToChatAll( "Vote for no bots won, kicking all bots." );
- }
- case 1:
- {
- ServerCommand( "bot_quota 6" );
- PrintToChatAll( "Vote for 3v3 bots won, setting quota to 6 bots." );
- }
- case 2: {
- ServerCommand( "bot_quota 10" );
- PrintToChatAll( "Vote for 3v3 bots won, setting quota to 10 bots." );
- }
- }
-
- for( new i = 0; i < 9; ++i ) {
- g_voteCount[i] = 0;
- }
-
- for( new i = 0; i < MAXPLAYERS; ++i ) {
- g_hasVoted[i] = false;
- }
-}
-
-public Action:BotVoteTimer( Handle:timer, any:unused ) {
- new dm = GetConVarInt( g_h_nh_warmup );
- new String:hintStr[256];
- new Float:diff = g_botVoteEnd - GetGameTime();
-
- if( diff <= 0 ) {
- FinishBotVote();
- KillTimer( timer );
- return;
- }
-
- for( new i = 1; i < MaxClients; ++i ) {
- if( !IsClientConnected(i) || !IsClientInGame(i) || IsFakeClient(i) )
- continue;
-
- Format(
- hintStr,
- sizeof(hintStr),
- "bot vote [%.0f sec left]:\nno bots: %d\n3v3 bots: %d\n5v5 bots: %d",
- diff,
- g_voteCount[0],
- g_voteCount[1],
- g_voteCount[2]
- );
-
- if( dm > 0 ) {
- new secs = dm % 60;
- new mins = (dm - secs) / 60;
- Format( hintStr, sizeof(hintStr), "%s\n---[ WARMUP %d:%02d ]---", hintStr, mins, secs );
- }
- else if( dm < 0 ) {
- Format( hintStr, sizeof(hintStr), "%s\n---[ WARMUP ]---", hintStr );
- }
-
- PrintHintText( i, hintStr );
- if( !g_hasVoted[i] )
- ShowBotVoteMenu( i );
- }
-}
-
-public Action:CreateBotVote( client, args ) {
- if( GetGameTime() < g_botVoteEnd )
- return Plugin_Handled;
-
- if( g_isKZ )
- return Plugin_Handled;
-
- g_botVoteDone = true;
- g_botVoteEnd = GetGameTime() + g_voteTime;
-
- for( new i = 0; i < 9; ++i ) {
- g_voteCount[i] = 0;
- }
-
- for( new i = 0; i < MAXPLAYERS; ++i ) {
- g_hasVoted[i] = false;
- }
-
- BotVoteTimer( INVALID_HANDLE, 0 );
- CreateTimer( 1.0, BotVoteTimer, 0, TIMER_REPEAT );
- return Plugin_Handled;
-}
-
-public Action:CreateBotVotePlayer( client, args ) {
- if( GetGameTime() < g_botVoteEnd ) {
- g_hasVoted[client] = false;
- ShowBotVoteMenu( client );
- }
-
- if( g_botVoteDone ) {
- CPrintToChat( client, "{fuchsia}A bot vote has already concluded this round." );
- return Plugin_Handled;
- }
-
- CreateBotVote( client, args );
- return Plugin_Handled;
-}
-
-public Action:BotVoteCreateTimer( Handle: timer, any:unused ) {
- CreateBotVote( 0, 0 );
-}
-
-public OnClientDisconnect( client ) {
- if( IsFakeClient( client ) )
- return;
-
- for( new i = 1; i < MaxClients; ++i ) {
- if( i == client )
- continue;
- if( IsClientConnected( i ) && IsClientInGame( i ) && !IsFakeClient( i ) )
- return;
- }
-
- SetConVarInt( g_h_nh_warmup, 0 );
- if( g_h_execServerCfgTimer != INVALID_HANDLE )
- KillTimer( g_h_execServerCfgTimer );
-
- g_h_execServerCfgTimer = CreateTimer( 30.0, ExecServerCfg, _ );
-}
-
-public Action:ExecServerCfg( Handle:timer, any:unused ) {
- if( g_isKZ )
- return;
-
- g_botVoteDone = false;
- ServerCommand( "exec server.cfg" );
- g_h_execServerCfgTimer = INVALID_HANDLE;
-}
-
-public Event_PlayerSpawn( Handle:event, const String:name[], bool dontBroadcast ) {
- new dmmode = GetConVarInt( g_h_nh_warmup );
- new uid = GetEventInt( event, "userid" );
- new id = GetClientOfUserId( uid );
-
- if( dmmode )
- SetEntData( id, g_iAccount, 16000, 4, true );
-}
-
-public Event_PlayerDeath( Handle:event, const String:name[], bool dontBroadcast ) {
- CreateTimer( 0.15, OneChance, 0 );
- CreateTimer( 1.5, RespawnPlayerDeathmatch, GetEventInt( event, "userid" ) );
-}
-
-public Action:RespawnPlayerDeathmatch( Handle:timer, any:userid ) {
- new dmmode = GetConVarInt( g_h_nh_warmup );
- if( !dmmode && !g_isKZ )
- return;
-
- new id = GetClientOfUserId( userid );
- if( !id )
- return;
- CS_RespawnPlayer( id );
-}
-
-public Action:VerifyTeamCounts( Handle:timer, any:unused ) {
- new entToKickT = 0;
- new entToKickCT = 0;
- new countCT = 0;
- new countT = 0;
- new maxTeam = GetConVarInt( g_h_nh_teamlimit );
-
- for( new i = 1; i < MaxClients; ++i ) {
- if( !IsClientConnected( i ) || !IsClientInGame( i ) )
- continue;
-
-
- new playerTeam = GetClientTeam(i);
- if( playerTeam == CS_TEAM_T ) {
- ++countT;
- if( IsFakeClient( i ) && (!entToKickCT || !IsPlayerAlive( i )) ) {
- entToKickT = i;
- }
- }
- if( playerTeam == CS_TEAM_CT ) {
- ++countCT;
- if( IsFakeClient( i ) && (!entToKickCT || !IsPlayerAlive( i )) ) {
- entToKickCT = i;
- }
- }
- }
-
- if( countCT > maxTeam && entToKickCT ) {
- KickClient( entToKickCT, "kicked for game balance" );
- }
- if( countT > maxTeam && entToKickT ) {
- KickClient( entToKickT, "kicked for game balance" );
- }
-}
-
-public bool:CanJoinTeam( id, oldTeam, newTeam ) {
- new countT = 0;
- new countCT = 0;
- new maxTeam = GetConVarInt( g_h_nh_teamlimit );
-
- for( new i = 1; i < MaxClients; ++i ) {
- if( i == id )
- continue;
- if( !IsClientConnected( i ) || !IsClientInGame( i ) || IsFakeClient( i ) )
- continue;
-
- new playerTeam = GetClientTeam(i);
- if( playerTeam == CS_TEAM_T )
- ++countT;
- if( playerTeam == CS_TEAM_CT )
- ++countCT;
- }
-
- if( (newTeam == CS_TEAM_T && countT >= maxTeam)
- || (newTeam == CS_TEAM_CT && countCT >= maxTeam)
- ) {
- return false;
- }
-
- return true;
-}
-
-public Action:Listener_JoinTeam( id, const String: command[], args ) {
- new String:sArg1[3];
- GetCmdArg(1, sArg1, sizeof(sArg1));
- new newTeam = StringToInt(sArg1);
- new oldTeam = GetClientTeam( id );
-
- if( !CanJoinTeam( id, oldTeam, newTeam ) ) {
- ChangeClientTeam( id, oldTeam );
- PrintHintText( id, "team is full" );
- return Plugin_Handled;
- }
-
- return Plugin_Continue;
-}
-
-public Action:RespawnPlayerDelay( Handle: timer, any: userid ) {
- new id = GetClientOfUserId( userid );
-
- if( id <= 0 )
- return Plugin_Handled;
-
- if( !IsClientConnected( id ) || !IsClientInGame( id ) )
- return Plugin_Handled;
-
- if( IsPlayerAlive( id ) )
- return Plugin_Handled;
-
- new team = GetClientTeam( id );
- if( team < 2 )
- return Plugin_Handled;
-
- CS_RespawnPlayer( id );
-}
-
-public Action:Event_PlayerTeam( Handle:event, const String:name[], bool dontBroadcast ) {
- CreateTimer( 0.2, VerifyTeamCounts, 0, 0 );
- new uid = GetEventInt( event, "userid" );
-
- if( GetConVarInt( g_h_nh_warmup ) != 0 || g_isKZ ) {
- CreateTimer( 0.5, RespawnPlayerDelay, uid );
- }
-
- return Plugin_Continue;
-}
-
-public Action:OneChance(Handle:timer, any:unused) {
- if( g_roundCount != g_maxrounds )
- return;
-
- if( g_oneChanceDone )
- return;
-
- new dm = GetConVarInt( g_h_nh_warmup );
- if( dm )
- return;
-
- new ctAlive = 0;
- new tAlive = 0;
-
- new clutcherT = 0;
- new clutcherCT = 0;
-
- for( new i = 1; i <= MaxClients; ++i ) {
- if( !IsClientInGame(i) || !IsPlayerAlive(i) )
- continue;
-
- new playerTeam = GetClientTeam(i);
- if( playerTeam == CS_TEAM_CT ) {
- ++ctAlive;
- if( ctAlive > 1 )
- clutcherCT = 0;
- else
- clutcherCT = i;
- }
- else if( playerTeam == CS_TEAM_T ) {
- ++tAlive;
- if( tAlive > 1 )
- clutcherT = 0;
- else
- clutcherT = i;
- }
- }
-
- if( !(tAlive == 1 && ctAlive > 2) && !(ctAlive == 1 && tAlive > 2) )
- return;
-
- new clutcher = clutcherT ? clutcherT : clutcherCT;
- decl String:clutcherName[64];
- GetClientName( clutcher, clutcherName, sizeof(clutcherName) );
-
- PrintToChatAll( "\x01%s \x04has one chance, one opportunity. will they seize it, or will they let it slip?", clutcherName );
- Client_RemoveAllWeapons( clutcher );
- Client_GiveWeapon( clutcher, "weapon_awp", false );
- Client_GiveWeapon( clutcher, "weapon_deagle", false );
- Client_GiveWeapon( clutcher, "weapon_knife", true );
- GivePlayerItem( clutcher, "weapon_flashbang" );
- GivePlayerItem( clutcher, "weapon_flashbang" );
- GivePlayerItem( clutcher, "weapon_hegrenade" );
-
- SetEntityHealth( clutcher, 100 );
- Client_SetArmor( clutcher, 100 );
- SetEntProp( clutcher, Prop_Send, "m_bHasHelmet", 1, 1);
-
- g_oneChanceDone = true;
-}
-
-public Event_RoundStart( Handle:event, const String:name[], bool:dontBroadcast )
-{
- new wepIdx;
- new playerTeam;
-
- g_oneChanceDone = false;
-
- g_CtScore = GetTeamScore( CS_TEAM_CT );
- g_TScore = GetTeamScore( CS_TEAM_T );
-
- new newRoundCount = g_CtScore + g_TScore + 1;
- if( newRoundCount < g_roundCount ) {
- halftime = false;
- g_CtScore = 0;
- g_TScore = 0;
- g_roundCount = 0;
- g_doReset = true;
- }
- else {
- g_roundCount = newRoundCount;
- }
-
- for( new client = 1; client <= MaxClients; client++ ) {
- if( !IsClientConnected( client ) || !IsClientInGame( client ) )
- continue;
-
- else if( g_doReset ) {
- for( new w = 0; w < 6; w++ ) {
- if( w != 2 && w != 4 )
- while( ( wepIdx = GetPlayerWeaponSlot(client, w) ) != -1 )
- RemovePlayerItem(client, wepIdx);
- }
-
- playerTeam = GetClientTeam( client );
- if( playerTeam == CS_TEAM_T ) {
- GivePlayerItem( client, "weapon_glock" );
- }
- else if( playerTeam == CS_TEAM_CT ) {
- GivePlayerItem( client, "weapon_usp" );
- if ((wepIdx = GetPlayerWeaponSlot( client, 6 ) ) != -1)
- RemovePlayerItem(client, wepIdx);
- }
- SetEntProp(client, Prop_Send, "m_ArmorValue", 0, 1);
- SetEntProp(client, Prop_Send, "m_bHasHelmet", 0, 1);
-
- SetEntData(client, g_iAccount, g_mp_startmoney, 4, true);
- }
- }
-
- g_doReset = false;
-}
-
-public OnGameFrame() {
-}
-
-public Event_RoundEnd(Handle:event, const String:name[], bool:dontBroadcast)
-{
- new reason = GetEventInt(event, "reason");
- new winner = GetEventInt(event, "winner");
-
- g_botVoteDone = false;
- g_mp_startmoney = GetConVarInt(g_h_mp_startmoney);
- g_maxrounds = GetConVarInt(g_h_mp_maxrounds);
-
- // game commencing
- if( reason == 15 ) {
- g_CtScore = 0;
- g_TScore = 0;
- g_roundCount = 0;
- return;
- }
-
- if( winner==CS_TEAM_T )
- g_TScore++;
- else if( winner==CS_TEAM_CT )
- g_CtScore++;
-
- if( g_TScore > g_maxrounds/2 || g_CtScore > g_maxrounds/2 ) {
- SetConVarInt( g_h_mp_maxrounds, 1, true, false );
- PrintToChatAll("\x04============[ game end ]============");
-
- if( g_TScore > g_CtScore ) {
- PrintToChatAll("\x04Winner: T");
- }
- else {
- PrintToChatAll("\x04Winner: CT");
- }
- }
-
- if( halftime || g_roundCount < g_maxrounds/2 ) {
- SetTeamScore( CS_TEAM_CT, g_CtScore );
- SetTeamScore( CS_TEAM_T, g_TScore );
- return;
- }
-
- new playerTeam;
-
- Call_StartForward(g_f_on_ht);
- Call_Finish();
-
- halftime = true;
- for( new i = 1; i <= MaxClients; i++ ) {
- if( IsClientInGame( i ) && IsClientConnected( i ) ) {
- g_doReset = true;
-
- playerTeam = GetClientTeam(i);
- if( playerTeam == CS_TEAM_T ) {
- CS_SwitchTeam( i, CS_TEAM_CT );
- }
- else if( playerTeam == CS_TEAM_CT ) {
- CS_SwitchTeam( i, CS_TEAM_T );
- }
- }
- }
-
- new tmp;
- tmp = g_CtScore;
- g_CtScore = g_TScore;
- g_TScore = tmp;
-
- PrintToChatAll("\x04==========[ halftime switch ]==========");
-
- SetTeamScore( CS_TEAM_CT, g_CtScore );
- SetTeamScore( CS_TEAM_T, g_TScore );
-}