Array index out of bounds

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
  • Sehr geehrte Community,


    ich habe mal eine frage bzw. ein kleines Problem...


    Ich bekomme folgenden CrashDetectFehler:


    Code
    [10:14:13] [debug] Run time error 4: "Array index out of bounds"
    [10:14:13] [debug]  Attempted to read/write array element at index 16 in array of size 16
    [10:14:13] [debug] AMX backtrace:
    [10:14:13] [debug] #0 000085c0 in public E@_OnPlayerStateChange (0, 2, 1) in selfmade.amx
    [10:14:13] [debug] #1 native CallLocalFunction () in samp-server.exe
    [10:14:13] [debug] #2 00006e14 in public OnPlayerStateChange (0, 2, 1) in selfmade.amx



    Mein OnPlayerStateChange Welches dies verursacht ist folgendes:


    Code
    for(new j = 0; j < sizeof(Tacho_TD); j++){
       PlayerTextDrawShow(playerid, Tacho_TD[playerid][j]);
    }

    Wenn ich das sizeof(Tacho_TD) einfach nur zu 16 änder sprich:


    Code
    j < 16

    Dann kommt kein Fehler... Tacho_TD wird wie folgt definiert:

    Code
    new PlayerText:Tacho_TD[MAX_PLAYERS][16];

    Insgesamt werden allerdings nur die Textdraws bis [15] geladen (mehr gibt es auch nicht)..



    Jemand eine Idee ? @Jeffry vielleicht ? ^^ Ich will ungern die 16 als feste Zahl eintragen, falls noch etwas zum Tacho hinzukommt.


    MfG
    XonarZ