Hallo,
Dieser befehl ging die ganze zeit jetzt aber nicht mehr richtig und zwar kamm im Text es so ungefähr...
"Du hast Franz in die Fraktion LSPD invitet "
jetzt kommt aber nur noch
""Du hast in die Fraktion invitet"
Hier der Code:
dcmd_ainvite(playerid,params[])
{
if(PlayerInfo[playerid][Admin] >= 4)
{
new pID, Adminrank;
new name[MAX_PLAYER_NAME], aname[MAX_PLAYER_NAME];
new string[128], string2[128];
if(sscanf(params,"ud",pID,Adminrank))
{
SendClientMessage(playerid,Gelb,"Benutze: /ainvite[Playerid][Fraktionsid]");
return 1;
}
else
{
format(string,sizeof(string),"Du hast %s in die Fraktion %d invitet",name,Adminrank);
format(string2,sizeof(string2),"Du wurdest von %s zum Mitglied der Fraktion %d gemacht",aname,Adminrank);
SendClientMessage(playerid,HellBlau,string);
SendClientMessage(pID,HellBlau,string2);
PlayerInfo[pID][Beruf] = Adminrank;
PlayerInfo[pID][Rank] = 1;
return 1;
}
}
else
{
SendClientMessage(playerid,Rot,"Du bist kein Admin");
return 1;
}
}
Name wird nicht angezeigt
- EliteBread
- Geschlossen
- Erledigt
-
-
Du ließt ja auch nie den Namen mit GetPlayerName aus.
-
Okay,aber vorher ging es ja
Also so
dcmd_ainvite(playerid,params[])
{
if(PlayerInfo[playerid][Admin] >= 4)
{
new pID, Adminrank;
new name[MAX_PLAYER_NAME], aname[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
GetPlayerName(playerid, aname, sizeof(aname));
new string[128], string2[128];
if(sscanf(params,"ud",pID,Adminrank))
{
SendClientMessage(playerid,Gelb,"Benutze: /ainvite[Playerid][Fraktionsid]");
return 1;
}
else
{
format(string,sizeof(string),"Du hast %s in die Fraktion %d invitet",name,Adminrank);
format(string2,sizeof(string2),"Du wurdest von %s zum Mitglied der Fraktion %d gemacht",aname,Adminrank);
SendClientMessage(playerid,HellBlau,string);
SendClientMessage(pID,HellBlau,string2);
PlayerInfo[pID][Beruf] = Adminrank;
PlayerInfo[pID][Rank] = 1;
return 1;
}
}
else
{
SendClientMessage(playerid,Rot,"Du bist kein Admin");
return 1;
}
} -
Direkt vorm Format:
GetPlayerName(pID, name, sizeof(name));
GetPlayerName(playerid, aname, sizeof(aname)); -
Was für eine Antwort erwartest du jetzt von mir ? Es kann "vorher" nicht funktioniert haben,wenn es genau so war wie du es gepostet hast.
Du musst etwas geändert haben, da gibts keine Andere Möglichkeit.Und Nein,so funktioniert es auch nicht.
GetPlayerName(playerid, name, sizeof(name));
GetPlayerName(playerid, aname, sizeof(aname)); // <-- 2x mit playerid arbeiten ?
new string[128], string2[128];
if(sscanf(params,"ud",pID,Adminrank)) // <- Erst hier hat pID einen gültigen Wert, also kannst du erst DANACH auslesen lassen. -
Ich habe es doch geändert und so geht es auch
-
So wie du es editiert hast, Nein. (Geht jetzt zufälligerweise weil du es bei dir selber machst und du ID 0 hast.)
Aus den Gründen die GoldKiller bereits schrieb.
Mach es so wie ich es geschrieben habe. -
breadfish.de
Hat das Thema geschlossen.