Beiträge von d30af26d

    Hallöchen!


    Hiermit verkaufe ich meinen Apple iPod 32 GB als gebraucht,
    da ich das Gerät eher wenig nutze und ich aktuell ein neues Handy brauche.



    Der Preis liegt bei VERKAUFT (Bei 180€ noch Chancen)


    Zahlungsmittel: Überweisung


    Zustand:
    Gebraucht mit wenigen Gebrauchsspuren und ohne Kratzer am Bildschirm
    Es sind nur die üblichen leichten Kratzer an der Alu-Seite.


    Kontakt: PN (Private Nachricht)


    Bitte aber auch davor hier im Thread melden.
    Bei Preisvorschlägen hier bitte im Thread posten.
    Der Preis muss mindestens 170€ betragen.


    Freundliche Grüße
    ioRawr

    Bei rBits hast du bei 1-Bit Variablen nicht die Möglichkeit, die anderen Bit-Stellen zu belegen (wenn ich es so ansehe).
    Bei ioBit kannst du aber bei nur einer Variablen die Möglichkeit, exakt oder weniger als 31 Ja/Nein Werte zu speichern.

    Lass uns die Diskussion über das Scripteranfängerniveau im Smalltalk lassen.
    Man sollte als ->normaler<- Scripteranfänger mit Boolean-Werte arbeiten können.

    Booleanische Werte gehören zum Grundwissen.
    Außerdem sollte jeder die Funktionen benutzen können, falls noch Gehirnmasse vorhanden ist.


    @ Goldkiller:
    Die Include und alle Funktionen sind von mir. Ich hab nicht alles auf den ersten Schlag geschafft,
    aber jede Menge getestet, bis es funktionierte. Außerdem ist der 32. Wert oft nicht richtig und
    deshalb auch manchmal auf 1, obwohl dieser nicht gesetzt wurde.


    - Ich werde die Beispiele anpassen. [Done]
    - Man kann ja die Stellen über 31 auch probieren, da keine Abfrage das Ganze stoppt.

    Hallöchen!


    Heute will ich euch ein Include vorstellen, dass euch erlaubt, mehrere Werte innerhalb einer Variable zu speichern, was ziemlich ressourcesparend ist, wenn man nur Ja/Nein Werte speichern will.


    Beispiele:
    // Man kann auch enums verwenden, falls man auf die Nummerierung verzichten will
    enum (+= 1)
    {
    ADMIN = 1,
    SMOD,
    MOD,
    HELPER,
    NEW
    };


    new Information;
    SetInfo(Information, ADMIN, true); // Wert setzen bei ADMIN (=1)
    SetInfo(Information, SMOD, true); // Wert setzen bei SMOD (=2)
    SetInfo(Information, MOD, false); // Wert setzen bei MOD (=3)
    SetInfo(Information, HELPER, true); // Wert setzen bei HELPER (=4)
    SetInfo(Information, NEW, false); // Wert setzen bei NEW (=5)


    PrintInfo(Information, NEW); // Alle Ergebnisse bis NEW (=5) ausgeben


    // Man kann ebenso Werte mit Hilfe von enums in Variablen setzten,
    // die ebenso enums verweden.


    enum (+= 1)
    {
    ADMIN = 1,
    SMOD,
    MOD,
    HELPER,
    NEW
    };


    enum PLAYER
    {
    A_LEVEL,
    A_OTHER
    }; new Player[MAX_PLAYERS][PLAYER];


    SetInfo(Player[playerid][A_LEVEL], ADMIN, true); // ADMIN-Bit auf 1 (0b1 == 1)
    SetInfo(Player[playerid][A_LEVEL], SMOD, true); // SMOD-Bit auf 1 (0b10 == 1)
    SetInfo(Player[playerid][A_LEVEL], MOD, true); // MOD-Bit auf 1 (0b11 == 1)


    Man kann, wie man sieht, Admin, SMod und Mod sein und gleichzeitig auch kein HELPER (0b100 == 0) oder NEW (0b101 == 0).
    Man kann dann später unter A_OTHER auch andere Informationen speichern.
    Es gibt auch keine Probleme, falls man auch andere Variablen parallel zu den A_LEVEL oder A_OTHER führt, da
    Bitsetzungen lediglich ein Schalter in den Bits der einzelnen Variablen umlegt und somit nur eine Zahl zu der Variable addiert.


    Falls man ADMIN, SMOD und MOD auf 1 setzt, dann ist A_LEVEL als Wert: 6


    Admin abfragen (laut Code):
    // GetInfo(var, field)
    GetInfo(Player[playerid][A_LEVEL], ADMIN); // Man ist nur Admin, man ist kein SMOD zugleich.


    // PrintInfo(var, cap=31)
    PrintInfo(Player[playerid][A_LEVEL], NEW); // Den Inhalt in der Konsole ausgeben (bis NEW [=5]).



    Download:
    Dropbox
    Pastebin


    Freundliche Grüße
    ioRawr


    P. S. Falls jemand ein Fehler bzw. Bug findet, dann bitte melden!