Beiträge von d30af26d

    Dafür musst du schon MySQL Befehle wissen.
    1. Datenbank anlegen
    2. Tabellenstruktur anlegen
    3. Queries entwerfen für bestimmte Funktionen
    4. Funktionen anlegen, die die Schnittstelle zwischen Tabelle und Script sein werden, um Vorgänge zu vereinfachen
    5. Häuser mit den Funktionen beim Start laden und beim Stop auch speichern
    6. Pickups und 3DTextLabel beim Laden erstellen
    7. Fähigkeit, in das Gebäude einzutreten (Vielleicht eine parallele Tabelle mit Interiors (wo der Spieler erscheinen soll, wenn er rein geht)
    8. Häuser kaufen, verkaufen, mieten (Tabelle mit Mietern)
    9 ...


    Du solltest schon wissen, welche Tabellenstruktur die Beste für dein Haussystem sein wird.
    Außerdem sind Tabellenplanungen ziemlich praktisch.

    Es sollte nur erklären, was ein Overflow ist und nicht die Dualzahlen. Außerdem würde es würde das Niveau übersteigen.
    Vielleicht werde ich noch ein Dualzahlen Tutorial machen.


    // > Warum gibt es Kapazitäten < hinzugefügt, da ihr es ja so wolltet.

    Hey ich will in meinem script haben dass oben rechts die RL uhrzeit steht


    Schlag doch mal die Tutorials Seite in diesem Forum auf. Auf der Seiten Seite solltest du 2 Tutorials vorfinden.

    Ein Beispiel mit Bits würde viel zu weit in die Computergeschehenisse eingehen und nur verwirrend für die Mitglieder hier sein.
    Ich müsste dann noch Dualzahlen erklären usw.

    Das heutige Thema lautet
    Overflow


    Das Wort scheint zuerst ziemlich unbekannt für Einige bzw. die Meisten hier zu sein.
    Beginnen wir zuerst, das Wort ins Deutsche zu übersetzen.
    Und was kommt nun bei der Google Übersetzung heraus?


    Überlauf


    Nun. Noch können Einige nichts damit anfangen. Hier mal ein kleines Beispiel:
    Du hast ein leeres Fass bzw eine Variable mit dem Inhalt 0.
    Du füllst das Fass mit Wasser bzw eine Variable mit Zahlen.
    Irgendwann hat das Fass jedoch genug Wasser und beginnt zu überlaufen bzw.
    die Variable geht über die maximalen Kapazitäten über und die Werte
    beginnen an zu spinnnen und stimmen nicht mehr überein.
    Nun, das wäre eigentlich schon die Erklärung.


    Welche Kapazitäten haben nun Integer bzw. normale "new" Variablen in Pawn?
    Von −2.147.483.648 bis 2.147.483.647.
    Wenn ihr nun hergeht und sagt, dass der neue Wert eurer Variable über dieser
    Grenze liegt (vielleicht ein Geldwert), dann beginnt der Wert an zu spinnen und
    zeigt vielleicht ein negativen Wert an.


    Warum haben Variablen Kapazitäten?
    In der Programmierung (C++/C/C#/...) gibt es verschiedene Datentypen mit
    unterschiedlichen Bytes-Größen. Sie dienen dazu, um nicht immer bei Speicherung
    von Zahlen Millionen von möglichen Werten zu erlauben, da dies ein Haufen von
    Bytes im Arbeitsspeicher verbraucht. Es wurden bestimmte Größen festgelegt und
    bei Integer hat man sich auf 4 Bytes (32 Bit = 4 Bytes = 4 * 8 Bit (1 Byte = 8 Bit)) geeinigt. Ein Integer
    ist gleichzusetzen mit dem "new", wie Ihr es in Pawn kennt.


    Könnte man da etwas machen?
    Ja, denn zum Beispiel bei Geld haben bereits die meisten Server eine serverseitige
    Verwaltung davon. In den Funktionen müsste nur eine if-Abfrage geschehen und
    die sollte auf eine parallele Variable bzw PVar zurückgreifen. Wenn wieder Geld
    abgezogen wird, dann zuerst überprüfen, ob Reste auf der PVar bzw. der parallelen
    Variable liegt und dann erst von der richtigen Geldquelle abziehen.


    Hier noch ein kleines Bild dazu, wie es bei Arrays aussieht (Quelle:(


    Nun das wars.
    Jetzt kennt ihr Overflow und seid glücklich, sofern ihr den ganzen Text gelesen habt und
    nicht nur 50% oder weniger wie bei meinem "Format" Tutorial.


    Freundliche Grüße
    - Necktrox