Enum ~ error 032: 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
  • Hey, bekomme meist die Errors


    Zitat

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


    Habe schon alles versucht...


    Klappt iwi nicht.


    Code:


    public Zone(playerid)
    {
    new str[64];
    if(PlayerInZone(playerid,GangZone[0][minX],GangZone[0][minY],GangZone[0][maxX],GangZone[0][maxY]))return format(str,64,"Besetzt von: %s",GF[0][Gang]);
    if(PlayerInZone(playerid,GangZone[1][minX],GangZone[1][minY],GangZone[1][maxX],GangZone[1][maxY]))return format(str,64,"Besetzt von: %s",GF[1][Gang]);
    if(PlayerInZone(playerid,GangZone[2][minX],GangZone[2][minY],GangZone[2][maxX],GangZone[2][maxY]))return format(str,64,"Besetzt von: %s",GF[2][Gang]);
    if(PlayerInZone(playerid,GangZone[3][minX],GangZone[3][minY],GangZone[3][maxX],GangZone[3][maxY]))return format(str,64,"Besetzt von: %s",GF[3][Gang]);
    if(PlayerInZone(playerid,GangZone[4][minX],GangZone[4][minY],GangZone[4][maxX],GangZone[4][maxY]))return format(str,64,"Besetzt von: %s",GF[4][Gang]);
    if(PlayerInZone(playerid,GangZone[5][minX],GangZone[5][minY],GangZone[5][maxX],GangZone[5][maxY]))return format(str,64,"Besetzt von: %s",GF[5][Gang]);
    if(PlayerInZone(playerid,GangZone[6][minX],GangZone[6][minY],GangZone[6][maxX],GangZone[6][maxY]))return format(str,64,"Besetzt von: %s",GF[6][Gang]);
    if(PlayerInZone(playerid,GangZone[7][minX],GangZone[7][minY],GangZone[7][maxX],GangZone[7][maxY]))return format(str,64,"Besetzt von: %s",GF[7][Gang]);
    if(PlayerInZone(playerid,GangZone[8][minX],GangZone[8][minY],GangZone[8][maxX],GangZone[8][maxY]))return format(str,64,"Besetzt von: %s",GF[8][Gang]);
    if(PlayerInZone(playerid,GangZone[9][minX],GangZone[9][minY],GangZone[9][maxX],GangZone[9][maxY]))return format(str,64,"Besetzt von: %s",GF[9][Gang]);
    ZonenTD = TextDrawCreate(42.5 ,158 , "GangZone");
    TextDrawFont(ZonenTD , 0);
    TextDrawLetterSize(ZonenTD , 0.3, 2.1);
    TextDrawColor(ZonenTD , 0xff0000FF);
    TextDrawSetOutline(ZonenTD , true);
    TextDrawSetProportional(ZonenTD , true);
    TextDrawSetShadow(ZonenTD , 1);
    TextDrawShowForPlayer(playerid,ZonenTD);

    GZonenTD = TextDrawCreate(41.5 ,181 , str);
    TextDrawFont(GZonenTD , 1);
    TextDrawLetterSize(GZonenTD , 0.3, 2.1);
    TextDrawColor(GZonenTD , 0x00abfaFF);
    TextDrawSetOutline(GZonenTD , false);
    TextDrawSetProportional(GZonenTD , true);
    TextDrawSetShadow(GZonenTD , 1);
    TextDrawShowForPlayer(playerid,GZonenTD);
    return 1;
    }


    Was habe ich falsch gemacht?

  • Ohh fail...
    Sry


    :


    enum ZonenE
    {
    Zonenid,
    Float:minX,
    Float:minY,
    Float:maxX,
    Float:maxY
    }
    new GangZone[10][ZonenE] = {
    {0,1043.0660,-1578.0433,1144.6038,-1667.3330},
    {1,2374.8625,-2466.3684,2525.2268,-2695.0623},
    {2,925.8375,-1581.3282,1028.6044,-1785.1646},
    {3,2028.0192,-1844.0703,1892.0100,-1835.5641},
    {4,-1928.2968,-720.9028,-2153.4749,-998.5490},
    {5,-2148.1277,117.0566,-2013.5671,314.2286},
    {6,-2852.6777,509.1550,-2998.5610,420.5452},
    {7,-2701.0811,34.4757,-2613.2813,-60.6114},
    {8,1067.2451,1962.5822,1047.7484,2042.5941},
    {9,2238.1353,2822.3604,2352.8965,2724.0667}
    };


    enum GangFightE
    {
    Gang[64],
    Eroberer[64],
    OnGangfight,
    Punkte1,
    Punkte2
    }
    new GF[ZonenE][GangFightE];

  • Und warum hat er den Wert 4?


    Sorry 5 :D


    enum ZonenE
    {
    Zonenid, <- 0
    Float:minX, <- 1
    Float:minY, <- 2
    Float:maxX, <- 3
    Float:maxY <-4
    }


    Gibt insgesammt 5

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski


  • Ja, aber was soll man denn mehr einfügen? :o


    Check eig nicht was du jez willst :)


    Weil mehr brauch man doch nicht für ne Zone

  • Wenn du 10 Zonen verwalten willst, wie du es da machst -> new GangZone[10][ZonenE]


    aber nur dem Array nur 5 zusicherst, dann passt das spätestens ab dem 6. nicht mehr in de Array rein.


    Lösung, deklarier die Variable/den Array wie hier -> new GangZone[10]

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

  • Also ich habe verstanden, ich solls so machen:


    enum ZonenE
    {
    Zonenid,
    Float:minX,
    Float:minY,
    Float:maxX,
    Float:maxY
    }
    new GangZone[10] = {
    {0,1043.0660,-1578.0433,1144.6038,-1667.3330},
    {1,2374.8625,-2466.3684,2525.2268,-2695.0623},
    {2,925.8375,-1581.3282,1028.6044,-1785.1646},
    {3,2028.0192,-1844.0703,1892.0100,-1835.5641},
    {4,-1928.2968,-720.9028,-2153.4749,-998.5490},
    {5,-2148.1277,117.0566,-2013.5671,314.2286},
    {6,-2852.6777,509.1550,-2998.5610,420.5452},
    {7,-2701.0811,34.4757,-2613.2813,-60.6114},
    {8,1067.2451,1962.5822,1047.7484,2042.5941},
    {9,2238.1353,2822.3604,2352.8965,2724.0667}
    };


    Aber das geht ja nicht...


    Er zeigt dann Errors an, weil er nicht weiß was dort jez überhaupt stteht...


  • Wie wäre es, wenn du uns mal zeigst, welche Fehler bei deinem jetzigen Code kommen?


    (Beim jetzigen, nicht beim alten aus'm ersten Post...)


    Lol jetzt funzt es auf einmal...


    Aber was bringt es mir?


    Muss ja auch eine bestimmte Zone auswählen können :/



    Hilfe:


    Taxi

  • Meine Güte, du brauchst den Thread nicht jeden Tag 2x zu pushen... -.-"
    Wenn du schon pushst, dann pack wenigstens mein Zitat raus; es nervt, jeden Tag eine Benachrichtigung mehr wegen dem Thread zu bekommen...