Zitat Zitat von Manni_the_Dark
Dann überprüfst du halt bei nächsten Mal, wenn er sich einloggt, ob das Gebäude fertig ist. Das muss nicht "live" sein. Das ist nicht nötig, weil, wenn niemand die Daten sehen will (zB ob ein Gebäude fertig ist), müssen diese Daten garnicht existieren...
Ich erklärs mal genauer.

Also, wir haben 0.00 Uhr Serverzeit.
User A baut sich ein Haus aus Papier, braucht dafür "5 Stunden".

10 Stunden ruft keiner das Browser Game auf, da irgend ein ultimatives Event auf der Welt die gleichnahmige (die Welt) in Atem hällt.

Nach 10 Stunden (Haus ist also schon 5 Stunden fertig) geht User XY Online bei Dir im Game.

Der Server prüft nach:

Letzte Akutalisierung: 0.00Uhr
Momentane Uhrzeit: 10Uhr

User A: Hausbau - Angefangen: 0.00 Uhr Serverzeit
Vergleich: 10.00 Uhr Serverzeit
Hausbau braucht 5 Stunden
-> speichert in MYSQL das das Haus schon 5 Stunden fertig gebaut ist und gibt das auch aus, wenn das Haus aufgerufen wird in irgendeiner Form.

Wenn "Papier Haus" +3 Blätterkenntnis ergibt pro Stunde, dann rechnet der Server weiter:
Vor 5 STunden haus gebaut.
Vergangene Stunden seit letztem MYSQL Speichern: 5 Stunden

UserA: Bonus für "Papier Haus" = 5*3 Blätterkenntnis
Speichere: UserA+ 15 Blätterkenntnis

Hoffe das das einigermasen verständlich its. XD

Das wäre eine Variante, ist wahrscheinlich aber nicht die Ressourcen schonendste, aber wegen so einen Problem brauchste keinen Cronjob, denn würde ich eher für "Sekunden genaue E-Mail" Versand- Operationen verwenden.

Dennis