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
  • #define MaxTank 19
    enum IsAnTanke
    {
    Float:tX,
    Float:tY,
    Float:tZ,
    };
    new IstAnTanke[MaxTank][IsAnTanke] =
    {
    {-91.7419,-1169.8896,2.4295},
    {1004.0728,-939.5931,42.1797},
    {1944.1292,-1772.9398,13.3906},
    {-1675.7802,413.4920,7.1797},
    {-2023.7025,156.5608,28.8359},
    {2114.6165,920.3948,10.8203},
    {2639.9248,1105.9448,10.8203},
    {2202.2808,2475.0046,10.8203},
    {2147.4963,2747.4875,10.8203},
    {1595.6571,2199.8210,10.8203},
    {612.2269,1694.7743,6.9922},
    {70.4910,1218.7430,18.8123},
    {-1328.4259,2677.5176,50.0625},
    {-2407.5227,976.3151,45.2969},
    {-2244.1470,-2560.7310,31.9219},
    {-1605.4554,-2714.2219,48.5335},
    {655.5563,-565.0063,16.3359},
    {-1471.4376,1863.8456,32.6328},
    {1381.4482,458.1955,19.9672}
    };


    Zeile:
    if(IsPlayerInRangeOfPoint(playerid, 5.0, IstAnTanke[MaxTank][tX],IstAnTanke[MaxTank][tY],IstAnTanke[MaxTank][tZ]))


    Errors:

    Zitat

    script.pwn(2942) : error 032: array index out of bounds (variable "IstAnTanke")
    script.pwn(2954) : error 032: array index out of bounds (variable "IstAnTanke")


    Was mache ich falsch? :/ Würde mich über Hilfe freuen! Vielen Dank und Liebe Grüße

  • Laut Fehlerklärbär heißt das, dass du zu viele "Umwege" benutzt.


    Würde es nicht auch gehen, wenn du den enum weg machst, und einfach folgendes machst:


    if(IsPlayerInRangeOfPoint(playerid, 5.0, IstAnTanke[MaxTank][0],IstAnTanke[MaxTank][1],IstAnTanke[MaxTank][2]))


    new IstAnTanke[MaxTank][3]



    Gruß,
    Neo. :)

  • Er kann da netMaxTank reinschreiben da er dann nur den 19 Wert überprüft muss man mit ner for Schleife machen

  • Die meinen das hier


    for(new i=0; i<MaxTank; i++) //Eine schleife die deine Tankstellen durchläuft
    {
    new Float:x=IstAnTanke[i][tX], Float:y=IstAnTanke[i][tY], Float:z=IstAnTanke[i][tZ];
    if(IsPlayerInRangeOfPoint(playerid, 5.0, x, y, z))// Ist der SPieler an einem der Punkt wird weiter gemacht
    {
    //Funktion
    }
    }
    return 1;


    We are Anonymous.


    We are Legion.


    We do not forgive.


    We do not forget.


    Expect us.