Eigene Ingame-Serverzeit
Zur Navigation springen Zur Suche springen
Mit dem Release von DayZ Standalone gab es einige Anfragen, Serverbesitzern die Möglichkeit zu geben, die Tageszeit auf ihrem Server auf einen bestimmten Punkt festzulegen. Manche möchten zum Beispiel, dass auf ihrem Server immer Tag ist, andere wollen ewige Dunkelheit. Diese Seite hilft dir deshalb dabei, ein kleines serverseitiges Skript zu installieren, das genau das erledigt! Legen wir direkt los!
Installation
- Fahre den Server herunter, indem du im Webinterface auf Stop klickst
- Melde dich in deinem FTP-Client an. (Infos dazu hier: FTP)
- Wechsle in das folgende Verzeichnis: /MPmissions/dayzOffline.chernarusplus
- Lade als Nächstes eine Kopie von Capps' Custom DayZ SA Time herunter. Eine Kopie des Ordners „Scripts“ bekommst du auf GitHub
- Entpacke den Ordner „Scripts“ in dein Verzeichnis MPMissions\dayzOffline.chernarusplus
- Öffne deine Datei Init.c
- Füge oben in der Datei Init.c direkt über void main() Folgendes ein
- Um das Skript zu konfigurieren, passt du startHour und stopHour an. Zur Orientierung: 0 ist 12:00 Uhr morgens und 23 ist 11:00 Uhr abends
- Als Nächstes fügst du innerhalb von void main() ganz unten Folgendes hinzu
- Scrolle als Nächstes bis direkt unter override void StartingEquipSetup(PlayerBase player, bool clothesChosen) innerhalb von class CustomMission: MissionServer:
- Füge den folgenden Code hinzu:
#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;
}
}
Du kannst bei Survival Servers deinen eigenen DayZ Server hosten – sofort einsatzbereit.