Obwohl bei deiner Methode wieder der oben erwähnte fall eintritt.
Machs so:
new playername[MAX_PLAYERS][MAX_PLAYER_NAME];
public OnPlayerConnect(playerid)
{
GetPlayerName(playerid,playername[playerid],MAX_PLAYER_NAME);
}
dcmd_namechange(playerid,params[])
{
new newname[MAX_PLAYER_NAME];
if(sscanf(params,"s",newname))
{
switch(SetPlayerName(playerid,newname))
{
case -1: SendClientMessage(playerid,DEINE_FARBE,"Name Berreits vergeben!");
case 0: SendClientMessage(playerid,DEINE_FARBE,"Du heist schon so!");
case 1: SendClientMessage(playerid,DEINE_FARBE,"Du heist jetzt so!");
}
}
else
{
SendClientMessage(playerid,DEINE_FARBE,"Du musst auch einen Namen eingeben!");
}
}
Wichtig jetzt: Immer wenn du etwas mit dem Usernamen abspeicherst nutzt du nicht mehr "GetPlayerName" sondern "playername[playerid]".
Musst du auch auf alle Account-Speicherungen anpassen.
//EDIT: War die beiden Sinnlosen Beiträge von oSteven bezogen.
Liest du die Threads eigentlich?
Was bringt im bitte OnPlayerUpdate?!