Hey Leute,
ich hab mir gerade einen /setlevel Befehl gebastelt,
aber wie kann ich jetzt ausgeben das wenn ich einem Spieler Level 0 gebe das er dann eine Nachricht bekommt du wurdest von deinem Adminlevel enthoben,
und wenn ich ihm wieder Level 1 gebe du wurdest zu einen Supporter gemacht,
wiederrum bei Level 2 aber du wurdest zu einem Admin gemacht ?
Ich muss halt nur wissen wie ich die level sozusagen "Definieren" kann das er erkennt was was ist....
Ausserdem würde ich dazu gerne eine Nachricht ausgeben für alle: %s ist nun Level %d
Ich kenn mich mit den formatierungen nicht wirklich aus
Hier mal der Befehl:
dcmd_setlevel(playerid,params[])
{
new pid,level;
if(sscanf(params,"ud", pid, level))
return SendClientMessage(playerid,ROT,"Verwendung: /setlevel [Playerid] [Level von 0-2]");
if(IstSpielerAdmin(playerid,2))
{
if(pid == INVALID_PLAYER_ID)
{
SendClientMessage(playerid,ROT,"Dieser Spieler ist nicht online !");
}
if(IstSpielerAdmin(pid,level) == level)
{
return SendClientMessage(playerid,ROT,"Der Spieler hat schon das eingegebene Adminlevel");
}
else
{
sSpieler[pid][Adminlevel] = level;
SendClientMessage(pid,GELB,"Du wurdest zu einem Supporter/Admin gemacht !");
SendClientMessage(playerid,GELB,"Du hast den Spieler zu einem Supporter/Admin gemacht !");
}
}
else
{
return SendClientMessage(playerid,WEISS,"SERVER:Unknown Command");
}
return 1;
}
Soo nun zu meiner zweiten Frage:
Wie setze ich zum Beispiel wenn sich ein Spieler mit dem Namen: Dasbrot einloggt und er Level 2 hat,
das dann vor seinem Namen steht [Admin]Dasbrot ?
Ich wäre echt sehr dankbar da ich endlich vorankommen möchte mit meinem Script...
MfG
Das Brot
Levelname ausgeben || Nametags setzen ?!
- [LiSA]Das Brot
- Geschlossen
- Erledigt
-
-
new admtext[20];
if(level == 0){ admtext="Niemand";}
else if(level == 1){ admtext="Supporter";}
else if(level == 2){ admtext="Admin";}
format(string ,sizeof(string), "Du wurdest zum %s gemacht ...", admtext);
-
Den Namen kannst du theoretisch mit SetPlayerName ändern. Jedoch könnte das Probleme mit der Speicherung von Userdaten geben, da der Spieler ja jetzt anders heißt. Du könntest allerdings auf den Tag den Namen überprüfen und dann beim Speichern den Tag rausschneiden.
strfind zum überprüfen ob der Tag drin ist:
new pname[20];
GetPlayerName(playerid,pname,sizeof(pname));
if(strfind(pname,"[Admin]",true,0) != 1) // Wenn er den Tag vorm Namen hatstrdel um den Tag rauszuschneiden:
strdel(pname,0,7); -
Danke erstmal für eure Hilfe aber trotzdem bin ich etwas ratlos,
ich hab jetzt immer rumprobiert aber jedesmal spuckt er mir Errors aus,
kann mir das vielleicht nochmal jemand etwas präziser Erklären ?
Wäre sehr dankbar.
MfG
Das Brot -
breadfish.de
Hat das Thema geschlossen.