Wenn ich /members mache sehe ich nur rank 6 (leader)
Code :
ocmd:members(playerid,params[])
{
new string[256];
new sendername[MAX_PLAYER_NAME];
GetPlayerName(playerid, sendername, sizeof(sendername));
SendClientMessage(playerid,COLOR_LIGHTBLUE,"Fraktions Member Online:");
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(Spieler[playerid][Team]>=1)
{
if(Spieler[playerid][Team]==Spieler[i][Team])
{
GetPlayerName(i, sendername, sizeof(sendername));
format(string,sizeof(string),"%s%s [Rang:%d]\n",string,SpielerName(i),Spieler[i][Rank]);
SendClientMessage(playerid, Grau, string);
return 1;
}
}
}
return 1;
}
Danke für die Hilfe.
mfG
Members werden nicht angezeigt
- Crocky
- Geschlossen
- Erledigt
Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!
Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
-
-
Das return 1; nach SendClientMessage muss weg.
-
Das return 1; nach SendClientMessage muss weg.
Dann kommt nichts mehr
-
Man sollte Sendername schon benutzen oder definierst du den Namen der "playerid" und "i" aus Spaß an der Freude?
-
Beitrag von CaptainKevin ()
Dieser Beitrag wurde vom Autor aus folgendem Grund gelöscht: asde (). -
Okay, war doch noch bisschen mehr falsch als ich dachte.
C
Alles anzeigenocmd:members(playerid,params[]) { new string[350],sendername[MAX_PLAYER_NAME]; SendClientMessage(playerid,COLOR_LIGHTBLUE,"Fraktions Member Online:"); for(new i;i<MAX_PLAYERS;i++) { if(Spieler[playerid][Team] >= 1) { if(Spieler[playerid][Team] == Spieler[i][Team]) { GetPlayerName(i,sendername,sizeof(sendername)); format(string,sizeof(string),"%s%s [Rang: %d]\n",string,sendername,Spieler[i][Rank]); SendClientMessage(playerid,Grau,string); } } } return 1; }
-
Du solltest bedenken das SendClientMessage maximal 128 (bzw 144) Zeichen anzeigen kann welche recht schnell aufgebraucht sein können daher direkt absenden.
-
Stimmt, macht Sinn! Dankeschön!
-
SendClientMessage kann keine Zeilenumbrüche verarbeiten, man muss jede Nachricht einzeln senden.
ocmd:members(playerid,params[])
{
new string[145],sendername[MAX_PLAYER_NAME];
SendClientMessage(playerid,COLOR_LIGHTBLUE,"Fraktions Member Online:");
if(Spieler[playerid][Team] >= 1)
{
for(new i;i<MAX_PLAYERS;i++)
{
if(IsPlayerConnected(i) && Spieler[playerid][Team] == Spieler[i][Team])
{
GetPlayerName(i,sendername,sizeof(sendername));
format(string,sizeof(string),"%s [Rang: %d]",sendername,Spieler[i][Rank]);
SendClientMessage(playerid,Grau,string);
}
}
}
return 1;
}Man könnte die Namen höchstens nebeneinander schreiben, das sieht aber meistens unschön aus.
Im Dialog macht es aber am meisten Sinn:
ocmd:members(playerid,params[])
{
new string[512],sendername[MAX_PLAYER_NAME];
if(Spieler[playerid][Team] >= 1)
{
for(new i;i<MAX_PLAYERS;i++)
{
if(IsPlayerConnected(i) && Spieler[playerid][Team] == Spieler[i][Team])
{
GetPlayerName(i,sendername,sizeof(sendername));
format(string,sizeof(string),"%s%s [Rang: %d]\n",string,sendername,Spieler[i][Rank]);
}
}
}
ShowPlayerDialog(playerid, DIALOG_MEMBERS, DIALOG_STYLE_MSGBOX, "Fraktions Member Online:", string, "Ok", "");
return 1;
} -
-
breadfish.de
Hat das Thema geschlossen.