Que en el roundtime diga el zp_delay
#1
Hola buenas, me gustaría saber si se puede hacer eso, es decir, que en vez del tiempo que quede de la ronda, salga el tiempo que falta para que salga el primer zombie o modo y cuando salga el modo, se cambie el tiempo del "hud" zp_delay al del roundtime original.
Gracias
Responder
#2
Código PHP:
#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(sPlayersiNum"ac");
    
    for (
0iNum; ++i) {
        
set_task(1.0"task__updateTimer"sPlayers[i]);
    }
}

public 
task__updateTimer(const id) {
    
message_begin(MSG_ONE_UNRELIABLEg_Message_ShowTimer_id);
    
message_end();
    
    
message_begin(MSG_ONE_UNRELIABLEg_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_UNRELIABLEg_Message_ShowTimer_id);
    
message_end();
    
    
message_begin(MSG_ONE_UNRELIABLEg_Message_RoundTime_id);
    
write_short(g_RoundTime g_TimeDelay);
    
message_end();
}

public 
message__RoundTime() {
    
set_msg_arg_int(1ARG_SHORTg_RoundTime g_TimeDelay);

Es cuestión de probar
Responder
#3
Cuando pasa el tiempo del delay (en mi caso 22 segundos) el tiempo se queda en 0:00
Responder
#4
Perdon por revivir, pero me sucede lo mismo /:
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)