23-08-2007, 02:58 PM
Bonjour tout le monde
Je viens d'arriver sur le forum et j'ai une petite question a propos du php plus précisement par rapport au timestamp iffle:
Je cherche a faire un jeu de startegie dans l'espace et...comment ??? sa s'apelle un ogame-like ??? euuuh...moi je compte ajoute mainte autre option que celle d'ogame :ange:
or je ne vois pas comment coder la production de ressource ...
alors euuuuh :heuu:
HELP ^^
historique des réponse que lon ma donné sur d'autre forum ( lisez sa pourrait vous éclairer :good: )
Je viens d'arriver sur le forum et j'ai une petite question a propos du php plus précisement par rapport au timestamp iffle:
Je cherche a faire un jeu de startegie dans l'espace et...comment ??? sa s'apelle un ogame-like ??? euuuh...moi je compte ajoute mainte autre option que celle d'ogame :ange:
or je ne vois pas comment coder la production de ressource ...
alors euuuuh :heuu:
HELP ^^
historique des réponse que lon ma donné sur d'autre forum ( lisez sa pourrait vous éclairer :good: )
Citation :----------------------------------------
Parce que bon... pour l'instant tu travaille en local, mais à partir du moment où ce sera en environnement productif (en-ligne) il faut prendre en compte les temps de chargement....
ce que tu peux faire à la rigueur c'est de sauver quelquepart (BDD par exemple) un certain "budget" (on parle bien d'argent... ) et quand il à été actualisé la dernière fois, puis dans ton navigateur tu fais tourner le tout en JS, et au moment où tu à besoin d'argent tu laisse ton serveur (et qu'à ce moment là en PHP) calculer le "vrai" solde du "compte" en ajoutant la somme qui devrait s'y trouver en fonction du temps... bon programmé de façon basique ça implique qu'un joueur qui ne joue pas reçois quand mm de l'argen, donc à toi de éfléchire pour affinner la chose....
Sinon tu peux imaginer un système de sécurité avec AJAX par exemple...
Vala
-----------------------
mémorise juste le timestamp de départ.
Par exemple il lance une construction, on mémorise le résultat de time() en base de données.
Quand il revient sur la page pour voir le temps qu'il lui reste, on se sert du timestamp mémorisé pour calculer et afficher le temps restant.
Si vous voulez que la construction soit validée sans que l'utilisateur ne se connecte (ou bien le salaire qui augmente ou je ne sais quoi d'autre), il faut un script qui s'exécute toutes les secondes (ou un peu plus si le serveur ne tient pas la route). Pour ça il faut éditer la crontab du serveur.
------------------------------------
Et ben tu prends le timestanp à un moment donné et tu l'enregistres ou bon te semble. Mettons qu'il vaille 155684426.
Ensuite, quand l'utilisateur/joueur reviens sur son compte, tu prends le timestamp actuel et tu fais la soustraction. Mettons qu'il vaille 155684996.
Fin - Début = 155684996 - 155684426 = 570
Tu n'as plus qu'a multiplier ce nombre par deux
---------------------------------------
l'utilisateur valide "je veux construire tel batiment".
La, tu fais $depart = time();
Tu mémorises $départ.
Au retour de l'utilisateur, tu fais time() - $depart. Ce résultat est un nombre de secondes à convertir, et il correspond au temps écoulé. Tu en fais ce que tu veux ^^
Pour le script automatique, pareil, il fait la différence entre time() et $depart. Si cette différence est égale à X heures (le temps de construction nécessaire), alors tu valides la construction.
Pour exécuter un script de manière périodique, il faut éditer un tableau du serveur, qui s'appelle "crontab". Je te laisse faire quelques recherches la dessus.
Si tu n'as pas la main sur le serveur, tu peux demander à ton hébergeur de le faire pour toi. Si c'est impossible, il existe toujours des sites externes à qui tu peux demander de t'exécuter périodiquement le script (suffit de leur donner l'url)