Guten Tag zusammen,
heute zeige ich euch wie ihr einen Countdownbefehl + Funktion erstellen könnt. Das ganze benötigt Kenntnisse in
- Pawn
- Timern
- Befehlerstellung
Na gut dann fangen wir mal an:
Zuerst müsst ihr im Script die forwards erstellen.Der Countdown soll von 4-1 gehen und danach LOS kommen
forward CD4();// Für die erste Zahl die nach der Befehls eingabe erscheint
forward CD3();// Für die zweite Zahl
forward CD2(); // Für die Dritte Zahl
forward CD1();// Für die vierte Zahl
forward CDLos();// Für das LOS LOS LOS
Dann müssen wir erstmal den Befehl erstellen.
if(strcmp("/countdown",cmdtext,true) == 0)
Jetzt haben wir schonmal das was man eingeben muss. Jetzt kommt das was dann ausgeführt wird
{
if (IsPlayerAdmin(playerid))// Frag ab ob der User Rcon Admin ist
{
SetTimer("CD4",1000,0);// Setzt den ersten Timer in Bewegung, das passiert nur wenn der User Rcon admin ist
#error Das ist kein Copy & Past Tutorial
}
else SendClientMessage(playerid,COLOR_GRAD1,"* Du bist kein Administrator!");// Wenn der User kein Rcon Admin ist kommt das
return 1;
}
Jetzt müssen wir die Publics erstellen für die Timer
public CD4()
{
GameTextForAll("4",1000,3);// Zeigt allen Usern die Zahl 4
SetTimer("CD3",1000/*1000 mili sec = 1 sec*/,0);// startet den Timer CD3
return 1;
#error Das ist kein Copy & Past Tutorial
}
public CD3()
{
GameTextForAll("3",1000,3);// Zeigt allen Usern die Zahl 3
SetTimer("CD2",1000,0);// startet den Timer CD2
return 1;
#error Das ist kein Copy & Past Tutorial
}
public CD2()
{
GameTextForAll("2",1000,3); //Zeigt allen Usern die Zahl 2
SetTimer("CD1",1000,0);// startet den Timer CD1
return 1;
#error Das ist kein Copy & Past Tutorial
}
public CD1()
{
GameTextForAll("1",1000,3); //Zeigt allen Usern die Zahl 1
SetTimer("CDLos",1000,0);// startet den Timer CDLos
return 1;
#error Das ist kein Copy & Past Tutorial
}
public CDLos()
{
GameTextForAll("~g~] ! LOS LOS LOS ! ]",1000,3);// Zeigt allen Usern " LOS LOS LOS!"
return 1;
#error Das ist kein Copy & Past Tutorial
}
Erweiterung
Jetzt kommt noch eine Erweiterung. Undzwar ein Countdown, dem ein GMX folgt.(wenn man beides im Script einbaut sollte man diesen Countdown über einen anderen Befehl steuern!)
Alle schritte bleiben wie oben gleich. Nur das wir beim Letzten Timer folgendes Ändern.
public CDLos()
{
GameTextForAll("~g~] ! GMX! ]",1000,3);// Zeigt allen Usern " GMX!"
/* jetzt kommt hier die Funktion des Server Restarts.Das machen wir via Rcon Command.*/
SendRconCommand("gmx");
return 1;
#error Das ist kein Copy & Past Tutorial
}
Wenn man jetzt den Befehl ein gibt wird nach dem Countdown ein GMX (Gamemoderestart) durchgeführt.
Ich weiß es ist eher ein Copy & Past Tutorial. Allerdings sollte es so wie es jetzt ist 6 Errors geben. Wenn man genau hinguckt sollte man die Fehler finden... die Fehler sind ja schließlich alle gleich...Wenn ihr Erros habt guckt euch den Satz vorher an
Ich hoffe das Tuto hat euch gefallen.
Mit freundlichen Grüßen
Edit: eine Erweiterung eingefügt
Edit: Fehler behoben
Edit3: zufrüh auf absenden -.-
Edit4:
Edit5: if (IsPlayerAdmin(playerid)) ist richtig danke BlackAce...