I dont know what you want to do.
Based on what you provided, you can do something like this:
Use: !start/!stop > to activate/delete timer respectively.
PHP Code:
#pragma semicolon 1
#pragma newdecls required
#include <sourcemod>
Handle g_hTimer;
bool g_bTimer;
int g_iTimer;
public void OnPluginStart()
{
RegConsoleCmd("sm_start", Command_StartTimer, "Start Timer"); // !start > will start timer
RegConsoleCmd("sm_stop", Command_StopTimer, "Stop Timer"); // !stop > will delete timer
}
public void OnMapStart()
{
g_bTimer = false;
g_iTimer = 0;
}
Action Command_StartTimer(int client, int args)
{
if(!g_bTimer)
{
PrintToChatAll("Timer: >>>>> Started <<<<<");
g_hTimer = CreateTimer(1.0, Timer_Cooldown, _, TIMER_FLAG_NO_MAPCHANGE|TIMER_REPEAT);
g_bTimer = true;
}
else PrintToChat(client, "Error: Timer already activated!!");
return Plugin_Handled;
}
Action Timer_Cooldown(Handle timer)
{
if (g_iTimer == 60 - 1) //60 = seconds
{
PrintHintTextToAll("Time: Ready!", g_iTimer);
// When cooldown is ready, do stuff...
g_bTimer = false;
g_iTimer = 0;
return Plugin_Stop;
}
++ g_iTimer;
PrintHintTextToAll("Time: %d / 60", g_iTimer);
return Plugin_Continue;
}
Action Command_StopTimer(int client, int args)
{
if(g_bTimer)
{
PrintHintTextToAll("Timer Stopped");
PrintToChatAll("Timer: >>>>> Stopped <<<<<");
delete g_hTimer;
g_bTimer = false;
g_iTimer = 0;
}
else PrintToChat(client, "Error: Timer is not activated");
return Plugin_Handled;
}
__________________