heyho, ich komm grad echt nicht weiter... es soll jeden tag um 3 uhr nachts/morgens gamemoderestart (also SendRconCommand("gmx"); ) sein.
//edit: überschrift geändert (war falsch formuliert)
heyho, ich komm grad echt nicht weiter... es soll jeden tag um 3 uhr nachts/morgens gamemoderestart (also SendRconCommand("gmx"); ) sein.
//edit: überschrift geändert (war falsch formuliert)
new hour,minute,second;
gettime(hour,minute,second);
if(hour == 3)
{
SendRconCommand("gmx");
}
Solltest Versuchen
//Ganz nach Oben:
#define NEUSTART_STUNDE 16 //Die Stunde in der der Serrver neugestartet werden soll
#define NEUSTART_MINUTE 50 //Die Minute in der der Serrver neugestartet werden soll
// Das bedeutet jetzt z.b das der Server um 16:50 UHR neugestartet wird!
//Zu den forwards:
forward ServerNeustart();
forward ServerNeustart2();
//Ganz unten ins Script:
public ServerNeustart()
{
new ServerHour, ServerMinute, ServerSecond;
gettime(ServerHour, ServerMinute, ServerSecond);//Holt sich die aktuelle Server Zeit
if(ServerHour == NEUSTART_STUNDE && ServerMinute == NEUSTART_MINUTE) { //Überprüft ob die Zeit die oben im script per NEUSTART_STUNDE und NEUSTART_MINUTE angegeben wurde mit der aktuellen zeit übereinstimmt
SendClientMessageToAll(COLOR_HELLROT, "[ACHTUNG]Der Server wird in 60 Sekunden Neugestartet!");//Sollte das der fall sein wird eine Nachricht an alle Spieler auf dem Server geschickt das der Server in 60 Sekunden neugestartet wird
SetTimer("ServerNeustart2", 60000, 0);//Startet den Timer
}
return 1;
}
public ServerNeustart2()//Die Funktion die den Server Neustartet
{
SendClientMessageToAll(COLOR_HELLROT, "[ACHTUNG]Der Server wird jetzt Neugestartet!");
SendRconCommand("gmx");//Startet den Server neu
return 1;
}
/*
Jetzt musst du nur noch die Funktion ServerNeustart(); in irgendeinem Timer unterbringen. Dieser sollte aber nicht zu groß sein. Am besten einen der jede Minute ausgeführt wird.
*/
Geht das ?
Woher soll das Script wissen wie viel Uhr es ist ?
Ich glaube , ich würde einfach einen großen Timer aufstellen...
Maddin's dürfte am besten sein
Das script entnimmt dem Server die Uhrzeit, wie sonst auch :
gettime(...)
Ja , nur muss man doch erst eine Uhr gescriptet haben , oder nicht ?
Nein ebend nicht, du fragst halt einfach nur mit
gettime(hour,minute,second);
Die Serverzeit ab, und speicherst diese in den Variablen ... , ... , ...
Und dan fragst du einfach ab, wenn
hour (Stunde) == 3
ist, dan mache das.
Das Problem ist:
if(hour == 3)
Bei dem wird des script ja 1000 mal neugestartet... Weil 3uhr ist ja nicht nur 1mal^^
Stimmt tut mir leid
if(hour == 3) && (minute == 00) && (second == 00)
oder so
if((hour == 3) && (minute == 00) && (second == 00))
xD sry bisschen ausm Scripting leben ;D