Dann setze mal prints und schau, wo er sich aufhängt :o
Und aktivier evtl mal den Mysql Log
//Edit:
Habe es mal bei mir lokal getestet und es funzt einwandfrei.
Bekomme keine Fehler oder dergleichen und habe exakt deine Datenstruktur gewählt.
Das war der Code, den ich verwendet habe:
ocmd:pp(playerid, params[])
{
if(pInfo[playerid][pAdmin] < 6)return 1;
if(IsNull(params))return SCM(playerid, COLOR_GREY, "Befehl: /pp [Name]");
SetPVarString(playerid,"ProtocolName",params);
ShowPlayerProtocol(playerid,0);
return 1;
}
case PLAYER_QUERY_PPROTOCOL:
{
if(!rows) return SCM(playerid, COLOR_LESSRED, "Es wurde kein Eintrag gefunden.");
new str[1024] = "Datum\tUhrzeit\tInhalt\n";
for(new i,date[11],time[9],data[128]; i<rows; i++)
{
cache_get_value_name(i, "Datum", date, sizeof(date)),
cache_get_value_name(i, "Uhrzeit", time, sizeof(time)),
cache_get_value_name(i, "Inhalt", data, sizeof(data));
if(data[0] != EOS) format(str, sizeof str, "%s%s\t%s\t%s\n", str, date, time, data);
}
ShowPlayerDialog(playerid, D_PP, DIALOG_STYLE_TABLIST_HEADERS, "Spielerprotokoll", str, "Schließen", ((rows%10 == 0)?("Weiter"):("")));
}
case D_PP:
{
new end = GetPVarInt(playerid,"ProtocolEnd");
DeletePVar(playerid,"ProtocolEnd");
if(response) return DeletePVar(playerid,"ProtocolName"), SCM(playerid, COLOR_GREY, "Du hast entweder das Fenster geschlossen oder es sind keine weiteren Einträge vorhanden!");
ShowPlayerProtocol(playerid,end+10);
}
stock ShowPlayerProtocol(playerid,start)
{
new query[64 + MAX_PLAYER_NAME];
GetPVarString(playerid,"ProtocolName",query,MAX_PLAYER_NAME);
mysql_format(handle, query, sizeof query, "SELECT * FROM playerprotocol WHERE Name='%e' LIMIT %d,10", query,start),
mysql_pquery(handle, query, "PlayerQuery", "d", PLAYER_QUERY_PPROTOCOL);
return SetPVarInt(playerid, "ProtocolEnd", start),1;
}
Alles anzeigen
Aber mir ist schleierhaft wie du die playerid an das PlayerQuery übergibst (Zeile 36)
und wie fragst du die rows ab?
Ich kenne halt nicht all deinen Code.
An dem Stück Code liegt der Fehler zumindest nicht 