Changed to be more optimised (I think). Tested and working on my Zombie Master server.
Sorry for very old bump.
Code:
#include <sourcemod>
#define VERSION "1.1"
new Handle:g_Timer_N = INVALID_HANDLE;
new Handle:g_Timer_1 = INVALID_HANDLE;
new Handle:g_Timer_2 = INVALID_HANDLE;
new Handle:g_Timer_3 = INVALID_HANDLE;
new Handle:g_Timer_4 = INVALID_HANDLE;
new Handle:g_Timer_S = INVALID_HANDLE;
public Plugin:myinfo =
{
name = "Simple Restart Round After 60s on MapChange",
author = "graczu",
description = "After 60s on Mapchange, plugin will restart round!",
version = VERSION,
url = "http://www.sourcemod.net/"
};
public OnPluginStart()
{
CreateConVar("mapchangerestartround_version", VERSION, "Restart Round after Mapchange Version", FCVAR_PLUGIN|FCVAR_SPONLY|FCVAR_REPLICATED|FCVAR_NOTIFY);
}
public OnMapStart()
{
g_Timer_N = CreateTimer(15.0, SayNotify)
g_Timer_1 = CreateTimer(30.0, SayRestart1)
g_Timer_2 = CreateTimer(40.0, SayRestart2);
g_Timer_3 = CreateTimer(50.0, SayRestart3);
g_Timer_4 = CreateTimer(60.0, RoundRestart);
g_Timer_S = CreateTimer(61.0, SayRestart4);
}
public Action:SayNotify(Handle:timer)
{
PrintToChatAll("[SM] Round restart in: 45s");
KillTimer(g_Timer_N);
}
public Action:SayRestart1(Handle:timer)
{
PrintToChatAll("[SM] Round restart in: 30s");
KillTimer(g_Timer_1);
}
public Action:SayRestart2(Handle:timer)
{
PrintToChatAll("[SM] Round restart in: 20s");
KillTimer(g_Timer_2);
}
public Action:SayRestart3(Handle:timer)
{
PrintToChatAll("[SM] Round restart in: 10s");
KillTimer(g_Timer_3);
}
public Action:RoundRestart(Handle:timer)
{
ServerCommand("roundrestart");
ServerCommand("mp_restartgame 1");
KillTimer(g_Timer_4);
}
public Action:SayRestart4(Handle:timer)
{
PrintToChatAll("[SM] Round restarted.");
KillTimer(g_Timer_S);
}