Hora personalizada del servidor dentro del juego
Ir a la navegación Ir a la búsqueda
Con el lanzamiento de DayZ Standalone ha habido bastantes peticiones para que los propietarios de servidores puedan mantener la hora del día de su servidor fijada en un punto concreto. Por ejemplo, algunos quieren que su servidor esté siempre de día y otros prefieren una oscuridad eterna. Así que esta página te ayudará a instalar un pequeño script del lado del servidor que hace exactamente eso. ¡Vamos a ello!
Instalación
- Apaga el servidor pulsando Detener en el panel
- Inicia sesión en tu cliente FTP. (Más información sobre FTP aquí)
- Entra en el siguiente directorio: /MPmissions/dayzOffline.chernarusplus
- A continuación, descarga una copia de Capps' Custom DayZ SA Time. Puedes obtener una copia de la carpeta «Scripts» en GitHub
- Extrae la carpeta «Scripts» en tu directorio MPMissions\dayzOffline.chernarusplus
- Abre tu archivo Init.c
- Al principio del archivo Init.c, añade justo encima de void main()
- Para configurar el script, tendrás que ajustar startHour y stopHour. Para hacerte una idea, 0 son las 12:00 de la mañana y 23 son las 11:00 de la tarde
- A continuación, dentro de void main(), justo al final, tendrás que añadir
- A continuación, baja hasta justo debajo de override void StartingEquipSetup(PlayerBase player, bool clothesChosen) dentro de class CustomMission: MissionServer:
- Vas a añadir el siguiente código:
#include "$CurrentDir:\\mpmissions\\dayzOffline.chernarusplus\\Scripts\\cappsTimeLoop.c" int setStartHour = 10; int setStopHour = 16;
cappsTimeLoop(setStartHour,setStopHour,true);
override void TickScheduler (float timeSplice)
{
GetGame().GetWorld().GetPlayerList(m_Players);
if( m_Players.Count() == 0 ) return;
for(int i = 0; i < SCHEDULER_PLAYERS_PER_TICK; i++)
{
if(m_currentPlayer >= m_Players.Count() )
{
m_currentPlayer = 0;
}
PlayerBase currentPlayer = PlayerBase.Cast(m_Players.Get(m_currentPlayer));
currentPlayer.OnTick();
m_currentPlayer++;
}
//Ignore above code that is required to keep food,drink and other survival elements working
int currentTime = GetGame().GetTime() * 0.001;
static int newTime = 0;
int timeDelay = 180;
if (currentTime >= newTime + timeDelay)
{
//GetGame().ChatPlayer(1,"3 minute check on reset!");//for debug pruposes
cappsTimeLoop(setStartHour,setStopHour,false);
//GetGame().ChatPlayer(1,"Passed the time switch call");//for debug pruposes
newTime = currentTime;
}
}
Puedes alojar tu propio servidor de DayZ con Survival Servers con configuración instantánea.