PHP Code:
#pragma newdecls required
#include <sourcemod>
#include <sdktools>
#include <cstrike>
ConVar g_Cvar_MaxRounds;
ConVar g_Cvar_Timelimit;
ConVar g_Cvar_RoundRestartDelay;
public void OnPluginStart()
{
g_Cvar_MaxRounds = FindConVar("mp_maxrounds");
g_Cvar_Timelimit = FindConVar("mp_timelimit");
g_Cvar_RoundRestartDelay = FindConVar("mp_round_restart_delay");
RegConsoleCmd("sm_winner", Command_Winner);
}
public Action Command_Winner(int client, int args)
{
char arg[64];
GetCmdArg(1, arg, sizeof(arg));
if (StrEqual(arg, "T", false))
{
EndGame(CS_TEAM_T);
}
else if (StrEqual(arg, "CT", false))
{
EndGame(CS_TEAM_CT);
}
return Plugin_Handled;
}
void EndGame(int winner)
{
if (winner == CS_TEAM_T)
{
CS_SetTeamScore(CS_TEAM_T, g_Cvar_MaxRounds.IntValue / 2);
SetTeamScore(CS_TEAM_T, g_Cvar_MaxRounds.IntValue / 2);
CS_SetTeamScore(CS_TEAM_CT, 0);
SetTeamScore(CS_TEAM_CT, 0);
CS_TerminateRound(g_Cvar_RoundRestartDelay.FloatValue, CSRoundEnd_TerroristWin);
}
else
{
CS_SetTeamScore(CS_TEAM_CT, g_Cvar_MaxRounds.IntValue / 2);
SetTeamScore(CS_TEAM_CT, g_Cvar_MaxRounds.IntValue / 2);
CS_SetTeamScore(CS_TEAM_T, 0);
SetTeamScore(CS_TEAM_T, 0);
CS_TerminateRound(g_Cvar_RoundRestartDelay.FloatValue, CSRoundEnd_CTWin);
}
g_Cvar_Timelimit.SetInt(1);
}
__________________