Heyho ich habe bei mir den befehl /admins etwas umgebaut aber irgendwie liest er nicht die daten richtig aus der DB aus ich habe r39 - 6 als mysql version
so sieht es derzeit aus wie ich es mir so gedacht habe bekoeme jedoch ständig dass angeblich keine admins gefunden wurden.. finde den fehler einfach nicht..
Code
cmd:alist(playerid,prams[])
{
mysql_tquery(MySQLConnection,"SELECT * FROM spieler WHERE adminlevel > 0 ORDER BY adminlevel DESC","LoadAdminList", "i", playerid);
return true;
}
Code
forward LoadAdminList(playerid);
public LoadAdminList(playerid)
{
new rows;
cache_get_row_count(rows);
if(rows == 0) //print wenn keiner rechte hat was er aber immer wieder sagt
{
SendClientMessage(playerid, 0xFF0000FF, "Keine Admins gefunden!");
return 1;
}
new dialog[2048];
new name[32];
new adminlevel;
new rank[32];
new status[32];
format(dialog, sizeof(dialog), "Name\tRang\tStatus\n");
for(new i = 0; i < rows; i++)
{
// Name und Adminlevel aus dem Cache holen
cache_get_field_content(i, "name", name, sizeof(name));
adminlevel = cache_get_field_content_int(i, "adminlevel");
switch(adminlevel)
{
case 1: format(rank, sizeof(rank), "Supporter");
case 2: format(rank, sizeof(rank), "Moderator");
case 3: format(rank, sizeof(rank), "Administrator");
case 4: format(rank, sizeof(rank), "Projektleitung");
}
new online = 0;
for(new p = 0; p < MAX_PLAYERS; p++)
{
if(IsPlayerConnected(p))
{
new pname[MAX_PLAYER_NAME];
GetPlayerName(p, pname, sizeof(pname));
if(strcmp(pname, name, true) == 0)
{
online = 1;
break;
}
}
}
if(online) format(status, sizeof(status), "{00FF00}Online");
else format(status, sizeof(status), "{FF0000}Offline");
format(dialog, sizeof(dialog), "%s%s\t%s\t%s\n", dialog, name, rank, status);
}
ShowPlayerDialog(playerid, 5000, DIALOG_STYLE_TABLIST_HEADERS, "Admin Übersicht", dialog, "Schließen", "");
return 1;
}
Alles anzeigen