Random Spawns funktionieren nicht!

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
  • Hallo Leute!


    Ich habe versucht heute Random Spawns zu erstellen, jedoch werde ich am Null Punkt gespawnt!


    Hier mal die Coods:


    static const Float:sfspawns[][] = {
    {1087.3717,-1227.4813,15.8203,262.0435},
    {1309.7506,-1370.3428,13.5737,178.7725},
    {}, //sind
    {}, //alle
    {}, // gefüllt
    {}, // keine
    {}, // angst
    {}, //.
    {}, //.
    {} //.
    };


    new idx = random(sizeof(sfspawns));
    SetPlayerPos(playerid,sfspawns[idx][0],sfspawns[idx][1],sfspawns[idx][2]);


    Es sind Ingesamt 10 Spawnpunkte. Ich habs auch schon nur mit X,Y,Z versucht aber es ging auch nicht.

  • enum RandomSpawns{
    Float:X,
    Float:Y,
    Float:Z,
    Float:A
    };


    static const Float:sfspawns[RandomSpawns][] = {
    {1087.3717,-1227.4813,15.8203,262.0435},
    {1309.7506,-1370.3428,13.5737,178.7725},
    {}, //sind
    {}, //alle
    {}, // gefüllt
    {}, // keine
    {}, // angst
    {}, //.
    {}, //.
    {} //.
    };


    new idx = random(sizeof(sfspawns));
    SetPlayerPos(playerid,sfspawns[idx][0],sfspawns[idx][1],sfspawns[idx][2]);


    Hast du das mit dem Enum auch so gemacht, das du oben in der ersten Klammer vom static das Enum einträgst?

  • Nein, ich habe das ganze nun so:



    enum RandomSpawns{
    Float:X,
    Float:Y,
    Float:Z,
    };


    static const Float:sfspawns[RandomSpawns][] = {
    {-1984.4608,136.1856,27.6875},
    {-2048.0691,460.6502,35.1719},
    {-1904.7507,485.8588,35.1719}, // FEHLER
    {-1883.6151,825.6912,35.1733},


    }; // FEHLER


    new idx = random(sizeof(sfspawns)); //FEHLER
    SetPlayerPos(playerid,sfspawns[idx][0],sfspawns[idx][1],sfspawns[idx][2]); //FEHLER


    Kriege aber errors:


  • enum RandomSpawns{
    Float:X,
    Float:Y,
    Float:Z
    };
    static const Float:sfspawns[RandomSpawns][] = {
    {-1984.4608,136.1856,27.6875},
    {-2048.0691,460.6502,35.1719},
    {-1904.7507,485.8588,35.1719}, // FEHLER
    {-1883.6151,825.6912,35.1733}
    };
    new idx = random(sizeof(sfspawns)); //FEHLER
    SetPlayerPos(playerid,sfspawns[idx][0],sfspawns[idx][1],sfspawns[idx][2]);
    So?

  • Also bei mir geht der Code so wie du ihn gepostet hast, ich glaube nicht, dass es daran liegt. Wo nutzt du das denn (Callback)?
    Füge das mal nach der Random-Auswahl ein:
    printf("%f %f %f", sfspawns[idx][0],sfspawns[idx][1],sfspawns[idx][2]);


    @[NGD]Manne: Das was du da machst hat keinen Sinn. Du definierst ein enum und benutzt es dann nicht, außerdem ist es an der falschen Stelle im Array eingefügt, es muss in die zweite Klammer. Die Zahlen bei SetPlayerPos müssen durch X, Y und Z ersetzt werden.
    Dein Code resultiert nur darin:

  • Ich mach es so, also ich habe mehrere Random Spawn's. Nämlich LS,SF,LV

    enum RandomSpawns{
    Float:X,
    Float:Y,
    Float:Z
    };


    static const Float:lsspawns[RandomSpawns][] = {
    {1087.3717,-1227.4813,15.8203},
    {1309.7506,-1370.3428,13.5737},
    };


    static const Float:sfspawns[RandomSpawns][] = {
    {-1984.4608,136.1856,27.6875},
    {-2048.0691,460.6502,35.1719},


    };


    static const Float:lvspawns[RandomSpawns][] = {
    {2104.9177,2228.3171,11.0300},
    {2370.2878,2164.8250,10.8272},
    };


    new idx = random(sizeof(lsspawns));
    SetPlayerPos(playerid,lsspawns[idx][0],lsspawns[idx][1],lsspawns[idx][2]);


    new idx = random(sizeof(sfspawns));
    SetPlayerPos(playerid,sfspawns[idx][0],sfspawns[idx][1],sfspawns[idx][2]);


    new idx = random(sizeof(lvspawns));
    SetPlayerPos(playerid,lvspawns[idx][0],lvspawns[idx][1],lvspawns[idx][2]);

  • static const Float:sfspawns[][] = {
    {1087.3717,-1227.4813,15.8203,262.0435},
    {1309.7506,-1370.3428,13.5737,178.7725}
    };


    new idx = random(sizeof(sfspawns));
    printf("%f %f %f", sfspawns[idx][0],sfspawns[idx][1],sfspawns[idx][2]);
    SetPlayerPos(playerid,sfspawns[idx][0],sfspawns[idx][1],sfspawns[idx][2]);


    So geht es bei mir ohne Probleme.