Code:
$startzeit = $anfang; # Zeit 'startzeit' aus DB
$aktuellezeit = time(); # aktuellezeit = time();
$baudauer = $dauer; # Zeit 'baudauer' aus DB
$bauanzahl = $anzahl; # Anzahl aus DB
$eta_bauende = $baudauer*$bauanzahl+$startzeit;
if($aktuellezeit < $eta_bauende) {
$differenz = $aktuellezeit-$startzeit;
for($x=0;$x<$bauanzahl;$x++) {
if($differenz >= $baudauer) {
$differenz = $differenz-$baudauer;
$z++;
}
}
$neue_startzeit = ($z*$baudauer) + $startzeit;
$neue_bauanzahl = $bauanzahl-$z;
Da das für alle Spieler gleichzeitig ausgewertet wird, befindet sich dieser Schnipsel
in einer Schleife. Nach dem Schnipsel folgt die Speicherung in der DB.
Nun zum Problem: Es kommt vor das auf einmal Minus Einheiten gespeichert werden,
was natürlich nicht sein kann, manchmal auch die Zeit. Leider haben bislang alle
Problemlösungsversuche nicht gewirkt.
Hat jemand nen Verbesserungsvorschlag?