Mysql Fraktions System Frage

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
  • Guten Abend liebe Breadfish-Community,


    Ich sitze nun seit ungefähr 2 wochen an meinem Selfmade Script. Es wird alles Dynamisch gemacht. Sprich auch die Fraktionen. Nun habe ich ein winziges Problem das ich leider nicht verstehe.


    In meiner datenbank habe ich halt nun platz für fraktionen geschaffen.
    Nun habe ich im script einen Enum erstellt.


    enum Fraktionen
    {
    FraktionsName,
    FraktionsID,
    FraktionsPositionX,
    FraktionsPositionY,
    FraktionsPositionZ,
    FraktionsSpawnX,
    FraktionsSpawnY,
    FraktionsSpawnZ,
    FraktionsKasse
    }
    new FraktionsInfo[Fraktionen];


    Nun wird dort aber ja nur eine Fraktion geladen un sich will nicht für jede fraktion ein neuen Enum erstellen. Deshalb wollte ich fragen wie ich dort für alle fraktionen den gleichen enum benutzen kann.


    MFG
    Mesow

  • Hallo,


    indem du das Array erweiterst.


    #define MAX_FRACTIONS X
    new FraktionsInfo[MAX_FRACTIONS][Fraktionen];


    Damit kannst du dann Werte im vorgefertigten Enumerator für jede Fraktion einzeln zuweisen.


    Viele Grüße,
    Alva

  • Das heißt ich könnte es dann Praktisch so machen ?


    #define MAX_FRAKTIONEN 24
    enum Fraktionen
    {
    FraktionsName,
    FraktionsID,
    FraktionsPositionX,
    FraktionsPositionY,
    FraktionsPositionZ,
    FraktionsSpawnX,
    FraktionsSpawnY,
    FraktionsSpawnZ,
    FraktionsKasse
    }
    new FraktionsInfo[MAX_FRAKTIONEN][Fraktionen];


    und lade sie soo?


    stock LoadFraktion(playerid)
    {
    //Fraktion1
    FraktionsInfo[1][FraktionsName] = mysql_GetString("fraktionen", "FraktionsName", "FraktionsName", FraktionsInfo[1][FraktionsName]);
    FraktionsInfo[1][FraktionsID] = mysql_GetInt("fraktionen", "FraktionsID", "FraktionsName", FraktionsInfo[1][FraktionsName]);
    FraktionsInfo[1][FraktionsPositionX] = mysql_GetInt("fraktionen", "FraktionsPositionX", "FraktionsName", FraktionsInfo[1][FraktionsName]);
    FraktionsInfo[1][FraktionsPositionY] = mysql_GetInt("fraktionen", "FraktionsPositionY", "FraktionsName", FraktionsInfo[1][FraktionsName]);
    FraktionsInfo[1][FraktionsPositionZ] = mysql_GetInt("fraktionen", "FraktionsPositionZ", "FraktionsName", FraktionsInfo[1][FraktionsName]);
    FraktionsInfo[1][FraktionsSpawnX] = mysql_GetInt("fraktionen", "FraktionsSpawnX", "FraktionsName", FraktionsInfo[1][FraktionsName]);
    FraktionsInfo[1][FraktionsSpawnY] = mysql_GetInt("fraktionen", "FraktionsSpawnY", "FraktionsName", FraktionsInfo[1][FraktionsName]);
    FraktionsInfo[1][FraktionsSpawnZ] = mysql_GetInt("fraktionen", "FraktionsSpawnZ", "FraktionsName", FraktionsInfo[1][FraktionsName]);
    FraktionsInfo[1][FraktionsKasse] = mysql_GetInt("fraktionen", "FraktionsKasse", "FraktionsName", FraktionsInfo[1][FraktionsName]);
    //Fraktion2
    FraktionsInfo[2][FraktionsName] = mysql_GetString("fraktionen", "FraktionsName", "FraktionsName", FraktionsInfo[2][FraktionsName]);
    FraktionsInfo[2][FraktionsID] = mysql_GetInt("fraktionen", "FraktionsID", "FraktionsName", FraktionsInfo[2][FraktionsName]);
    FraktionsInfo[2][FraktionsPositionX] = mysql_GetInt("fraktionen", "FraktionsPositionX", "FraktionsName", FraktionsInfo[2][FraktionsName]);
    FraktionsInfo[2][FraktionsPositionY] = mysql_GetInt("fraktionen", "FraktionsPositionY", "FraktionsName", FraktionsInfo[2][FraktionsName]);
    FraktionsInfo[2][FraktionsPositionZ] = mysql_GetInt("fraktionen", "FraktionsPositionZ", "FraktionsName", FraktionsInfo[2][FraktionsName]);
    FraktionsInfo[2][FraktionsSpawnX] = mysql_GetInt("fraktionen", "FraktionsSpawnX", "FraktionsName", FraktionsInfo[2][FraktionsName]);
    FraktionsInfo[2][FraktionsSpawnY] = mysql_GetInt("fraktionen", "FraktionsSpawnY", "FraktionsName", FraktionsInfo[2][FraktionsName]);
    FraktionsInfo[2][FraktionsSpawnZ] = mysql_GetInt("fraktionen", "FraktionsSpawnZ", "FraktionsName", FraktionsInfo[2][FraktionsName]);
    FraktionsInfo[2][FraktionsKasse] = mysql_GetInt("fraktionen", "FraktionsKasse", "FraktionsName", FraktionsInfo[2][FraktionsName]);
    //Fraktion3
    FraktionsInfo[3][FraktionsName] = mysql_GetString("fraktionen", "FraktionsName", "FraktionsName", FraktionsInfo[3][FraktionsName]);
    FraktionsInfo[3][FraktionsID] = mysql_GetInt("fraktionen", "FraktionsID", "FraktionsName", FraktionsInfo[3][FraktionsName]);
    FraktionsInfo[3][FraktionsPositionX] = mysql_GetInt("fraktionen", "FraktionsPositionX", "FraktionsName", FraktionsInfo[3][FraktionsName]);
    FraktionsInfo[3][FraktionsPositionY] = mysql_GetInt("fraktionen", "FraktionsPositionY", "FraktionsName", FraktionsInfo[3][FraktionsName]);
    FraktionsInfo[3][FraktionsPositionZ] = mysql_GetInt("fraktionen", "FraktionsPositionZ", "FraktionsName", FraktionsInfo[3][FraktionsName]);
    FraktionsInfo[3][FraktionsSpawnX] = mysql_GetInt("fraktionen", "FraktionsSpawnX", "FraktionsName", FraktionsInfo[3][FraktionsName]);
    FraktionsInfo[3][FraktionsSpawnY] = mysql_GetInt("fraktionen", "FraktionsSpawnY", "FraktionsName", FraktionsInfo[3][FraktionsName]);
    FraktionsInfo[3][FraktionsSpawnZ] = mysql_GetInt("fraktionen", "FraktionsSpawnZ", "FraktionsName", FraktionsInfo[3][FraktionsName]);
    FraktionsInfo[3][FraktionsKasse] = mysql_GetInt("fraktionen", "FraktionsKasse", "FraktionsName", FraktionsInfo[3][FraktionsName]);
    return 1;
    }

  • So ich grabe es nochmal aus da ich es nun etwas anders gestaltet habe.


    ich habe in einem Stock die fraktion auslesen lassen.
    stock LoadFraktion()
    {
    //Fraktion1
    FraktionsInfo[0][FraktionsName] = mysql_GetString("fraktionen", "FraktionsName", "FraktionsID", FraktionsInfo[0][FraktionsID]);
    FraktionsInfo[0][FraktionsID] = mysql_GetInt("fraktionen", "FraktionsID", "FraktionsID", FraktionsInfo[0][FraktionsID]);
    FraktionsInfo[0][FraktionsPositionX] = mysql_GetInt("fraktionen", "FraktionsPositionX", "FraktionsID", FraktionsInfo[0][FraktionsID]);
    FraktionsInfo[0][FraktionsPositionY] = mysql_GetInt("fraktionen", "FraktionsPositionY", "FraktionsID", FraktionsInfo[0][FraktionsID]);
    FraktionsInfo[0][FraktionsPositionZ] = mysql_GetInt("fraktionen", "FraktionsPositionZ", "FraktionsID", FraktionsInfo[0][FraktionsID]);
    FraktionsInfo[0][FraktionsSpawnX] = mysql_GetInt("fraktionen", "FraktionsSpawnX", "FraktionsID", FraktionsInfo[0][FraktionsID]);
    FraktionsInfo[0][FraktionsSpawnY] = mysql_GetInt("fraktionen", "FraktionsSpawnY", "FraktionsID", FraktionsInfo[0][FraktionsID]);
    FraktionsInfo[0][FraktionsSpawnZ] = mysql_GetInt("fraktionen", "FraktionsSpawnZ", "FraktionsID", FraktionsInfo[0][FraktionsID]);
    FraktionsInfo[0][FraktionsKasse] = mysql_GetInt("fraktionen", "FraktionsKasse", "FraktionsID", FraktionsInfo[0][FraktionsID]);
    return 1;
    }


    Nur er gibt mir einen error
    "(828) : error 006: must be assigned to an array"


    also diese Zeile:
    FraktionsInfo[0][FraktionsName] = mysql_GetString("fraktionen", "FraktionsName", "FraktionsID", FraktionsInfo[0][FraktionsID]);


    Weiß vllt jemand wie ich das ändern kann ? 8| weil es ist ja ein Name das heißt kein GetInt.. :/


    Naja wäre nett wenn mir einer Helfen könnte danke :)


    Mit freundlichen Gruß
    Mesow