Heure en jeu personnalisée du serveur

De Survival Servers
Aller à la navigation Aller à la recherche

Avec la sortie de DayZ Standalone, des demandes ont émergé 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 veulent que leur serveur reste toujours en plein jour, d’autres préfèrent une nuit éternelle.

Installation

  1. Arrêtez le serveur en cliquant sur STOP sur la page de votre serveur dans le Command Center
  2. Connectez-vous à votre client FTP. (Informations ici pour le FTP)
  3. Rendez-vous dans le répertoire suivant : /MPmissions/dayzOffline.chernarusplus (sur Livonia, il s’agit de dayzOffline.enoch et sur Frostline de dayzOffline.sakhal ; utilisez aussi le nom du dossier de votre carte dans les étapes ci-dessous)
  4. Téléchargez ensuite une copie de Capps' Custom DayZ SA Time. Vous pouvez récupérer une copie du dossier « Scripts » sur GitHub
  5. Extrayez le dossier « Scripts » dans votre répertoire MPMissions\dayzOffline.chernarusplus
  6. Ouvrez votre fichier Init.c
  7. En haut du fichier Init.c, ajoutez directement au-dessus de void main()
  8.    #include "$CurrentDir:\\mpmissions\\dayzOffline.chernarusplus\\Scripts\\cappsTimeLoop.c"  
       int setStartHour = 10;   
       int setStopHour = 16; 
     
  9. Pour configurer le script, vous devrez ajuster setStartHour et setStopHour. Pour vous donner une idée, 0 correspond à 12:00 h du matin et 23 à 11:00 h de l’après-midi
  10. Ensuite, à l’intérieur du void main(), tout en bas, ajoutez
  11.   cappsTimeLoop(setStartHour,setStopHour,true);
      
  12. Faites ensuite défiler jusqu’à juste en dessous de override void StartingEquipSetup(PlayerBase player, bool clothesChosen), dans la class CustomMission: MissionServer:
  13. Vous allez ajouter le code suivant :
  14.  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.