Das hängt sicherlich mit der Funktion OnPlayerStreamIn
zusammen. So ist es ja auch in der Wiki beschrieben.
Wie man das Problem lösen kann, weiß ich nun allerdings
auch nicht.
Eine Idee wäre noch die folgende:
if(strcmp(cmd, "/maske", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(mask[playerid] == 0)
{
if(PlayerInfo[playerid][pMember] == 8||PlayerInfo[playerid][pLeader] == 8)
{
SendClientMessage(playerid, COLOR_WHITE, " Du setzt deine Maske auf!");
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "* %s setzt sich eine Maske auf!", sendername);
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
mask[playerid] = 1;
return 1;
}
else
{
SendClientMessage(playerid,COLOR_GRAD2,"Du bist kein Hitman!");
return 1;
}
}
if(mask[playerid] == 1)
{
if(PlayerInfo[playerid][pMember] == 8||PlayerInfo[playerid][pLeader] == 8)
{
SendClientMessage(playerid, COLOR_WHITE, " Du hast deine Maske abgesetzt!");
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "* %s nimmt seine Maske ab!", sendername);
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
mask[playerid] = 0;
return 1;
}
else
{
SendClientMessage(playerid,COLOR_GRAD2,"Du bist kein Hitman!");
return 1;
}
}
}
return 1;
}
public OnPlayerStreamIn(playerid, forplayerid)
{
if(mask[playerid] == 1)
{
ShowPlayerNameTagForPlayer(forplayerid, playerid, 0);
}
else
{
ShowPlayerNameTagForPlayer(forplayerid, playerid, 1);
}
}
Ich denke so müsste es eigentlich funktionieren.
Probiere es bitte mal genau so!