Enum

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:\Program Files\Grand Theft Auto San Andreas\gamemodes\ganmore.pwn(61) : error 008: must be a constant expression; assumed zero

  • Übrigens, es wäre besser, das so zu schreiben:
    enum Spieler_Daten
    {
    CharakterFrei[3],
    PasswortVergeben
    }


    Dann kannst du das so abfragen:
    if(Info[playerid][CharakterFrei][0] == 1)
    if(Info[playerid][CharakterFrei][1] == 1)
    if(Info[playerid][CharakterFrei][2] == 1)


    Angenommen du hättest 50 verschiedene Charaktere, dann wäre das nicht so schön, 50 Zeilen voll zu schreiben.
    Außerdem kannst du das auch in Schleifen nutzen:
    for(new i = 0; i < 3; i++)
    {
    if(Info[playerid][CharakterFrei][i] == 1)
    {
    printf("Charakter %d ist noch frei und wurde jetzt belegt.", i);
    Info[playerid][CharakterFrei][i] = 0;
    break;
    }
    }


    Und wenn deine Werte nur 0 und 1 sind, dann kannst du auch ein boolean mit true und false nehmen.
    bool:CharakterFrei[3],
    Und dann:
    Info[playerid][CharakterFrei][i] = false; //bzw. true