Nutze mysql_get_row und mysql_retrieve_row.
Außerdem hast du mysql_free_result vergessen.
C
ocmd:akte(playerid,params[])
{
new query[256],akten[1000],pID;
if(!isPlayerAnAdmin(playerid,2))return SCM(playerid,COLOR_RED,"Du bist nicht berechtigt.");
if(sscanf(params,"u",pID))return SCM(playerid, COLOR_RED,"/akte [SPIELER]");
format(query, sizeof(query), "SELECT Eintrag, Typ, Dauer, Grund, AdminName from `strafakte` where Name = '%s'", SpielerName(pID));
mysql_query(query);
mysql_store_result();
if(mysql_num_rows() < 1)
{
SCM(playerid, COLOR_RED, "Der Spieler hat keine Straf-Einträge!");
mysql_free_result();
return 1;
}
while(mysql_retrieve_row())
{
new typ[32],grund[50], dauer[4], AdminName[32], mid, tmp[126], i = 0;
mysql_get_field("Typ", typ);
mysql_get_field("Dauer", dauer);
mysql_get_field("Grund", grund);
mysql_get_field("AdminName", AdminName);
mysql_get_field("Eintrag", query); mid = strval(query);
format(tmp, sizeof(tmp), "{FFFFFF}Typ: %s\nDauer: %s min./Anzahl\nGrund: %s\nAdmin: %s\n---------------------------------\n", typ,dauer,grund,AdminName);
aList[playerid][i] = mid;
strins(akten, tmp, strlen(akten));
i++;
}
mysql_free_result();
ShowPlayerDialog(playerid, DIALOG_AKTE, DIALOG_STYLE_LIST, "Admin - Strafakte", akten, "O.K", "");
return 1;
}
Alles anzeigen