Random spawns fehler

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
  • C:\Users\Plyer\Desktop\mysql\gamemodes\dmmm.pwn(114) : error 032: array index out of bounds (variable "PBSpawns")
    new Float:PBSpawns[11][3] =
    {
    {-993.0566,1096.4937,1342.9464},//1
    {-1024.9197,1059.3832,1343.2831},//2
    {-1055.7239,1050.5612,1343.3032},
    {-1088.8763,1027.2328,1342.7892},
    {-1099.3173,1073.2480,1342.3147},
    {-1133.0546,1057.9266,1346.4094},
    {-1127.5370,1025.4127,1345.7003},
    {-1134.2419,1098.6616,1345.8112},
    {-1063.2407,1042.1263,1348.1604},
    {-1042.0015,1072.2975,1347.5913},
    {-1021.2032,1073.9462,1346.8038}
    };
    114 ist SetPlayerPos
    public OnPlayerSpawn(playerid)
    {
    if(isPlayerInArea(playerid,1))
    {
    new Paintballspawn;
    Paintballspawn = random(sizeof(PBSpawns));
    SetPlayerPos(playerid,PBSpawns[Paintballspawn][0],PBSpawns[Paintballspawn][1],PBSpawns[Paintballspawn][2],PBSpawns[Paintballspawn][3],PBSpawns[Paintballspawn][4],PBSpawns[Paintballspawn][5],PBSpawns[Paintballspawn][6]
    ,PBSpawns[Paintballspawn][7],PBSpawns[Paintballspawn][8],PBSpawns[Paintballspawn][9],PBSpawns[Paintballspawn][10]);
    return 1;
    }
    }

  • SetPlayerPos(playerid,PBSpawns[Paintballspawn][0],PBSpawns[Paintballspawn][1],PBSpawns[Paintballspawn][2]);




    Du hast mehr Parameter verwendet als Größe im Index des Array stand.



    SetPlayerPos(playerid,x,y,z);



    Mehr brauchst du nicht.

    "Dem wird befohlen, der sich nicht selbst gehorchen kann" - Friedrich Nietzsche

  • Ich vergleiche einen Array gerne mit einer Tabelle, weil es Optisch und Strukturell dazu passt.


    Dein erster Index besagt das er 11 Datensätze (Zeilen) hat, dass entspricht deinen 11 Koordinaten. Willst du mehr Koordinaten hinzufügen brauchst du nur den Index ändern.
    Dein zweiter Index gibt sozusagen die Spalten an. Du hast hier 3 angegeben, weil du bei Koordinaten ja nur X - Y und Z speichern willst.

    "Dem wird befohlen, der sich nicht selbst gehorchen kann" - Friedrich Nietzsche