Zum aktuellen Datum zwei Tage dazuzählen, damit bestimmte Teile des Spieles erst ab diesem Zeitpunkt wieder gespielt werden können!

  • GM 8
  • Zum aktuellen Datum zwei Tage dazuzählen, damit bestimmte Teile des Spieles erst ab diesem Zeitpunkt wieder gespielt werden können!

    Hall Experten!

    Melde mich wieder einmal mit einer relativ simplen Angelegenheit. Es gelingt mir nicht, zu dem aktuellen Tag zwei Tage dazuzuzählen, dann die beiden Tage zu vergleichen und damit eine bestimmte Aktion auszulösen. (Die vielen Möglichkeiten in der Hilfe sind einfach verwirrend!)



    Kurz gesagt, Ein Teil des Spieles darf erst nach einer bestimmten Anzahl von Tagen wieder gespielt werden.



    Mir ist von euch Experten auf diesem Weg schon oft geholfen worden und ich bedanke mich sehr dafür.

    Vielleicht ist es auch diesmal möglich, mit eurer Hilfe das Problem rasch und effizient zu lösen.

    Ich danke euch schon mal im Voraus.



    Es Grüßt euch Hubsl
  • also es gibt doch glaub im gml so eine funktion die das heutige datum angibt...
    jedoch wird die zeit, glaub ich, vom system abgerufen, höchstwahrscheinlich xD
    so da man die zeit ja ändern kann :D würde sich die zeit im Spiel theoretisch auch ändern...

    alles nur theorie ich bin mir jetzt nicht sicher, bitte einfach nur ausbessern...
    also daher glaub ich nicht das das möglich ist


    MfG Rodrog
    Je mehr Käse, desto mehr Löcher.
    Je mehr Löcher, desto weniger Käse.
    Ergo: Je mehr Käse, desto weniger Käse.
  • Wenn es ein größeres Spiel ist würds wohl net so auffallen, von wegen Spieltransparenz, wenn man das aktuelle Datum ausliest, per DLL irgendwo hochlädt und beim Spielstart runterlädt und dann kontrolliert, ob 2 Tage dazwischen liegen.

    Aber das ist dann auch etwas weit hergeholt.
    Aktuelles Projekt: Aufbau - Strategiespiel.
    Aktueller Entwicklungsschritt: Planung | Grundengine entwickeln.

    Wichtig ist nicht, besser zu sein als alle anderen.
    Wichtig ist, besser zu sein als du gestern warst.





  • Danke für die Vorschläge.

    Ganz weitegeholfen ist mir damit leider noch nicht. DLL getraue ich mich eher nicht zu verwenden.(Habe ich noch nie gemacht, keine Ahnung wie man das anstellt).

    Werde einfach mit den vorhandenen date_*** Vorlagen experimentieren. Es gibt bestimmt eine relativ einfache Lösung.

    Zu sagen wäre noch, dass ja der PC in der Zwischenzeit ausgeschaltet werden kann.

    MfG Hubsl
  • du speicherst, wenn du den teil des spieles startest, der dann zwei tage lang nicht gespielt werden darf, das aktuelle datum in der registry: (Am besten im room_start event eines objektes)

    GML-Quellcode

    1. if (room == "rm_sperr") {
    2. registry_write_real("sperrdatum",date_current_date());
    3. }


    und bevor du den teil des spiels wieder startest, schaust du, ob es mehr als zwei tage her ist:

    GML-Quellcode

    1. if (registry_exists("sperrdatum")) {
    2. if (registry_read_real("sperrdatum")+2 < date_current_date()) {
    3. room_goto("rm_sperr");//hier gehst du zu dem teil, der nur alle zwei tage gespielt werden kann (in diesem fall der Room "rm_sperr").
    4. } else {
    5. show_message("Du hast diesen Teil des Spiels bereits in den letzten zwei Tagen gespielt!");
    6. }
    7. } else {
    8. room_goto("rm_sperr");//hier gehst du zu dem teil, der nur alle zwei tage gespielt werden kann (in diesem fall der Room "rm_sperr").
    9. }

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von J@kob ()

  • SUPER!

    Genau so habe ich mir das vorgestellt.

    Inzwischen habe ich eine ähnliche Variante ausgedacht.

    1.) Beim Beenden des Spielteiles, welcher erst in 2 Tagen wieder gespielt werden soll, werden dem aktuellen Datum 2 Tage

    dazugezählt und abschließend dieses Datum in einer Textdatei gespeichert.

    2.) Beim Start des Spieles wird dann das aktuelle Datum mit dem aus der gespeicherten Textdatei verglichen.

    Sobald 2 Tage verstrichen sind, kann dieser Spielteil dann wieder gespielt werden.



    Jedoch deine Variante mit der Registry finde ich sehr professionell.



    Danke, bis zum nächsten Problem

    MfG

    Hubsl
  • Einfach in ne txt-Datei ist aber sehr unsicher.
    Jeder kann dann die datei verarbeiten.
    Du müsstest den text wenigstens verschlüsseln.
    Die registry version ist aber eigentlich einfacher.
    ich meine dann brauchst du weder Datei noch sonstwas.

    Willst du auf diese Drachen und -eier klicken?
    Sie werden sich freuen ;)
  • Man braucht nur einen Webspace. denke per PHP sollte sowas realisierbar sein.
    In der Tutorial-Abteilung gibt es erklärungen dazu.

    Wenn das Datum jetzt noch verschlüsselt wird. Und zum Überprüfen das datum vom Server des Freespaces genommen wird.
    Sollte die methode absolut sicher sein.
    Allerdings sind dafür etwas mehr GML-Kentnisse nötig.

    Willst du auf diese Drachen und -eier klicken?
    Sie werden sich freuen ;)
  • die datumsüberprüfung mithilfe eines servers funktioniert theoretisch genau so nur sollte "date_current_date()" durch eine fuktion ersetzt werden, die das aktuelle datum vom server ausliest.
    Allerdings wäre das nur sinnvoll, wenn "schummeleien" zu erwarten und absolut unerwünscht wären und das spiel immer über eine internetverbindung verfügt.
  • Benutzer online 1

    1 Besucher