Guten Abend liebe Community,
ich habe folgendes Problem, ich lasse meine Reports in eine MySQL DB Speicher und will sie mir über einen Dialog per Befehl Anzeigen lassen.
Habe ich nur einen Eintrag in der DB wird mir der Dialog Angezeigt sind aber 2 oder mehr drinnen passiert nichts.
Ich bedanke mich schon mal im vor raus über eure Hilfe!
PWN Code:
Der Befehl:
Code
ocmd:reports(playerid,params[])
{
new nr;
if(sscanf(params,"i",nr))return SendClientMessage(playerid,COLOR_RED,"Syntax Error: /reports [Seite 1-3]");
if(nr==1)
{
if(IsPlayerAdmin(playerid)||sInfo[playerid][p_Adminlevel]>0)
{
mysql_function_query(dbhandle,"SELECT * FROM reports",true,"OnAdminCheckReports","i",playerid);
}
}
else
if(nr==2)
{
if(IsPlayerAdmin(playerid)||sInfo[playerid][p_Adminlevel]>0)
{
mysql_function_query(dbhandle,"SELECT * FROM reports",true,"OnAdminCheckReports2","i",playerid);
}
}
else
if(nr==3)
{
if(IsPlayerAdmin(playerid)||sInfo[playerid][p_Adminlevel]>0)
{
mysql_function_query(dbhandle,"SELECT * FROM reports",true,"OnAdminCheckReports3","i",playerid);
}
}
return 1;
}
Alles anzeigen
Das dazugehörige Public:
Code
public OnAdminCheckReports(playerid)
{
new rows,fields;
cache_get_data(rows,fields,dbhandle);
if(rows==0)return SendClientMessage(playerid,COLOR_WHITE,"SERVER: Keine Aktuelle Reports Vorhanden");
new string[3000];
for(new i=0; i<sizeof(rows); i++)
{
if(i>=11)continue;
new rp_user[32],rp_target_user[32],rp_info[300],rp_id;
rp_id = cache_get_field_content_int(i,"id",dbhandle);
cache_get_field_content(i,"username",rp_user,dbhandle,sizeof rp_user);
cache_get_field_content(i,"targetuser",rp_target_user,dbhandle,sizeof rp_target_user);
cache_get_field_content(i,"info",rp_info,dbhandle,sizeof rp_info);
if(cache_get_field_content_int(i,"status",dbhandle)==0)continue;
format(string,sizeof string,"%s\n------------------\n{FFFFFF}Report ID: %i\nReport von: %s\nBetroffener Spieler: %s\nBemerkung: %s",string,rp_id,rp_user,rp_target_user,rp_info);
if(i==10)
{
format(string,sizeof string,"%s\n\n\nFür Seite 2 Tippe /report 2",string);
}
}
ShowPlayerDialog(playerid,DIALOG_REPORT_LIST_1,DIALOG_STYLE_MSGBOX,"Aktuelle und nicht Gelöste Report's",string,"Schließen","");
return 1;
}
Alles anzeigen
//Edit
Habe es schon selber herraus gefunden... habe den status falsch abgefragt, also statt ==0 -> ==1||2.