Hallo.
Ich habe mal was gescriptet. Was den Namen ändert.
Ein Decknamesystem.
Spieler bekommt den Deckname den er sich ausgewählt hat, bei Maske auf.
Der Name wie ich im Spiel heisse wird geändert.
zu meinen Deckname.
Bei Maskeabsetzen bekommt er den alten namen nicht wieder.
NamenVariable habe ich mal Kicka genannt.
Also die Variable wo der Name drinne gespeichert werden soll.
Hier mal der Code.
//deckname setten//
ocmd:deckname(playerid,params[])
{
new string[128];
if(PlayerInfo[playerid][pMember]==20||PlayerInfo[playerid][pLeader]==20)
{
if(sscanf(params,"s",string))return ErrorMsg(playerid,"INFO: /deckname [deckname]");
strmid(PlayerInfo[playerid][deckname],string,0,MAX_PLAYER_NAME,MAX_PLAYER_NAME);
format(string,sizeof(string),"Deckname auf %s geändert, du kannst nun eine Maske aufsetzen.",PlayerInfo[playerid][deckname]);
SendClientMessage(playerid,0x00FF28FF,string);
}
return 1;
}
//maske aufsetzen//
ocmd:maskeauf(playerid,params[])
{
new query[128];
new prname[MAX_PLAYER_NAME];
format(query,sizeof(query),"%s setzt Maske ab",MeinName(playerid));
if(PlayerInfo[playerid][pMember]==20||PlayerInfo[playerid][pLeader]==20)
{
if(!strcmp(PlayerInfo[playerid][deckname],"NON",true))return ErrorMsg(playerid,"Du hast noch keinen Decknamen.");
SetPVarInt(playerid,"maske",1);
SendClientMessage(playerid,0x00FF28FF,"Du hast dir eine Maske aufgesetzt.");
Kika[playerid] = GetPlayerName(playerid, prname, sizeof(prname));
SetPlayerName(playerid,PlayerInfo[playerid][deckname]);
SetPlayerScore(playerid,random(50) + 122);
maskeAufsetzen(playerid);
}
return 1;
}
//Maskeabsetzen//
ocmd:maskeab(playerid,params[])
{
new query[128];
format(query,sizeof(query),"%s setzt Maske ab",MeinName(playerid));
if(GetPVarInt(playerid,"maske")==0)return ErrorMsg(playerid,"Du hast keine Maske auf.");
RemovePlayerAttachedObject(playerid,2);
SetPVarInt(playerid,"maske",0);
maskeAbsetzen(playerid);
SendClientMessage(playerid,0x00FF28FF,"Du hast nun keine Maske mehr auf, und dein Name ist wieder sichtbar.");
printf(query);
SetPlayerName(playerid,Kika[playerid]);
SetPlayerScore(playerid,GetPlayerLevel(playerid));
return 1;
}
Der Deckname bleibt immernoch...
Obwohl ich den Richtigen Name in die Variable gesetzt habe.