[Duda]їComo creo un sistema de hora? -
ValenRatti - 18.12.2013
Buenas, quisiera saber como hacer para crear un sistema de hora para un servidor Roleplay, y como haria para que en una hora determinada cambie y se haga de noche? Gracias de antemano
PD: No es un pedido, sino que me digan como hacerlo para yo hacer el script
Respuesta: [Duda]їComo creo un sistema de hora? -
OTACON - 18.12.2013
https://sampwiki.blast.hk/wiki/Gettime
https://sampwiki.blast.hk/wiki/SetWorldTime
pawn Код:
#include <a_samp>
#include <zcmd>
static Hour, Minute, Second;
COMMAND:hora(playerid, params[]){
new data[100];
gettime(Hour, Minute, Second);
SetWorldTime(Hour); // <------
format(data,sizeof(data),"Hora:%02d Minutos:%02d Segundos:%02d", Hour, Minute, Second);
GameTextForPlayer(playerid,data,5000,1);
return true;
}
o puedes usar directamente el filterscript que viene por defecto en los archivos de samp, se llama gl_realtime
saludos.
Re: [Duda]їComo creo un sistema de hora? -
ValenRatti - 18.12.2013
Gracias Otacon, en ese caso la hora seria la misma para todos los usuarios? Y como haria para que en una determinada hora se haga de noche? Saludos y muchisimas gracias
Respuesta: [Duda]їComo creo un sistema de hora? -
OTACON - 18.12.2013
si, SetWorldTime es global.
pero no en tendi bien lo que quieres hacer pero...
tienes que usar SetWorldTime para determinar la hora y asi se haga de noche o de dia segun la hora que coloques.
pero si quieres que se coloque solo debes colocar el gettime y SetWorldTime en un timer.
ejemplo:
pawn Код:
#include <a_samp>
static Hour, Minute, Second;
public OnFilterScriptInit(){
SetTimer("Actualizar_Hora", 1000, true);
return true;
}
forward Actualizar_Hora();
public Actualizar_Hora(){
gettime(Hour, Minute, Second);
SetWorldTime(Hour);
}
Re: [Duda]їComo creo un sistema de hora? -
ValenRatti - 18.12.2013
Ah, creo que entendi, con SetWorldTime se actualiza si es de noche o de dia? Gracias otacon
Respuesta: [Duda]їComo creo un sistema de hora? -
OTACON - 18.12.2013
exacto.
gettime verifica la hora del ordenador donde se encuentra el GM.
SetWorldTime se la establece al serividor para que tenga la misma hora que el ordenador.
y por obvias razones si son las 10 de la noche sera de noche en el servidor.
saludos.
Re: [Duda]їComo creo un sistema de hora? -
ValenRatti - 19.12.2013
Otacon perdon que caiga un dia despues pero yo lo hice en un textdraw lo de la hora, їpara que se actualice todo el tiempo tengo que hacer un timer desde que se conecta para que actualice los minutos?
Seria:
SetTimerEx("SurfingFix", 60 * 1000 , 1, "i", p); ??
Gracias de antemano
Respuesta: [Duda]їComo creo un sistema de hora? -
OTACON - 19.12.2013
pawn Код:
#include <a_samp>
static Hour, Minute, Second,
MatarActualizar_Hora[MAX_PLAYERS];
public OnPlayerSpawn(playerid){
KillTimer(MatarActualizar_Hora[playerid]);
MatarActualizar_Hora[playerid] = SetTimerEx("Actualizar_Hora", 1*1000 , true, "i", playerid);
TextDrawShowForPlayer(playerid, TU_TEXTDRAW);
return true;
}
public OnPlayerDisconnect(playerid, reason){
KillTimer(MatarActualizar_Hora[playerid]);
TextDrawHideForPlayer(playerid, TU_TEXTDRAW);
return true;
}
forward Actualizar_Horaplayerid();
public Actualizar_Hora(playerid){
new data[100];
gettime(Hour, Minute, Second);
SetWorldTime(Hour);
format(data, sizeof(data), "Hora:%02d Minutos:%02d Segundos:%02d", Hour, Minute, Second);
TextDrawSetString(TU_TEXTDRAW, data);
}