Beitrag von JustMe.77 ()
Dieser Beitrag wurde vom Autor gelöscht ().
Wenn die Nachricht nicht gesendet wird, dann ist entweder:
1) playerid ein Admin
2) alle anderen Spieler Admins
Prüfe bitte, ob eines davon der Fall ist.
einfach per Befehl die Nametags für den Spieler anzuschalten der sie eingegeben hat
Was meinst du damit?
Also so?
CMD:ejoin(playerid,params[])
{
new name[MAX_PLAYER_NAME], string[100];
GetPlayerSkin(playerid);
GetPlayerName(playerid, name, sizeof(name));
if(inEvent[playerid] != false)return SendClientMessage(playerid, WHITE, "{FF1717}ERROR:{FFFFFF} You're already in the event. Use {FF1717}/eleave{FFFFFF} to leave it.");
ResetPlayerWeapons(playerid);
SetPlayerHealth(playerid,99999);
new Float:HP, Float:Pos[4], Float:Armour;
GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
GetPlayerFacingAngle(playerid, Pos[3]);
GetPlayerHealth(playerid, HP);
GetPlayerArmour(playerid, Armour);
for (new i = 0; i <= 12; i++) GetPlayerWeaponData(playerid, i, PlayerInfo[playerid][weapons][i], PlayerInfo[playerid][ammo][i]);
PlayerInfo[playerid][p_Health] = HP;
PlayerInfo[playerid][p_Armour] = Armour;
PlayerInfo[playerid][p_X] = Pos[0];
PlayerInfo[playerid][p_Y] = Pos[1];
PlayerInfo[playerid][p_Z] = Pos[2];
PlayerInfo[playerid][p_A] = Pos[3];
PlayerInfo[playerid][p_Interior] = GetPlayerInterior(playerid);
PlayerInfo[playerid][p_VirtualWorld] = GetPlayerVirtualWorld(playerid);
PlayerInfo[playerid][p_Playerskin] = GetPlayerSkin(playerid);
if(zaehler >= sizeof(RandomSpawns)) zaehler = 0;
SetPlayerPos(playerid, RandomSpawns[zaehler][0], RandomSpawns[zaehler][1], RandomSpawns[zaehler][2]);
format(string, sizeof(string), "{FF1717}[EVENT]:{FFFFFF}{%06x} %s{FFFFFF} joined the Event - {FF1717}/ejoin", GetPlayerColor(playerid) >>> 8,name);
SendClientMessageToAll(0xC4C4C4FF, string);
zaehler++;
inEvent[playerid] = true;
if(!IsPlayerAdmin(playerid))
{
for(new i=0; i < MAX_PLAYERS; i++)
{
ShowPlayerNameTagForPlayer(playerid,i,0);
}
}
return 1;
}
Alles anzeigen
So werden die Nametags von allen Spieler entfernt, für den Spieler der in das Event geht, außer er ist Admin, dann sieht er die Nametags weiterhin.
Setze es zu false.
true = drin
false = nicht drin
Hast du mal versucht, es bei OnPlayerConnect zu false zu setzen?
Setze bei beiden Callbacks mal einen print hin und schaue ob der print im Server Log steht, wenn du den Server verlässt/betrittst.
Wenn nicht, dann wird das Callback gar nicht aufgerufen.
Dann sollte es eigentlich zurück gesetzt werden, außer du setzt es irgendwo wieder hoch.
Prüfe da mal alle Stellen, ob du es irgendwo auf true setzt, außer in dem Befehl.
Poste gegebenenfalls alle Codes, in denen das Array vorkommt.
Das sollte ohenhin aufgerufen werden, aber wahrscheinlich blockierst du es durch einen anderen Filterscript (gegebenenfalls unwissentlich).
Wenn beide Callbacks aufgerufen werden, dann sollte es klappen, die anderen Variablen werden ja auch zurück gesetzt, oder?
Außer du setzt es irgendwo wieder auf true, sonst kann es eigentlich nicht auf true bleiben.
Was kommt den für eine Meldung im, wenn du in das Event willst, und es fehlerhaft ist?