@Talykos Jetzt übertreiben wir mal nicht, zumal new query[MAX_PLAYERS_NAME+1]; das auch nicht geht, da der Rest des Querys ja noch drum rum muss.
ProtocolRead[P_MAX][600][3]
Das frisst deine Ressourcen.
Lösche es, du kannst das alles schöner schreiben.
Versuche es mal so:
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.");
SetPVarInt(playerid,"ProtocolRows",rows);
new str[(128+11+6)*10] = "Datum\tUhrzeit\tInhalt\n";
for(new i,date[11],time[6],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", "");
}
case D_PP:
{
new step = GetPVarInt(playerid, "ProtocolRows"), end = GetPVarInt(playerid,"ProtocolEnd");
DeletePVar(playerid,"ProtocolRows"),DeletePVar(playerid,"ProtocolEnd");
if(!response || listitem || step%10 != 0)
{
DeletePVar(playerid,"ProtocolName");
return 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
Das scheint mir ein eleganter Weg zu sein! 
Schlaf schön 