Fahrschule Scheine kaufen

  • Huhu,
    wenn man ein RadioButton anklickt und danach auf kaufen klickt, sollte man den Schein bekommen den man ausgewählt hat und der Preis dafür abgezogen werden vom derzeitigen Geld.
    Bei mir wird aber kein Geld abgezogen, aber man bekommt den Schein und nach einen Relog werden die Daten nicht abgespeichert für den Schein, obwohl es so sein sollte :S
    Das Script:


    Meine Frage wäre, wo der Fehler wäre.
    Als Fehlermeldung kommt:
    WARNING: reallifeserver/fahrschule/client.lua:98: Bad argument @ 'takePlayerMoney' [Expected number at argument 1, got nil]
    Muss man das vll. Serverseitig eintragen?
    Freue mich über Antworten.

  • Du hast "theplayer" genommen, versuch mal nur "player".


    Zu dem Speicherproblem, trägst du die ElementDatas denn auch anschließend mal in die DB?

    Zitat von Hadrev

    Ich glaube wir haben den Mailserver mit MySQL gemacht.

  • takePlayerMoney(Anzahl) sollte hier genügen, jedoch ist es nicht sehr Ratsam das mit dem Geld Clientseitig zu machen, da es bei mir immer nicht mit dem Server synchronisiert wurde.
    Wenn du nur setElementData benutzt, wird es außerdem auch nicht abgespeichert, denn sobald du den Server verlässt, werden deine ElementDatas für das PlayerElement(also DU) gelöscht.


    Du solltest dir eine Speicherfunktion mit einbauen, um die Daten abzuspeichern.

  • eine Speicherfunktion hab ich eingekauft, sobald man den Server verlässt, werde es aber dann mal serverseitig ausprobieren.
    Auslesen über getElementData geht, aber setElementData nicht so wirklich.

  • Hab nun:
    Client:


    Server:


    Aber es kommt nun der Fehler: WARNING: reallifeserver/fahrschule/server.lua:12: Bad argument @ 'getElementData' [Expected number at argument 1, got nil]
    Wenn ich takePlayerMoney eintrage, kommt der gleiche Fehler nur halt mit takePlayerMoney :(

  • Lua
    if getElementData(localPlayer,"Fuehrerschein") == "Nein" then


    anstatt


    Lua
    if getElementData(player,"Fuehrerschein") == "Nein" then


    Oder hast du Player definiert?



    Lua
    takePlayerMoney ( führerscheinkosten ) --ohne Player im Clientseitigem
  • danke, wenn ich aber setElementData im serverseitigen eintrage kommt der fehler wieder und beim clientseitigen nicht, aber beim clientseitigen wird dann das Geld und der Schein nicht gespeichert.

    Lua
    function buyFuehrerschein()
    setElementData(player,"Fuehrerschein","Ja")
    outputChatBox("Du hast den Führerschein gekauft",player,255,0,0)
    end
    addEvent("buyFuehrerschein",true)
    addEventHandler("buyFuehrerschein",getRootElement(),buyFuehrerschein)

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!