Hallo,
Ich zeige euch heute wie ihr einen AFK Command erstellt.
Dies hier ist mein erstes Tutorial zu Scripting und daher ist es auch sehr Simple^^
Ich hoffe es gefällt euch!
So dann fangen wir mal an!
Es gibt viele Möglichkeiten einen AFK befehl zu erstellen,
aber die hier ist die beste aus meiner sicht.
Also, ihr definiert erstmal die Farbe womit es ausgeblendet werden soll
Beispiel
Dies hier kommt ganz nach oben
#define COLOR_LIGHTGREEN 0x9ACD32AA // #define [NAME DER FARBE] [FARBCODE]
#define COLOR_GREY 0xBEBEBEAA
#define COLOR_RED 0xAA3333AA
So nun definieren wir das hier
new AFK[MAX_PLAYERS]; // Hier wird ein new erstellt, womit wir später abfragen können ob er schon afk ist etc.
So nun suchen wir mal OnPlayerCommandText
Und Scripten dies da rein !
if(strcmp(cmd, "/afk", true) == 0)
{
if(AFK[playerid] == 0) // Abfrage ob er nicht AFK ist wenn schon Sehe else
{
new spieler[MAX_PLAYER_NAME]; // hier wird "spieler" definiert was wir brauchen um den Spielernamen zu erkennen.
GetPlayerName(playerid, spieler, sizeof(spieler)); // Hier sucht der Server den Namen der den Befehl ausführt
format(string, sizeof(string), "%s ist AFK!", spieler); // Hier wird die Nahricht generiert bzw. der Name "%s" Wird durch den Namen ersetzt!
SendClientMessageToAll(COLOR_LIGHTGREEN, string); // Hier wird die Nahricht an allen Spielern geschickt!
AFK[playerid] = 1;
}
else // abfragen ob das if(AFK.....) richtig ist oder nicht falls er schon Afk ist passiert das was hier Steht!!
{
SendClientMessage(playerid, COLOR_GREY, "Du bist schon AFK! Mach /back!"); // Wenn er schon /afk gemacht hat steht das da!
}
return 1;
}
So nun kommen wir zu den Back Befehl..
if(strcmp(cmd, "/back", true) == 0)
{
if(AFK[playerid] == 1) // Abfrage ob er AFK ist wenn schon Sehe else
{
new spieler[MAX_PLAYER_NAME]; // hier wird "spieler" definiert was wir brauchen um den Spielernamen zu erkennen.
GetPlayerName(playerid, spieler, sizeof(spieler)); // Hier sucht der Server den Namen der den Befehl ausführt
format(string, sizeof(string), "%s ist AFK!", spieler); // Hier wird die Nahricht generiert bzw. der Name "%s" Wird durch den Namen ersetzt!
SendClientMessageToAll(COLOR_LIGHTGREEN, string); // Hier wird die Nahricht an allen Spielern geschickt!
AFK[playerid] = 0;
}
else // abfragen ob das if(AFK.....) richtig ist oder er schon AFK ist!
{
SendClientMessage(playerid, COLOR_GREY, "Du bist nicht AFK"); // Falls er nicht AFK ist passiert das!
}
return 1;
}
So nun kommen wir zu OnPlayerText
public OnPlayerText(playerid, text[])
{
if(AFK[playerid] == 1) // Abfrage ob er AFK ist wenn er schreiben möchte!
{
SendClientMessage(playerid, COLOR_RED, "Du kannst nicht schreiben, schreibe /back um zu schreiben!"); // Falls er AFK ist , ist er gemutet und kann erst schreiben wenn er /back macht!
return 0;
}
Ist mein erstes Tutorial zu Scripting, freue mich auf die Kritik und Kommentare !
Ich hoffe es hat geholfen,
MfG Shooter1995
Edit:// Hab einen Farbcode vergessen