Fais-le en JS pour quand le joueur est connecté (histoire de garder le côté "instantané" pour le joueur).
Lorsqu'il n'est pas connecté, enregistre la date de sa dernière action, et à la date suivante, fais le calcul.
Par exemple, tu me donnes, à moi joueur, 5 écus par heure. Tu sais que ma dernière action "connectée" a eu lieu à 6h ce matin. Mon action suivante (ma reconnexion, par exemple), a eu lieu à 19h. 19-6 = 13 (tu peux compter 12 en fonction de ta façon de distribuer, si j'ai eu mes pièces de 6h00), et donc tu me dois 13*5 écus.
Ce sera beaucoup plus simple à mettre en place que de te lancer dans des cron et tout le bordel.
Bonjour a tous et toutes,
Voici mon "soucis"
J'aimerai toutes les heures ajouter X ressources a tout les joueurs (meme si celui ci n'est pas connecte).
Je sais que en js il y a moyen de le faire a condition que le joueur soit connecte, mais y aurait il aussi moyen de le faire si le joueur n est pas connecter?
Merci d avance de vos reponses.
P.S. je travail avec cakephp
9 réponses
Je pense que le plus raisonnable est d'utiliser un crontab (tâche automatisée) sur le serveur. A tout moment tu dois pouvoir savoir quelles sont les ressources d'un joueur et ce que propose Leny est problématique : si tu as des interactions entre les joueurs tu n'auras jamais les vrais chiffres en bdd tant que tout les joueurs ne se sont pas connectés au même moment=dans la même tranche horaire] et je ne t'explique par la complexité du code pour tout recalculer.
Ah oui, effectivement, si des intéractions sont possibles entre des joueurs connectés et des joueurs non-connectés, de fait, ma solution n'est plus viable (même si elle restait plus simple).
Du coup, la seule solution reste le passage par du cron.
Le cron est il difficile a apprendre? De ce que je peux en voir il suffirait que grace a cela, je fasse executer un script specifique en php qui lui va gerer tout ca tout les X temps
Tu as quel type d'hébergement ? Chez quel hébergeur te trouves tu ? As-tu un accès SSH sur ton hébergement ?
Un tuto intéressant ici. Dans les grandes lignes, cron, c'est assez facile, c'est juste une syntaxe toute simple.
Mais comme le dit deblan, si t'as pas accès en ssh à ton hébergement, c'est peine perdue.
Il existe des services qui permettent de définir une page à appeler tout les X temps (à l'époque webcron, mais c'est devenu payant je crois).
Edit : http://webcron.org/fr/tarifs étant donné les tarifs, on peut sans problème se reposer sur lui sans se ruiner :)
En tout cas un enorme merci pour votre aide.
Je suis chez planethoster (un hebergeur canadien) et je compte prendre un serveur dedie mais je vais faire attention a bien prendre un avec accès SSH.
webcron est obligatoire pour appeller une page tout les X temps ou c est juste un outil pour avoir plus facile?
Si tu as un dédié, tu pourras le configurer dessus.