Hey Leute ich möchte gerne einen AFK Modus in mein Script einbauen.
Aber ich möchte das nicht mit SendClientMessageToAll(playerid,...,...);
machen sondern will ich das da steht das der und der Spieler in den AFK Modus gegangen ist und dann auch wieder einen /back befehl wo steht das der Spieler wieder aus dem Afk Modus zurück ist.
Wie mach ich das?
THX schonmal im vorraus.
MFG
-----
Mario
AFK Modus Frage
- Mario15799
- Geschlossen
- Erledigt
Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!
Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
-
-
Was willst du genau?
Eine AFK Liste, wo die Spieler aufgelistet sind und ein Back Befehl?Dazu gibt es duzende Tutorials.
-
Nein ich möchte ein AFK System wo man in den AFK modu gehen kann und dann eben angezeigt wird das der und der in den Afk modus gegangen ist.
-
In deinen AFK Befehl
new string[64],pName[MAX_PLAYER_NAME];
GetPlayerName(playerid,pName,sizeof(pName));
format(string,sizeof(string),"Spieler %s ist AFK gegangen",pName);
SendClientMessageToAll(color,string); -
so? Ist aber mit SendClientMessageToAll sonst gehts ned das Alle es Sehen^^ im Enum bei dir dann pAFK rein und die Abfrage bearbeiten
ocmd:afk(playerid, params[])
{
if(SpielerInfo[playerid][pAFK]== 0)
{
new afk[128], pname[MAX_PLAYER_NAME];
GetPlayerName(playerid, pname, sizeof(pname));
format(afk, sizeof(afk), "%s ist Abwesend.", pname); // hier kommt der Text z.B. Alpa ist AFK gegangen!
SendClientMessageToAll(0xFFFF00AA, afk);//hier ist das der Text an alle Spieler gesendet wird und auch in welcher Farbe (das ist die Farbe Gelb)
TogglePlayerControllable(playerid, 0);//hier wird gemacht das der Spieler nix machen kann ausser schreiben!
SpielerInfo[playerid][pAFK] = 1;//hier wird der Spieler in als 1 gesetzt!
}
else
{
SendClientMessage(playerid,cRot,"Du bist Abwesend! um dich wieder Anwesend zu Melden Tippe: /back");
}
return 1;
}
ocmd:back(playerid, params[])
{
if(SpielerInfo[playerid][pAFK]== 1)
{
new afk[128], pname[MAX_PLAYER_NAME];
GetPlayerName(playerid, pname, sizeof(pname));
format(afk, sizeof(afk), "%s ist wieder Anwesend.", pname);// hier kommt der Text z.B. Alpa ist wieder da!
SendClientMessageToAll(0x33AA33AA, afk);//hier ist das der Text an alle Spieler gesendet wird und auch in welcher Farbe (das ist die Farbe Grün)
TogglePlayerControllable(playerid, 1);//hier kann der Spieler sich wieder bewegen!
SpielerInfo[playerid][pAFK] = 0;//und hier wird der spieler auf 0 gesetzt damit man aus der afk raus ist!
}
else
{
SendClientMessage(playerid,cGelb,"Du bist bereits wieder Anwesend");
}
return 1;
} -
Ja genau, ich würde aber beim Back Befehl folgende Abfrage
if(SpielerInfo[playerid][pAFK]<= 1)
in
if(SpielerInfo[playerid][pAFK] == 1)
umbenennen, da du sonst unbegrenzt "back kommen" kannst. -
Ja genau, ich würde aber beim Back Befehl folgende Abfrage
if(SpielerInfo[playerid][pAFK]<= 1)
in
if(SpielerInfo[playerid][pAFK] == 1)
umbenennen, da du sonst unbegrenzt "back kommen" kannst.
Ich habe diese Fehler:Spoiler anzeigen C:\Users\Mario2\Desktop\GTA SA SERVER\0.3e 1\gamemodes\selfmad3.pwn(333) : error 017: undefined symbol "SpielerInfo"
C:\Users\Mario2\Desktop\GTA SA SERVER\0.3e 1\gamemodes\selfmad3.pwn(333) : warning 215: expression has no effect
C:\Users\Mario2\Desktop\GTA SA SERVER\0.3e 1\gamemodes\selfmad3.pwn(333) : error 001: expected token: ";", but found "]"
C:\Users\Mario2\Desktop\GTA SA SERVER\0.3e 1\gamemodes\selfmad3.pwn(333) : error 029: invalid expression, assumed zero
C:\Users\Mario2\Desktop\GTA SA SERVER\0.3e 1\gamemodes\selfmad3.pwn(333) : fatal error 107: too many error messages on one lineSpoiler anzeigen Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhaseSpoiler anzeigen 4 Errors.
Die Zeile:
if(SpielerInfo[playerid][pAFK] == 1) -
Dann brauchst du eine SpielerInfo Variable, die meistens aus einer Enum raus erstellt wird:
enum Daten
{
pAFK
};new SpielerInfo[MAX_PLAYERS][Daten];
-
breadfish.de
Hat das Thema geschlossen.