Moin,
Ich habe ein Befehl gemacht der alle online Teammitgleider auflistet. Nur das Problem ist das er auch welche mit Admin Level 0 anzeigt. Nur ich möchte das es erst ab Adminlevel 1 anzeigt wie mache ich das?
Moin,
Ich habe ein Befehl gemacht der alle online Teammitgleider auflistet. Nur das Problem ist das er auch welche mit Admin Level 0 anzeigt. Nur ich möchte das es erst ab Adminlevel 1 anzeigt wie mache ich das?
wenn ich mich net irre so
if(PlayerInfo[i][pAdmin] >= 1)
//edit
if(IsPlayerConnected(i))
{
if(PlayerInfo[i][pAdmin] >= 1)
{
GetPlayerName(i, sendername, sizeof(sendername));
format(string, sizeof(string), "%s - ID:%d - Rank: %d", sendername,i,PlayerInfo[i][pAdmin]);
SendClientMessage(playerid, COLOR_HELLROT, string);
}
}
So wie du es machst, können nur admins ab lvl 1 den befehl ausführen, du musst die adminabfrage in die for schleife machen und statt [player] [i] verwenden
Habe es gerade mal bei mir überarbeitet:
if(strcmp(cmdtext, "/team", true)==0)
{
SendClientMessage(playerid, COLOR_LIGHTRED, "_____|Teammitglieder|_____");
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(SpielerInfo[i][pAdmin] > 0)
{
new string[100];
new admins = SpielerInfo[i][pAdmin];
new spieler[MAX_PLAYER_NAME];
GetPlayerName(i,spieler,sizeof(spieler));
format(string, sizeof(string), "%s - ID:%d - Rank: %d",spieler,i,admins);
SendClientMessage(playerid,COLOR_LIGHTRED, string);
}
}
}
return 1;
}
Ich hoffe ich konnte dir Helfen
Edit: Codeschnipsel überarbeitet (Abfrage hinzugefügt)
Es geht immer noch nicht und es kommt noch:
local variable "string" shadows a variable at a preceding level
ja das ist weil ich bei mir den string definiert habe( mach bei dir einfach new string[100]; weg. dann ersetze SpielerInfo in PlayerInfo