Allied Modders en español

Versión completa: Pedido get_gametime por horas/minutos
Actualmente estas viendo una versión simplificada de nuestro contenido. Ver la versión completa con el formato correcto.
Hola gente de AMX-ES, quien me podria hacer un pedido, consta en usar get_gametime que al activar una variable que me diga que falta 2 horas con 5 minutos y 2 segundos para volverlo a usar, se lo re agradeceria

Aca dejo un ejemplo : Tut de meTaLiCroSS

Aca hay otro ejemplo, pero quiero que sea al reves,que empieze por ejemplo con 20 hs, y restando, y al llegar a 0 se desactive

Tiempo

quiero eso para guardar una sola variable, nose si es posible?
(26/05/2020, 06:58 PM)Spirit escribió: [ -> ]Hola gente de AMX-ES, quien me podria hacer un pedido, consta en usar get_gametime que al activar una variable que me diga que falta 2 horas con 5 minutos y 2 segundos para volverlo a usar, se lo re agradeceria

Aca dejo un ejemplo : Tut de meTaLiCroSS
Código PHP:
/* Script generated by Pawn Studio */

#include <amxmodx>
#include <amxmisc>

#define PLUGIN    ""
#define AUTHOR    "Nazy.-"
#define VERSION    "1.0"

new Float:g_currentTime33 ];
const 
Float:g_timeRequired 7502.0;

public 
plugin_init()
{
    
register_plugin(PLUGINVERSIONAUTHOR)
    
// Add your own code here
    
register_clcmd("say /test""funcionTest");
}

public 
client_putinserver(id)
    
g_currentTime[id] = 0.0;

public 
funcionTest(id){
    new 
Float:iTime get_gametime();
    
    if( 
iTime >= g_currentTime[id])
    {
        
g_currentTime[id] = get_gametime() + g_timeRequired;
    }
    else
    {
        new 
hoursdaysminssegsFloat:timeRemaining;
        
timeRemaining g_currentTime[id] - iTime;
        
segs floatround(timeRemaining);
        
        
mins segs/60;
        
hours mins/60;
        
days hours/24;
        
segs segs-mins*60;
        
mins mins-hours*60;
        
hours hours-days*24;
        
        
client_print_color(idprint_team_default"Te faltan %d horas con %d minutos y %d segundos para usar este comando otra ves."hoursminssegs);
        
g_currentTime[id] = 0.0;
    }

proba ahí, si tiras retry no va a contar.
(26/05/2020, 07:41 PM)Hypnotize escribió: [ -> ]
Código PHP:
/* Script generated by Pawn Studio */

#include <amxmodx>
#include <amxmisc>

#define PLUGIN ""
#define AUTHOR "Nazy.-"
#define VERSION "1.0"

new Float:g_currentTime33 ];
const 
Float:g_timeRequired 7502.0;

public 
plugin_init()
{
 
register_plugin(PLUGINVERSIONAUTHOR)
 
// Add your own code here
 
register_clcmd("say /test""funcionTest");
}

public 
client_putinserver(id)
    g_currentTime[id] = 0.0;

public 
funcionTest(id){
 new 
Float:iTime get_gametime();
 
 if( 
iTime >= g_currentTime[id])
 {
 
g_currentTime[id] = get_gametime() + g_timeRequired;
 }
 else
 {
 new 
hoursdaysminssegsFloat:timeRemaining;
 
timeRemaining g_currentTime[id] - iTime;
 
segs floatround(timeRemaining);
 
 
mins segs/60;
 
hours mins/60;
 
days hours/24;
 
segs segs-mins*60;
 
mins mins-hours*60;
 
hours hours-days*24;
 
 
client_print_color(idprint_team_default"Te faltan %d horas con %d minutos y %d segundos para usar este comando otra ves."hoursminssegs);
 
g_currentTime[id] = 0.0;
 }

proba ahí, si tiras retry no va a contar.

si vas a usar client_print_color podrías asignarle un color aunque sea
(26/05/2020, 07:52 PM)FrancoX escribió: [ -> ]si vas a usar client_print_color podrías asignarle un color aunque sea

y si ayudas en ves de comentar cualquiera? Whatever
Hola Hypnotize, lo de los colores es lo de menos...mira, pusiste 2 veces hours, cual seria el correcto?

Código PHP:
mins segs/60;
        
hours mins/60;
        
days hours/24;
        
segs segs-mins*60;
        
mins mins-hours*60;
        
hours hours-days*24
(26/05/2020, 09:40 PM)Spirit escribió: [ -> ]Hola Hypnotize, lo de los colores es lo de menos...mira, pusiste 2 veces hours, cual seria el correcto?

Código PHP:
mins segs/60;
        hours mins/60;
        days hours/24;
        segs segs-mins*60;
        mins mins-hours*60;
        hours hours-days*24

Puedes sacar la linea de days y la ultima de hours en caso de no usar dias, pero si planeas usar días debes dejarlo para que no te diga algo como 1 dia 36 horas

pero si llegaras a usar días así como estan las operaciones te devuelve 1 día 12 horas


en caso removieras lo que dije, lo demas si déjalo ya que es necesario (aunque se repitan).
Muchas gracias hypnotize,me sirvió ! Rainbow
Solamente ocupas los minutos y segundos, ya que el get_gametime se reinicia cuando inicia un nuevo mapa.

Para lo de "20 hs":
Código PHP:
new iSystimeiSystime get_systime();
    if(g_iDailyTime[id] > iSystime)
    {
        new chms;
        c g_iDailyTime[id] - iSystime;
        h 60 60;
        m 60 60;
        s 60 60;

        client_print_color(idprint_team_default"^x03[DailyBonus]^x01 Tu próxima bonificación será dentro de:^x04 %d h, %d min, %d seg"hms);
        return;
    }
    
g_iDailyTime[id] = iSystime + (horas 60 60