enum's und was man damit machen kann

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
  • HeyHo Breadfishes, mir ist grade Langweilig, deswegen mach ich ein Spontanes Tutorial für Enums


    Fangen wir mal an:


    Was wird Gebraucht?


    ein Bisschen Basis Wissen
    Pawno,
    Tastatur ^^


    Was ist ein enum?
    Ein enum ist dafür da, Mehrere zusammenhängende Variablen zu erstellen, Hier mal ein Beispiel ohne enum:



    new Geld[MAX_PLAYERS];
    new Punkte[MAX_PLAYERS];


    // Oder vielleicht auch so?


    new Geld[MAX_PLAYERS];
    Punkte[MAX_PLAYERS];


    Erklärungen:
    new -> Neu, also eine Neue Variable setzen


    MAX_PLAYERS -> Da wird später die ID angegeben, z.B. Geld[playerid]


    So, nun kommen wir zu der Strukturierten Version, also dem enum



    enum deine_struktur
    {
    Geld,
    Punkte //WICHTIG: Nach der Letzten Variable kein Komma!
    }
    new Info[MAX_PLAYERS][deine_struktur];


    Erklärungen:


    enum -> Dadurch wird eine Struktur erstellt
    new -> Neue Variable wird erstellt (Info)
    MAX_PLAYERS -> Das gleiche wie oben
    [deine_struktur] -> Dadurch wird das enum deine_struktur "eingebunden"


    So, wir haben nun ein Enum, doch was können wir damit alles Machen?


    - wir können eine Variable setzen, z.B. bei OnPlayerDeath:



    Info[killerid][Punkte] += 1;


    Hier wird die Variable Punkte aus dem Obigen Enum auf 1 mehr gesetzt, also: Der, der jemanden gekillt hat, bekommt dann ein Punkt mehr, wie wärs wenn nun das Opfer 1 Punkt abgezogen Bekommt?

    Info[playerid][Punkte] -= 1;


    Also bekommt das Opfer 1 Punkt abgezogen



    Ihr Müsstet jetzt eigentlich verstanden haben was man mit einem enum Machen kann.



    Wie Gesagt war es ein Spontanes Tutorial, Kritik, Vorschläge usw. sind wie immer Willkommen!


    Ideen was man mit einem Enum noch machen kann:


    - Register / Login System
    - Autohaussystem
    - Haussystem
    - Businesssystem


    Die Vorteile eines enums sind, dass sie Ressourcen Sparen, Übersichtlicher sind, und man damit noch viel anderes machen kann ;)


    Ich hoffe ich hab euch hiermit Geholfen ;)



    MfG



    /EDIT: Extra Info...
    //EDIT: Bild gefixxt

    Einmal editiert, zuletzt von munkee ()

  • Hi


    Zitat

    Schlechtes Tutorial, warum soll ich denn bitte Enums verwenden und nicht new;? Das wird garnicht richtig erläutert.


    Schlechte Bewertung xD
    Ne scherz^^


    Also is jez nich so´n hyper tut, aber auch nicht schlecht ;) Vill bissl wenig, aber für´n spontane´s tut akzeptabel.


    Zitat

    Punkte //WICHTIG: Nach der Letzten Variable kein Komma!


    Stimmt nich ganz, geht auch mit komma ;)


    MFG, Robdeflop®

  • Also, ich als Script Anfänger habs mir mal durchgelesen und finde es eig. durchnitllich. Es ist gut, aber ich werde nicht richtig schlau draus.


    Danke

  • Also, ich als Script Anfänger habs mir mal durchgelesen und finde es eig. durchnitllich. Es ist gut, aber ich werde nicht richtig schlau draus.


    Danke

    Ich werd versuchen das Tutorial mal Ausfürlicher und Länger zu Gestalten, Jedoch hab ich im Moment keine Zeit, da ich am nächsten (Großen) Update meines Selfmades Arbeite ;)

  • Ein enum ist dafür da, Mehrere zusammenhängende Variablen zu erstellen

    Mal sone Frage die mich schon ne weile beschäftigt.
    Was wäre denn wenn man nicht zusammenhängende Variablen in einem Enum erstellt.
    z.b. vom Autohaussystem und Haussystem und Register/Login system die Variablen einfach in ein enum packt?
    würde mich mal Interessieren.

    >> sPa.M << go, go,Bann me, Bann me

  • Enumeratoren sind nichts anderes als Aliase mit Gültigkeitsbereich. Das ist gerade der Vorteil von Enumeratoren, denn so kann man Struktur schaffen. Wie du die Struktur aufbaust und was für Aliaslisten du baust, das bleibt dir überlassen. Das kann im Anwendungsfall dann entweder gut oder schlecht sein. Vielleicht hilft dir das weiter: http://home.fhtw-berlin.de/~junghans/cref/SYNTAX/enum.html

  • Du könntest auch erwähnen, dass bei einer Struktur autom. IDs vergeben werden.


    Wenn du z.b. für Dialoge eine STruktur haben willst und kein bock auf ids merken oder so hast, kannst du einfach ein enum erstellen.
    Dort werden die dann von 0 gen unendlich gezählt

    enum
    {
    dialog_login,
    dialog_register
    }


    und du kannst sie abfragen
    in dem fall wäre dialog_login = 0 und dialog_register = 1


    Wenn du aber am anfang einen wert setzt, werden diese auch übernommen

    enum
    {
    dialog_login = 100,
    dialog_register

    Hier wäre dialog_login = 100 und dialog_register = 101

    ik bin der vito c: