Zeitmanager Spiele
Übersicht

![]() |
Mathias-KwiatkowskiBetreff: Zeitmanager Spiele |
![]() Antworten mit Zitat ![]() |
---|---|---|
hi, leute wenn ich nun eine art spiel mach was auf zeit basiert, geh ich von der realen zeit aus die vergangen ist.
nun da jeder sein pc neustartet oder auch über nacht aus schaltet würde ich gern wissen wie kann ich die vergangene zeit erlesen? mein plan war currenttime und currentdate zu verwenden um auszulesen wieviel zeit vergangen ist, kann man es so machen oder gibt es da klevere lösungen? danke für idden^^ |
||
Skype: Anarchie1984
http://projektworks.de/maxbase/ Icq - Erneuert am 21.08.2017 Yahoo - Erneuert am 21.08.2017 |
![]() |
Hubsi |
![]() Antworten mit Zitat ![]() |
---|---|---|
Benutze die Unixzeit. So ist es schwer zu manipulieren. Dein Spiel setzt damit aber auch eine Internetverbindung voraus. Ist wahrscheinlich schwer einen Spieler ohne zu finden, der Vollständigkeit halber seis aber erwähnt ![]() |
||
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn... |
![]() |
Mathias-Kwiatkowski |
![]() Antworten mit Zitat ![]() |
---|---|---|
wie genau geht es mit der unix zeit? gibts dazu bsp? oder kannst du beschreiben wie du es meinst? | ||
Skype: Anarchie1984
http://projektworks.de/maxbase/ Icq - Erneuert am 21.08.2017 Yahoo - Erneuert am 21.08.2017 |
![]() |
Hubsi |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du holst Dir beim Spielstart von einem php-Script
Code: [AUSKLAPPEN] <?php
echo time(); // So oder so ähnlich ?> (Bmax-Code hab ich dazu keinen, hab selbst noch kein Max-Proggi mit dem Internet verbunden) den aktuellen Timestamp ( https://de.wikipedia.org/wiki/Unixzeit ) und weißt damit wieviel Sekunden seit dem letzten Abgleich vergangen sind. Zum Ende des Spiels wird dann die vergangene Zeit aufaddiert und gespeichert und beim nächsten Start... siehe oben ![]() |
||
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn... |
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ob man die aktuelle Zeit vom Betriebssystem selbst holt und CurrentTime![]() ![]() |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
![]() |
Hubsi |
![]() Antworten mit Zitat ![]() |
---|---|---|
Mein Gedanke ging da in Richtung cheaten, bzw. im blödesten Falle nichtmal bewusst cheaten sondern eine schlicht nicht korrekte Einstellung von Datum und/oder Zeit am Computer. Wenn da von der vergangen Zeit wegen meiner eine Entwicklung einer Einheit oder Stadt oder whatever abhängt kann ich dem Spiel vorgaukeln es seien schon 2 Wochen vergangen und hab schwuppdiwupp einen mega-überbewaffneten-unbesiegbaren Soldaten oder im umgekehrten Fall nach wirklich 2 Wochen einen totalen Luschen-Panzer. Beides nicht fair ![]() |
||
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn... |
![]() |
DAK |
![]() Antworten mit Zitat ![]() |
---|---|---|
Eine Möglichkeit für Netzwerkzeit, für die du keinen eigenen Server brauchst, ist die Uhrzeit von einem der vielen Atomuhr-Webseiten abzufragen, wie z.B. https://time.is/s/. Der erste Zahlenwert ist die aktuelle Uhrzeit in Millisekunden.
Da hast du die Vorteile, dass es sehr genau ist, sich vom Nutzer nicht manipulieren lässt und auch einer fehlerhafte Real Time Clock am Computer fällt hier nicht ins Gewicht. |
||
Gewinner der 6. und der 68. BlitzCodeCompo |
![]() |
count-doku |
![]() Antworten mit Zitat ![]() |
---|---|---|
Die Idee mit der Unixzeit ist gut, wobei ich bezüglich der Manipulierbarkeit anmerken möchte,
dass selbst wenn du die aktuelle Uhrzeit aus einer vergleichsweise zuverlässigen Quelle holst, aber die Zeit, wann das Spiel zuletzt lief auf dem Rechner abspeicherst natürlich auch die Speicherdatei manipuliert werden kann. Nur so als Anregung - man könnte auch mit Wireshark mitschneiden von wo die Uhrzeit abgerufen wird und dann über eine entsprechende Umleitung in der Hosts Datei seine eigene Uhrzeit vorschalten ![]() Also wirklich safe wirds nie werden ![]() lg, count-doku |
||
![]() |
Hubsi |
![]() Antworten mit Zitat ![]() |
---|---|---|
Edit: Ersten Abschnitt rausgenommen, das war Blödsinn ![]() Da könnte man vielleicht noch die Zeitgeschichten direkt im Netz speichern in einer Datenbank mit einer eindeutigen Kennung. Man müsste sich quasi registrieren um das Spiel ernsthaft spielen zu können. Da gilt es wohl sich schon zu Beginn des Projekts zu entscheiden wie wichtig einem die Cheatsicherheit ist ![]() |
||
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn... |
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Bitte macht nicht die gleichen Fehler wie größere Publisher und baut always-online single player Spiele... In euren Spielen wird nicht gecheatet. Dazu müssen sie erst mal existieren - und das werden sie nicht, wenn ihr noch nutzloses Netzwerkzeug obendrauf programmieren müsst. Wenn ihr euren eigenen Server unterhaltet: Wie viele Monate kann man das Spiel dann noch ausprobieren, bis gar nichts mehr geht? | ||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
![]() |
Mathias-Kwiatkowski |
![]() Antworten mit Zitat ![]() |
---|---|---|
also das meine problem wird das selbe sein, es soll offline spielbar sein. definitief. cheat is auch möglich wenn man das php script ansteuert das angekommene umzuwandeln, ...
mein eigentliches problem besteht darin es richtig umzusetzen um zu sehen wieviel zeit vergangen ist, bleibt es bsp. der selbe tag is es ja einfach neue zeit - alte zeit aber wie macht man es mit den tagen genau? z.b. 1.Jan.2017 20:04 würd bei mir umgewandelt werden in 2017112004 nun der nächste tag 2.jan.2017 13:00 1220171300 dann das 2 minus das erste. aber so gehts auch nich, oder? ich bin mir da ehr unsicher, wie ich es machen soll, sprich den genauen weg zu gehen. wieviel sek vergangen sind... |
||
Skype: Anarchie1984
http://projektworks.de/maxbase/ Icq - Erneuert am 21.08.2017 Yahoo - Erneuert am 21.08.2017 |
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Alle Zahlenwerte von verschiedenen Zeiteinheiten hintereinander zu konkatenieren wird dir ziemlich sicher nichts bringen. Schreibe dir ein DateTimeType, der Jahr, Monat, Tag usw. enthält und eine differenz-Methode, die ein zweites Objekt diesen Typs akzeptiert. Dann kannst du die Eigenschaften einzeln subtrahieren und ggf. in die vergangenen Sekunden umrechen, oder was du halt brauchst. | ||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Brucey hat da was gemacht:
*klick* Wie immer gewohnt gute Qualität. Berechnung von Zeitdifferenzen etc. Da sollte alles drin sein was Du brauchst. |
||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
![]() |
FireballFlame |
![]() Antworten mit Zitat ![]() |
---|---|---|
BladeRunner hat Folgendes geschrieben: Brucey hat da was gemacht:
*klick* Während es dort kurze Beschreibungen zu den Modulen gibt, ist die Seite schon lange nicht mehr aktuell. Ich empfehle, DateTime (und andere BaH-Module) von hier herunterzuladen, dort bekommt man die jeweils neuesten Versionen. |
||
PC: Intel Core i7 @ 4x2.93GHz | 6 GB RAM | Nvidia GeForce GT 440 | Desktop 2x1280x1024px | Windows 7 Professional 64bit
Laptop: Intel Core i7 @ 4x2.00GHz | 8 GB RAM | Nvidia GeForce GT 540M | Desktop 1366x768px | Windows 7 Home Premium 64bit |
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Die Seite verweist ja auf das Github ![]() |
||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
![]() |
FireballFlame |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ja aber nur indirekt über die GoogleCode-Links. Bei DateTime z.B. steht da aber ein Direktlink zu einer uralten Version, da wäre das leicht zu übersehen. Viele neuere Module sind auf der Seite auch gar nicht gelistet. | ||
PC: Intel Core i7 @ 4x2.93GHz | 6 GB RAM | Nvidia GeForce GT 440 | Desktop 2x1280x1024px | Windows 7 Professional 64bit
Laptop: Intel Core i7 @ 4x2.00GHz | 8 GB RAM | Nvidia GeForce GT 540M | Desktop 1366x768px | Windows 7 Home Premium 64bit |
![]() |
Mathias-Kwiatkowski |
![]() Antworten mit Zitat ![]() |
---|---|---|
mhh die frage bleibt eigentlich die selbe, da das modul, nich ausführbar ist.
Build Modules: Code: [AUSKLAPPEN] C:/BlitzMax/mod/bah.mod/datetime.mod/glue.cpp:28:51: boost/date_time/gregorian/gregorian.hpp: No such file or directory C:/BlitzMax/mod/bah.mod/datetime.mod/glue.cpp:29:53: boost/date_time/posix_time/posix_time.hpp: No such file or directory C:/BlitzMax/mod/bah.mod/datetime.mod/glue.cpp:30:53: boost/date_time/local_time/local_time.hpp: No such file or directory C:/BlitzMax/mod/bah.mod/datetime.mod/glue.cpp:32:28: boost/locale.hpp: No such file or directory C:/BlitzMax/mod/bah.mod/datetime.mod/glue.cpp:38: error: `boost' has not been declared C:/BlitzMax/mod/bah.mod/datetime.mod/glue.cpp:38: error: `posix_time' is not a namespace-name C:/BlitzMax/mod/bah.mod/datetime.mod/glue.cpp:38: error: expected namespace-name before ';' token C:/BlitzMax/mod/bah.mod/datetime.mod/glue.cpp:39: error: `boost' has not been declared C:/BlitzMax/mod/bah.mod/datetime.mod/glue.cpp:39: error: `gregorian' is not a namespace-name C:/BlitzMax/mod/bah.mod/datetime.mod/glue.cpp:39: error: expected namespace-name before ';' token C:/BlitzMax/mod/bah.mod/datetime.mod/glue.cpp:40: error: `boost' has not been declared C:/BlitzMax/mod/bah.mod/datetime.mod/glue.cpp:40: error: `local_time' is not a namespace-name C:/BlitzMax/mod/bah.mod/datetime.mod/glue.cpp:40: error: expected namespace-name before ';' token C:/BlitzMax/mod/bah.mod/datetime.mod/glue.cpp:44: error: expected constructor, destructor, or type conversion before '*' token C:/BlitzMax/mod/bah.mod/datetime.mod/glue.cpp:45: error: expected constructor, destructor, or type conversion before '*' token C:/BlitzMax/mod/bah.mod/datetime.mod/glue.cpp:47: error: expected constructor, destructor, or type conversion before '*' token C:/BlitzMax/mod/bah.mod/datetime.mod/glue.cpp:48: error: variable or field `bmx_datetime_delete' declared void C:/BlitzMax/mod/bah.mod/datetime.mod/glue.cpp:48: error: `date' was not declared in this scope C:/BlitzMax/mod/bah.mod/datetime.mod/glue.cpp:48: error: `d' was not declared in this scope C:/BlitzMax/mod/bah.mod/datetime.mod/glue.cpp:50: error: `date' was not declared in this scope C:/BlitzMax/mod/bah.mod/datetime.mod/glue.cpp:50: error: `myDate' was not declared in this scope C:/BlitzMax/mod/bah.mod/datetime.mod/glue.cpp:50: error: `date' was not declared in this scope C:/BlitzMax/mod/bah.mod/datetime.mod/glue.cpp:50: error: `yourDate' was not declared in this scope C:/BlitzMax/mod/bah.mod/datetime.mod/glue.cpp:50: error: initializer expression list treated as compound expression C:/BlitzMax/mod/bah.mod/datetime.mod/glue.cpp:51: error: `date' was not declared in this scope C:/BlitzMax/mod/bah.mod/datetime.mod/glue.cpp:51: error: `myDate' was not declared in this scope C:/BlitzMax/mod/bah.mod/datetime.mod/glue.cpp:51: error: `date' was not declared in this scope C:/BlitzMax/mod/bah.mod/datetime.mod/glue.cpp:51: error: `yourDate' was not declared in this scope C:/BlitzMax/mod/bah.mod/datetime.mod/glue.cpp:51: error: initializer expression list treated as compound expression C:/BlitzMax/mod/bah.mod/datetime.mod/glue.cpp:52: error: `date' was not declared in this scope C:/BlitzMax/mod/bah.mod/datetime.mod/glue.cpp:52: error: `myDate' was not declared in this scope C:/BlitzMax/mod/bah.mod/datetime.mod/glue.cpp:52: error: `date' was not declared in this scope C:/BlitzMax/mod/bah.mod/datetime.mod/glue.cpp:52: error: `yourDate' was not declared in this scope C:/BlitzMax/mod/bah.mod/datetime.mod/glue.cpp:52: error: initializer expression list treated as compound expression C:/BlitzMax/mod/bah.mod/datetime.mod/glue.cpp:54: error: `date' was not declared in this scope C:/BlitzMax/mod/bah.mod/datetime.mod/glue.cpp:54: error: `d' was not declared in this scope C:/BlitzMax/mod/bah.mod/datetime.mod/glue.cpp:55: error: `date' was not declared in this scope Build Error: failed to compile C:/BlitzMax/mod/bah.mod/datetime.mod/glue.cpp die glue.cpp ist allerdings vorhanden in C:\BlitzMax\mod\bah.mod\datetime.mod |
||
Skype: Anarchie1984
http://projektworks.de/maxbase/ Icq - Erneuert am 21.08.2017 Yahoo - Erneuert am 21.08.2017 |
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das datetime-Modul setzt Bruceys Boost-Module (und die passende Lib) voraus. Wird eigentlich auf Github auch erklärt bzw. ist in den Docs zu lesen. | ||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group