Heure en jeu personnalisée du serveur
Aller à la navigation Aller à la recherche
Avec la sortie de DayZ Standalone, plusieurs demandes ont été formulées pour permettre aux propriétaires de serveurs de figer l’heure de la journée sur leur serveur à un moment précis. Par exemple, certains souhaitent que leur serveur reste toujours en plein jour, d’autres préfèrent une obscurité éternelle. Cette page vous aidera donc à installer un petit script côté serveur qui fait exactement cela ! Entrons dans le vif du sujet !
Installation
- Arrêtez le serveur en cliquant sur Stop dans le panneau
- Connectez-vous à votre client FTP. (Informations ici pour le FTP)
- Rendez-vous dans le répertoire suivant : /MPmissions/dayzOffline.chernarusplus
- Téléchargez ensuite une copie de Capps' Custom DayZ SA Time. Vous pouvez récupérer une copie du dossier « Scripts » sur GitHub
- Extrayez le dossier « Scripts » dans votre répertoire MPMissions\dayzOffline.chernarusplus
- Ouvrez votre fichier Init.c
- En haut du fichier Init.c, ajoutez directement au-dessus de void main()
- Pour configurer le script, vous devrez ajuster startHour et stopHour. Pour vous donner une idée, 0 correspond à 12:00 h du matin et 23 à 11:00 h de l’après-midi
- Ensuite, à l’intérieur du void main(), tout en bas, ajoutez
- Faites ensuite défiler jusqu’à juste en dessous de override void StartingEquipSetup(PlayerBase player, bool clothesChosen), à l’intérieur de class CustomMission: MissionServer:
- Vous allez ajouter le code suivant :
#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;
}
}
Vous pouvez héberger votre propre serveur DayZ chez Survival Servers avec une installation instantanée.