Code
new round_end_sec;
round_start
{
round_end_sec = GetTime() + GetEventInt(event, "timelimit");
}
// Осталось до конца раунда:
new last_sec = round_end_sec - GetTime();
if (last_sec < 1)
{
// время раунда вышло
}
Можно блокировать завершение раунда в событии CS_OnTerminateRound (об этом есть тема в уроках), и в нужный момент завершить его с помощью CS_TerminateRound. Можно таймер сделать:
Code
new Handle:RoundEndTimer;
round_start
{
if (RoundEndTimer != INVALID_HANDLE) KillTimer(RoundEndTimer);
RoundEndTimer = CreateTimer(float(GetEventInt(event, "timelimit")), RoundEndTimer_Func);
}
round_end
{
if (RoundEndTimer != INVALID_HANDLE)
{
KillTimer(RoundEndTimer);
RoundEndTimer = INVALID_HANDLE;
}
}
public Action:RoundEndTimer_Func(Handle:timer, any:xz)
{
// тут завершай раунд
RoundEndTimer = INVALID_HANDLE;
}