Salut,
je ne comprends pas pourquoi date("s")? Cela te renverra le nombre de secondes de l'heure actuelle, et je ne comprends pas trop ce que cela vient faire ici... Il te ramène donc à la date du jour car l'heure actuelle est du type 19:46:00 => date("s") vaut alors "0" et donc, time() + 7*date("s") vaut time()
Dans ton cas, il te faut une "ancre" temporelle, c'est à dire un timestamp T0 (réel) indiquant le moment à partir duquel le "boost" est appliqué. Ensuite, il suffit de faire la différence entre le timestamp actuel et ce T0, de la multiplier par ta vitesse d'avancement du temps, et d'ajouter cet écart à T0 pour trouver la nouvelle date ingame.
je ne comprends pas pourquoi date("s")? Cela te renverra le nombre de secondes de l'heure actuelle, et je ne comprends pas trop ce que cela vient faire ici... Il te ramène donc à la date du jour car l'heure actuelle est du type 19:46:00 => date("s") vaut alors "0" et donc, time() + 7*date("s") vaut time()
Dans ton cas, il te faut une "ancre" temporelle, c'est à dire un timestamp T0 (réel) indiquant le moment à partir duquel le "boost" est appliqué. Ensuite, il suffit de faire la différence entre le timestamp actuel et ce T0, de la multiplier par ta vitesse d'avancement du temps, et d'ajouter cet écart à T0 pour trouver la nouvelle date ingame.
Code PHP :
<?php
$dateIngame = date('d/m/Y H:i:s', $T0 + (time() - $T0)*7);
Attention: l'ancre T0 devra être réactualisée si tu changes la valeur du multiplicateur temporel un jour (ie: si tu passes de x7 à x10 le 1er Aout, alors le timestamp T0 sera la date du 1er Aout)