Haiho!
Also hab folgendes Problem.
Ich möchte gerne das man wen man /afk eingibt gefreezed wird hab ich auch schon geschaft.
Aber soblad ich dan nochmal /afk eingebe kommt zwar "[Name] ist nichtmehr Afk", aber man wird nicht unfreezed.
Auserdem kommt dann immer Server unknow Command nach "[Name] ist nichtmehr Afk".
Auserdem würde ich noch gerne wissen wie ich jetzt z.b wen ich Akio heise und /afk eingebe mein name in Akio ändern kann und wen ich den afk modus wieder verlasse wieder normal Akio heise.
So sieht mein Script bisher aus:
if (strcmp("/afk", cmdtext, true, 5) == 0)
{
if (AFK == 0)
{
new Afkmodus[MAX_PLAYER_NAME];
AFK = 1;
GetPlayerName(playerid,Afkmodus,sizeof(Afkmodus));
format(Afkmodus, sizeof(Afkmodus), "[%s] ist jetzt AFK!", Afkmodus);
TogglePlayerControllable(playerid, false);
SendClientMessageToAll(COLOR_YELLOW,Afkmodus);
return 1;
}
else
{
if (AFK == 1)
{
new Afkmodus[MAX_PLAYER_NAME];
AFK = 0;
GetPlayerName(playerid,Afkmodus,sizeof(Afkmodus));
format(Afkmodus, 50, "[%s] ist jetzt nichtmehr AFK!", Afkmodus);
SendClientMessageToAll(COLOR_YELLOW,Afkmodus);
TogglePlayerControllable(playerid, true);
return 1;
}
}
}
Hoffe ihr könnt mir helfen.[MSIE_newline_end ]</AFK >
AFK Selfmade System
- Masterakio1995
- Geschlossen
- Erledigt
-
-
AFK ist eine nicht Spielerbezogene Variabel bei dir...
-
Inwiefern meinste das? habs net wirklich verstanden
Falls du meinst das ich Afk nicht definiert habe mus ich dir leider wiedersprechen habe nämlich ganz oben stehen:new AFK = 0;
-
Naja ich meinte das so:
new AFK ist eine Variabel, sprich ein Speicherplatz, du hast aber im Maximal Fall 500 Spieler.
Deswegen geht man so vor:
new istAFK[MAX_PLAYERS]; // Erzeugt 500 Speicherplätze, da MAX_PLAYERS meistens 500 ist.
new PlayerName[MAX_PLAYERS][MAX_PLAYER_NAME]OnPlayerConnect:
istAFK[playerid] = 0;
GetPlayerName(playerid,PlayerName[playerid],MAX_PLAYER_NAME);bei OnPlayerCommandText:
if (strcmp("/afk", cmdtext, true, 5) == 0)
{
if(istAFK[playerid] == 0)
{
istAFK[playerid] = 1;
TogglePlayerControllable(playerid,false);
new string[128];
format(string, sizeof(string), "[%s] ist jetzt AFK!", PlayerName[playerid]);
SendClientMessageToAll(COLOR_YELLOW,string);
}
else
{
istAFK[playerid] = 0;
TogglePlayerControllable(playerid,true);
new string2[128];
format(string2, sizeof(string2), "[%s] ist jetzt nichtmehr AFK!", PlayerName[playerid]);
SendClientMessageToAll(COLOR_YELLOW,string2);
}
return 1;
} -
Hmpf...
Ist mir ein bisschen zu kompliziert den verstehe davon kaum was kann es jemand eventl ein bisschen auskomentieren oder so?[MSIE_newline_end ] -
Vielleicht schreibst du einfach, was du nicht verstehst?
-
Die variablen verstehe ich nicht so richtig wie du sie ersetzt hast also welche durch welch e
-
Naja AFK mit istAFK[MAX_PLAYERS]
und Afkmodus eben durch ein schnelles 2D-Array was den Namen sofort speichert und du den nicht immer neu auslesen musst.
-
Ok habs jetzt verstanden Jetzt nur noch die frage ob es möglich ist das wen man in den afk modus geht das der name dan in z.b [AFK]Akio bzw <AFK>Akio geändert wird .
-
Schau dir die Funktion SetPlayerName an
-
-
kenn ich blos weis ich net wie ichd as ungehär machen mu s