[RESOLU][php][javascript]faire un timer

Bonjour tout le monde !

je vais faire simple:

-Imaginez un jeu genre RPG, vous avez une flotte de bataille
-Le dit jeu se deroule sur le net, chacun a sa flotte
-Imaginez maintenant qu’un GARS X veut attaquer un gars Y , le temps qu’il atteigne l’autre gus, il peut se passer 5-10h réel …

COmment faire pour que lorsque le gars clique sur “PETER LA GUEULE A Y”, le serveur lance le script d’attaque dans 10h ???

merci d’avace beaucoup pour vos réponses

Baptiste

Oublie la notion de timer, on n’est pas dans un langage événementiel.

Il faut plutôt “marquer” (en base de données par exemple) le moment où le joueur lance l’attaque et définir d’une durée de validité, puis au prochain chargement de la page, si le délai est atteint et/ou dépassé, “lancer” l’attaque et simuler les résultats à ce moment là seulement.

Bienvenue dans le monde de la prog’ web… B)

merci pour la reponse, j’en demande pas plus B)

Si t’as du contrôle sur ton serveur tu peux aussi chercher du côté de CRON mais ça dépend vraiment de ce que tu veux faire et comment tu l’impléments. (si personne va sur la page qui vérifie que 10 heures sont passées, que va-t-il se passer pour les autres états?)

justement, le principe c’est de stocker une liste de tous les événements qui doivent se dérouler plus tard, et à chaque fois que quelqu’un charge une page, on passe en revue les événements dont la date d’activation est inférieure au moment présent.

on effectue alors d’un seul coup tous les traitements relatifs à chacun de ces événements, en simulant le fait qu’ils se soint déroulés à l’heure précisée. et hop, ni vu ni connu, le joueur a l’impression que sa flott a attaqué à 6h du matin, alors qu’à cette heure là il ne s’est rien passé et que l’attaque n’a été traitée que plusieurs heures plus tard.

de la même manière, on petu simuler des événements partiels: si l’attaque doit se produire au bout de 10 heures, et que le joueur se connecte au bout de 4 heures, on va calculer l’emplacement de sa flotte comme étant à 4/10 du chemin entre son point de départ et son point d’arrivée. le serveur aura traité ça comme un seul changement de position effectué à une heure précise, tandis que le joueur aura l’impression que sa flotte s’est déplacée à vitesse constante durant plusieurs heures.

Tu veux reprendre le principe d’Ogame ?

Si c’est ce genre de trucs que tu veux faire, effectivement ca fonctionne comme le dit Rabban, à priori…
En tout cas, l’ébauche d’étude que j’en avais fait tombait sur ses mêmes conclusions.

GL à toi en tout cas !