Max Error

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Hey hab paar AMX Backraces:


    [17:05:49] [debug] Run time error 4: "Array index out of bounds"
    [17:05:49] [debug] Accessing element at negative index -400
    [17:05:49] [debug] AMX backtrace:
    [17:05:49] [debug] #0 0005b3b0 in public SaveGangAutos () from irp(3).amx
    [17:05:49] [debug] #1 00086268 in public SaveServer () from irp(3).amx
    [17:05:49] [debug] #2 001bfaa8 in public UpdateTime () from irp(3).amx
    [17:05:49] [debug] #3 000805b4 in public OnGameModeInit () from irp(3).amx


    [17:06:18] [debug] Run time error 5: "Invalid memory access"
    [17:06:18] [debug] AMX backtrace:
    [17:06:18] [debug] #0 00055368 in public LoadKassenInfo () from irp(3).amx
    [17:06:18] [debug] #1 0005caa4 in public OnGameModeInit () from irp(3).amx

  • das kommt wenn du nicht die Maximale Anzahl von dem Array abfragst, bzw. vom enum.
    Es kann aber auch sein, das du ein Falschen Define irgendswo angibst.

    Mit Freundlichen Grüßen
    Whitetiiger aka. Kaito-sensei
    P.s. Alle mit #IRONIE bestätigten Sätze von mir, sind als Ironie anzusehen.

  • Einen hab ich nun aber der andere Bleibt:
    [17:06:18] [debug] Run time error 5: "Invalid memory access"
    [17:06:18] [debug] AMX backtrace:
    [17:06:18] [debug] #0 00055368 in public LoadKassenInfo () from irp(3).amx
    [17:06:18] [debug] #1 0005caa4 in public OnGameModeInit () from irp(3).amx

  • Folgende:
    public LoadKassenInfo()
    {
    new string[128];
    for(new t = 0; t < MAX_TEAMIDS; t++)
    {
    format(string, sizeof(string),"SELECT * FROM `teamkassen` WHERE `TeamID` = '%d'", t);
    self_mysql_query(string);
    mysql_store_result(MySQLConnection);
    if(mysql_num_rows(MySQLConnection) != 0)
    {
    mysql_fetch_row_format(string);
    new val[ 128 ];
    self_mysql_get_field("Kasse", val); KassenInfo[t][tKasse] = strval( val );
    self_mysql_get_field("Lohn", val); KassenInfo[t][tLohn] = strval( val );
    }
    mysql_free_result(MySQLConnection);
    }
    }


    LoadKassenInfo();

  • Ich weiß nicht wie es bei der MySQL version ist, aber man sollte doch die ID mit laden also die Datenbank ID.
    Diese ist ja auch nicht im enum Vorhanden.


    weil dann könntest du das auch anders machen.


    Ein beispiel:
    for(new i=0; i<sizeof(KassenInfo); i++)
    {
    if(!KassenInfo[i][db_id])continue;
    //Rest des codes
    }


    Also, kann dir nicht 100% sagen ob ich dort richtig liege oder wie es bei der MySQL version ist, bzw ob das überhaupt der Fehler ist.
    Ansonsten wird dir sicherlich Jeffry: weiterhelfen :)

  • Eine direkte Lösung zu dem Fehler kenne ich nicht, auch im englischen Forum wird meistens nur spekuliert und die Threads sind eigentlich nie gelöst.
    Debuggen wir den Code doch mal:


    public LoadKassenInfo()
    {
    printf("Starte LoadKassenInfo");
    new string[128], val[128];
    for(new t = 0; t < MAX_TEAMIDS; t++)
    {
    printf("t: %d", t);
    format(string, sizeof(string),"SELECT * FROM `teamkassen` WHERE `TeamID` = '%d'", t);
    printf("string: %s", string);
    self_mysql_query(string);
    printf("query sent");
    mysql_store_result(MySQLConnection);
    printf("result stored");
    if(mysql_num_rows(MySQLConnection) != 0)
    {
    printf("rows != 0");
    mysql_fetch_row_format(string);
    printf("row fetched: %s", string);
    self_mysql_get_field("Kasse", val); printf("val: %s", val); KassenInfo[t][tKasse] = strval( val ); printf("strval: %d", strval(val));
    self_mysql_get_field("Lohn", val); printf("val: %s", val); KassenInfo[t][tLohn] = strval( val ); printf("strval: %d", strval(val));
    }
    mysql_free_result(MySQLConnection);
    printf("result freed");
    }
    printf("Ende LoadKassenInfo");
    return 1;
    }


    Poste dann bitte, was im Log steht (falls die Fehlermeldung wieder kommt, poste diese im Zusammenhang mit).

  • Hab den fehler behoben hab jetzt aber ein Problem immer wenn ich mich einlogge hab ich keinen Account in der Datenbank habe ich aber einen es kommt:


    [16:57:56] MySQL: Connection lost! -> MySQL reconnect!
    [16:58:44] Incoming connection: 109.193.63.11:53719
    [16:58:44] [join] has joined the server ()
    [16:58:52] [part] has left the server (0:2)
    [16:58:53] MySQL: Connection lost! -> MySQL reconnect!

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Kannst du bitte sagen was du gemacht hast um den Fehler zu beheben? Würde mich interessieren, und hilft sicher auch anderen.


    Zwecks dem neuen Problem:
    Da steht gar kein Spieler Name im Log, und in der Klammer auch keine IP Adresse, sehr seltsam.
    Funktioniert es mit einem leeren Gamemode?
    Was sagt der MySQL Log?

  • Kannst du bitte sagen was du gemacht hast um den Fehler zu beheben? Würde mich interessieren, und hilft sicher auch anderen.


    Zwecks dem neuen Problem:
    Da steht gar kein Spieler Name im Log, und in der Klammer auch keine IP Adresse, sehr seltsam.
    Funktioniert es mit einem leeren Gamemode?
    Was sagt der MySQL Log?


    Hab den Namen und die IP gelöscht der mysql Log sagt gar nix auser:
    [17:24:47] >> mysql_query( Connection handle: 1 )
    [17:24:47] >> mysql_query() - Invalid connection handle. (You set: 1, Highest connection handle ID is 0).
    [17:24:47] >> mysql_close( Connection handle: 1 )
    [17:24:47] >> mysql_close() - Invalid connection handle. (You set: 1, Highest connection handle ID is 0).


    [17:24:40] CMySQLHandler::~CMySQLHandler() - deconstructor called.
    [17:24:40] CMySQLHandler::FreeResult() - The result is already empty.
    [17:24:40] CMySQLHandler::Disconnect() - Connection was closed.
    [17:24:41] >> mysql_query( Connection handle: 1 )

    Einmal editiert, zuletzt von Corvus ()

  • Zitat

    [17:24:40] CMySQLHandler::Disconnect() - Connection was closed.


    Irgendwas stimmt mit deiner Verbindung zur Datenbank nicht. An dem geposteten Code liegt das aber nicht. Ich bezweifle sogar, dass es überhaupt am Script liegt.
    Hast du es mal mit dem R39-2 MySQL Plugin versucht? Das sollte eigentlich ohne Probleme laufen.




    Für Rocky
    @Rocky: Wieder da wo ich hingehöre :fun: