Aide systeme de ressources - Version imprimable +- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org) +-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38) +--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51) +--- Sujet : Aide systeme de ressources (/showthread.php?tid=4898) |
Aide systeme de ressources - LoKeD - 10-06-2010 Bonsoir à tous et à toutes, Je viens requérir votre aide pour un script de système de gains de ressources ! voici mon script : Code PHP :
Ma table SQL pour la date : `date_heure` datetime NOT NULL, Déjà le problème N°1 : Il ne trouve pas la requête SQL ! Il m'affiche ceci dans le else : <gras>- - 0000-00-00 00:00:00</gras> Alors qu'il devrais y avoir ceci : <gras>- Pseudo - YYYY-mm-dd H:i</gras> mais vue qu'il trouverais le else n'y serais pas ! donc il devrait continuer dans le if. J'espère que vous comprenez jusque là ^^ Ensuite second problème je sais pas comment faire une différence de date afin de pouvoir faire : Lorsque le joueur se connecte, si il c'est pas connecté depuis 5 heures, et bien cela multiplie les gains de ressources*5 ! Merci d'avance pour votre aide ! Et désolé si mon script est beaucoup en bordel ! xD j'ai malheureusement pris l'habitude de coder comme ceci . RE: Aide systeme de ressources - php_addict - 10-06-2010 (10-06-2010, 03:24 AM)LoKeD a écrit : Déjà le problème N°1 : Il ne trouve pas la requête SQL ! cela doit être parce que ta requete n'est pas bonne tout simplement... (10-06-2010, 03:24 AM)LoKeD a écrit : Ensuite second problème je sais pas comment faire une différence de date afin de pouvoir faire : euh ben une multiplication par 5 ? regarde le wiki -> http://wiki.jeuweb.org/tutoprog/ressources_temps_reel il te faut un timestamp de la derniere actualisation de tes ressource, apres quoi tu calcul tes ressource par rapport a ce dernier timestamp et le timestamps auquel tu veux afficher tes ressources. RE: Aide systeme de ressources - LoKeD - 10-06-2010 Merci de ta réponse ^^ pour ce qui est du problème N°1, lorsque j'enleve le DATEDIFF la requête marche, donc cela doit venir de cela, mais où est le problème du datediff ?? Oo car j'utilise le même système pour un autres de mes site ! et cela marche parfaitement. Ou alors la table date_heure est mal configuré. Pour le gains de ressources, je dois changer ma table en timestamp pour plus qu'elle ne soit au format YYYY-mm-dd HH:iis ?? RE: Aide systeme de ressources - php_addict - 10-06-2010 (10-06-2010, 10:13 AM)LoKeD a écrit : Pour le gains de ressources, je dois changer ma table en timestamp pour plus qu'elle ne soit au format YYYY-mm-dd HH:iis ?? euh je sais pas, je n'utilises pas DATEDIFF , mon champ "time_stamp" est un simple INT , c'est plus facile pour faire des calculs certainement... RE: Aide systeme de ressources - LoKeD - 10-06-2010 Je vais essayer de la même manière que tu procède , je redis ce que ça donne ^^ Cela à l'air de bien marcher merci =) EDIT : maintenant le seul problème ! c'est pour rajouter 1heure au timestamp ^^ j'ai essayé : $heur_add = 60*60; $heure = time('H', +$heur_add); ET $heure = time()+$heur_add; Et $heure = time()+time('H', +$heur_add); Mais rien n'y fait EDIT2 : Problème réglé, encore un soucis voici comment j'ai prossédé : $ecart = $date_now - $date_bdd; if($ecart >= 0) { // scripts } mais le problème, c'est que si l'écart ets de 2 ou 3 ou plus, cela mutliplie les gains x2, x3 ou plus ! donc comment régler ce problème ? faire des gains par secondes, ou y a t-il un moyen de remédier à cela ^^ merci d'avance, RE: Aide systeme de ressources - Sephi-Chan - 10-06-2010 Je te déconseille d'utiliser des timestamp sous forme d'entiers. En effet, les systèmes de base de données disposent de plusieurs fonctions pour gérer les dates et le temps : autant les utiliser, c'est plus efficace et c'est ça de moins à écrire soit-même. Bien sur, ça implique de se documenter… MySQL — Date and time functions. Sephi-Chan RE: Aide systeme de ressources - LoKeD - 10-06-2010 Merci pour m'avoir aidé ^^ à vous deux, j'ai réussi à réglé mon problème ^^ Les gains ne sont pas en temps réel mais c'est déjà un début et une nouvelle connaissance pour ma par ^^ j'ai procédé comme ceci, au cas ou quelqu'un serait intéressé ! Code PHP :
Et voilà ^^ c'est assez "bordel" j'avoue |