Array index out of bounds, aber das ist gar nicht zu groß.

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
  • Hi. Habe mal versucht eine random Waffe mit random Muni zu erstellen. Allerdings habe ich folgenden Error.


    error 032: array index out of bounds (variable "Waffenrandom")


    Und zwar hier.


    new rand = random(sizeof(Waffenrandom)),
    rand1 = random(15);
    kInfo[i][kWaffe] = Waffenrandom[rand][1];
    switch(kInfo[i][kWaffe])
    {
    case 16 .. 34: {rand1, kInfo[i][kMunition] = rand1;}
    }


    Allerdings nutze ich ja sizeof(Waffenrandom) Also kann ich doch eigentlich gar nicht größer werden als das Array hergibt. Oder liege ich da falsch, denn ich komme einfach nicht auf den Fehler.

  • Hier.


    new Waffenrandom[][1] =
    {
    {1}, {2}, {3}, {4},
    {5}, {6}, {7}, {8},
    {9}, {15}, {16}, {17},
    {18}, {22}, {23}, {24},
    {25}, {26}, {27}, {28},
    {29}, {30}, {31}, {32},
    {33}, {34}, {46}
    };


    edit. als Pawn code makiert.

  • new rand = random(sizeof(Waffenrandom)),
    rand1 = random(15);
    kInfo[i][kWaffe] = Waffenrandom[rand][1];
    switch(kInfo[i][kWaffe])
    {
    case 16 .. 34: {rand1, kInfo[i][kMunition] = rand1;}
    }


    kInfo[i][kWaffe] = Waffenrandom[rand][1];
    Das ist der Fehler.


    Es muss so sein, mit einer 0 als Index:
    kInfo[i][kWaffe] = Waffenrandom[rand][0];