Mehrere Variblen "unterspeichern", kannst DU mir helfen ?

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
  • Meine Frage: Wie kann ich es machen, ganz viele Variablen unter zu speichern z.b.s.


    Ich habe eine Fraktion mit 5 Unterschiedlichen Spawnpunkten, diese sollen dann über z.b.s ein RANDOM


    zugewiesen werden, sprich der Fraktions-Enum:



    enum Fraktion{
    ID,
    Name,
    Gehalt,
    ...
    }


    new FraktionsInfo[100][Fraktion];


    Und wie binde ich dort die unterschiedlichen Spawnpunkte am besten ein ?

  • Und dann ein Array noch anlegen mit den ganzen Spawnpunkten. Und beim "einfplegen" der Daten in die "FranktionsInfo" noch über eine Random Funktion, einen Spawnpunkt raus holen und ebenfalls setzen.

  • Ja, aber dann müsste ich ja wenn ich bei einer Fraktion 5 Spawnpunkte will, auch fünf mal

    • Float: sX,
    • Float: sY,
    • Float: sZ,
    • Float: sI,
    • Float: sVW

    sowas machen und das kann man dann nicht so einfach abfragen. Will lieber was wie:
    FraktionSpawns[FrakID][SpawnX[1]]; u.s.w.

  • Kannst auch folgendes machen:


    Und dann folgend drauf zugreifen (Anwendungsbeispiel):


    SetPlayerPos(playerid, Fraktion[5][sX][0],Fraktion[0][sY][0], Fraktion[5][sZ][0]);

  • Wie kann ich dann die ersten Einträge machen ? Brauchen nicht dynamisch

    Wenn du mit einer Datenbank arbeitest, musst du 5x die Koordinaten abspeichern und abfragen. Wenn du das unter dynamisch verstehst, dann hast du dir das gespart.


    Wie oben schon gezeigt, kannst du das einfach so machen:


    Code
    Fraktion[5][sX][0] = 60.65,
    Fraktion[5][sY][0] = 2023.11,
    Fraktion[5][sZ][0] = 357.32,
    
    
    Fraktion[5][sX][1] = 340.25,
    Fraktion[5][sY][1] = 968.89,
    Fraktion[5][sZ][1] = 2055.55,


    Zur Erklärung: Der erste Spawnpunkt deiner Fraktion "5" ist bei (60.65, 2023.11, 357,32) und der Zweite bei (340,24, 968.89, 2055.55).
    Dann einfach bei SetSpawnInfo/SetPlayerPos:


    Code
    new randValue = random(5);
    
    
    SetSpawnInfo(playerid, team, skin, Fraktion[DeinSpielerEnum[playerid][DeineSpielerFraktionsValue]][sX], usw...)