#include <amxmodx>
new g_Cvar_RoundTime;
new g_Cvar_TimeDelay;
new g_RoundTime;
new g_TimeDelay;
new g_Message_ShowTimer;
new g_Message_RoundTime;
public plugin_init() {
register_plugin("[ZP] Delay Time", "v1.0", "");
register_cvar("[ZP] Delay Time", "v1.2", FCVAR_SPONLY | FCVAR_SERVER);
g_Cvar_RoundTime = get_cvar_pointer("mp_roundtime");
g_Cvar_TimeDelay = get_cvar_pointer("zp_delay");
g_Message_ShowTimer = get_user_msgid("ShowTimer");
g_Message_RoundTime = get_user_msgid("RoundTime");
register_message(g_Message_RoundTime, "message__RoundTime");
register_event("HLTV", "event__HLTV", "a", "1=0", "2=0");
register_logevent("logEvent__roundStart", 2, "1=Round_Start");
}
public event__HLTV() {
g_RoundTime = get_pcvar_num(g_Cvar_RoundTime);
g_TimeDelay = get_pcvar_num(g_Cvar_TimeDelay);
}
public logEvent__roundStart() {
static sPlayers[32];
static iNum;
static i;
get_players(sPlayers, iNum, "ac");
for (i = 0; i < iNum; ++i) {
set_task(1.0, "task__updateTimer", sPlayers[i]);
}
}
public task__updateTimer(const id) {
message_begin(MSG_ONE_UNRELIABLE, g_Message_ShowTimer, _, id);
message_end();
message_begin(MSG_ONE_UNRELIABLE, g_Message_RoundTime, _, id);
write_short(g_TimeDelay);
message_end();
}
// ESTO LO PONES CUANDO EMPIEZA EL MODO, PARA QUE MUESTRE EL TIEMPO NORMAL DE RONDA
public startMode(const iMode, const id) {
message_begin(MSG_ONE_UNRELIABLE, g_Message_ShowTimer, _, id);
message_end();
message_begin(MSG_ONE_UNRELIABLE, g_Message_RoundTime, _, id);
write_short(g_RoundTime - g_TimeDelay);
message_end();
}
public message__RoundTime() {
set_msg_arg_int(1, ARG_SHORT, g_RoundTime - g_TimeDelay);
}