Nach Disconnect speichert keine Daten

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
  • Dann zeig uns doch mal die Methode, mit der du das aus der Datenbank lädst. Vielleicht wäre es auch schlau für dich dir mal ein MySQL Tutorial anzuschauen.

    Wie oft soll ich dass denn noch sagen?

    Habe alles was ich im Script benutze von hier, da unterscheidet sich nix. [jTuT] MySQL R41-4 (Installation, XAMPP, Verwendung, Bedienung & Registrations-System)

    Denke es ändert sich nix ob ich nun den Link davon kopiere oder mein eigenes reinstelle, da es keine Veränderungen bisher gab.

  • Wenn du es genau so gemacht hast würde es ja funktionieren^^

    Also entweder du postest das oder man kann dir halt nicht helfen, ganz einfach Geschichte

    • Offizieller Beitrag

    Die Werte werden doch in die Variable geschrieben oder wo ist das Problem?

    Also du willst Werte in die DB Speichern, hast aber keine, dann willst du welche Auslesen, machst es aber verwendest sie nie. Verstehe jetzt dein Problem nicht^^

  • Die Werte werden doch in die Variable geschrieben oder wo ist das Problem?

    Also du willst Werte in die DB Speichern, hast aber keine, dann willst du welche Auslesen, machst es aber verwendest sie nie. Verstehe jetzt dein Problem nicht^^

    Problem is das die Daten nicht in der DB abgespeichert werden, und wie es aussieht ist auch der Error nun nicht mehr da.

    z.B ich setze mir +1 Score und 5000 Money.. nach dem Ausloggen wird überhaupt nix in die Datenbank abgespeichert, das frage ich mich.

  • das frage ich mich

    The answer my friend is hiding in the logs, the answer is hiding in the logs.



    So einfach mysql_log(ALL); aktivieren und hier einfach den Log zeigen :)

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • The answer my friend is hiding in the logs, the answer is hiding in the logs.



    So einfach mysql_log(ALL); aktivieren und hier einfach den Log zeigen :)

    • Offizieller Beitrag

    Wie fülle ich die denn? ^^

    Beispielsweise wenn du das Level setzt nicht nur SetPlayerScore(playerid, 5); werdenden, sondern zusätzlich auch PlayerInfo[playerid][pLevel] = 5;

    Oder beim Geld das selbe. Für die Zukunft bieten sich solche Funktionen dann immer an, dort ist direkt alles geregelt.


  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Beispielsweise wenn du das Level setzt nicht nur SetPlayerScore(playerid, 5); werdenden, sondern zusätzlich auch PlayerInfo[playerid][pLevel] = 5;

    Oder beim Geld das selbe. Für die Zukunft bieten sich solche Funktionen dann immer an, dort ist direkt alles geregelt.


    Ich meine jetzt z.B Ingame.. Ich bekomme 500 Money durch den Job.. nun, sobald ich mich auslogge soll dieser Wert.. "500" unter Money abgespeichert werden wofür ja scheinbar SaveUser.. da sein soll.. Aber der Wert wird nicht abgespeichert und somit auch nicht beim wieder einloggen abgerufen

  • Aber der Wert wird nicht abgespeichert und somit auch nicht beim wieder einloggen abgerufen

    Dann erzähl uns doch, was und wie es passiert, indem du uns den Log zeigst oder präzise angaben machst, was überall passiert alias print setzt :)

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • So, hab es nun einigermaßen verstanden, ich dachte.. das sofort alles was du bekommst auch in die DB mit abgespeichert wird.. also man nicht das noch reinspeichern müsste.


    //edit:

    Dann musst du die Variable pLevel um 500 direkt erhöhen, dann klappt das mit dem Speichern auch


    Hab ein kleines Problem.. Wenn ich bei OnPlayerSpawn

    PlayerInfo[playerid][pLevel] = 1;

    schreibe, dann draufjoine wird nix in der Datenbank gesetzt, warum?


    Einmal editiert, zuletzt von Grey ()

  • Ich möchte nur mal kurz darauf hinweisen dass es dir überhaupt nichts bringt MD5 oder sonst irgendetwas zu benutzen. wenn deine Logdatei im Nachhinein so aussieht.

  • Ich möchte nur mal kurz darauf hinweisen dass es dir überhaupt nichts bringt MD5 oder sonst irgendetwas zu benutzen. wenn deine Logdatei im Nachhinein so aussieht.

    Nur ums kurz anzumerken, MD5 bringt generell nichts mehr.


    Grey Wenn dich das Thema näher interessiert, was das eigentlich alles ist: Hash Verfahren genauer erklärt

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Kurzes Update..

    Funktioniert nun auch alles per MySQL. Für die, die es interessiert nachdem ich meinen Wert angegeben habe wird SaveUserStats aufgerufen. Falls jemand eine Idee hat wie ich das etwas leichter machen kann um nicht immer nach jedem Einsetzen eben das zu machen kann gerne die Idee drunter schreiben. Habe an einen Timer gedacht der jede Sekunde das ausführt. Frage mich aber ob das wirklich so "sicher" ist.

  • Ich würde keinen Timer verwenden, der jede Sekunde den Query der Accountspeicherung aufruft.
    Es reicht doch, wenn du den Spieler bei OnPlayerDisconnect(playerid, reason) sowie bei OnGameModeExit() speicherst.

    Dies sind die einzigen Funktionen, die aufgerufen werden, sollte der Spieler den Server verlassen oder der Server crashen.


    Wenn du es dir noch sicherer machen willst, erstell einen Timer, der die aktiven Spieler alle X Minuten speichert.

  • Ich würde keinen Timer verwenden, der jede Sekunde den Query der Accountspeicherung aufruft.
    Es reicht doch, wenn du den Spieler bei OnPlayerDisconnect(playerid, reason) sowie bei OnGameModeExit() speicherst.

    Dies sind die einzigen Funktionen, die aufgerufen werden, sollte der Spieler den Server verlassen oder der Server crashen.


    Wenn du es dir noch sicherer machen willst, erstell einen Timer, der die aktiven Spieler alle X Minuten speichert.

    Wenn es doch so klappen würde. Habe das natürlich schon in OnPlayerDisconnect stehen aber weiß Gott warum klappt das nicht, deswegen speichere ich es derzeit immer nach z.B PlayerInfo[playerid][pMoney] += 5 ab. Weil das klappt im Nachhinein.