JeuWeb - Crée ton jeu par navigateur
Bug script tours par tours - 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 : Bug script tours par tours (/showthread.php?tid=5002)

Pages : 1 2


RE: Bug script tours par tours - vulcain - 22-07-2010

Oui je comprends parfaitement Wink ,

plus haut j'avais mit le script modifié, je ne pense pas que tu l'ai vu Smile
Code PHP :
<?php
//Je cherche le timestamp enregistré dans ma BDD et les infos des membres
$reponse = mysql_query("SELECT timestamp FROM inscription")or die (mysql_error());
$timestampbdd = mysql_fetch_array($reponse);
//Maintenant les info des membres
$reponse_membres = mysql_query("SELECT pseudo, ors, tours FROM inscription") or dir (mysql_error());
// Maintenant le timestap actuel
$temps_actuel = time();
//Maintenant combien de temps y c'est écoulé
$timestamp_ecoule = $timestamp_actuel - $timestampBDD;
//Si il c'est écoulé entre 0 et 45 minutes
if ($temps_ecoule >= 2700) {
$temps_maj = $temps_actuel-($temps_ecoule-2700); // on recupere la différence
$or_total = $infos_inscription['ors']+50000;
$tours_total = $infos_inscription['tours']+1;
mysql_query("UPDATE inscription SET ors=ors+50000,tours=tours+1, timestamp=$temps_maj WHERE pseudo='".$to['pseudo']."' ");
echo
"Vous avez gagné 50000 or et 1 tour. Vous avez désormais '".$or_total."' or et '".$tours_total."' tours. ";
}

?>



RE: Bug script tours par tours - Th3kid - 23-07-2010

Non mais un mec comme ca faut même plus prendre la peine de lui répondre. As tu un instant lu ton code ? As tu une seconde mis sur papier la logique avant de la coder ? Tu réfléchis a ce que tu fais quand tu codes?

M'enfin quoi ... même pas foutu d'assigner une valeur à une variable et de l'utiliser ensuite ...

Tu veux un conseil, relis ton code avant de le poster!
Vérifie tes variables et surtout ta logique!

Code PHP :
<?php
//Je cherche le timestamp enregistré dans ma BDD et les infos des membres
$reponse = mysql_query("SELECT timestamp FROM inscription")or die (mysql_error());
$timestampBDD = mysql_fetch_array($reponse);
//Maintenant les info des membres
$reponse_membres = mysql_query("SELECT pseudo, ors, tours FROM inscription") or dir (mysql_error());
// Maintenant le timestap actuel
$temps_actuel = time();
//Maintenant combien de temps y c'est écoulé
$timestamp_ecoule = $timestamp_actuel - $timestampBDD;
//Si il c'est écoulé entre plus de 45 minutes
if ($timestamp_ecoule >= 2700) {

Et a partir de la je suis totalement perdu dans ce que tu fais ...
Perso je prendrais le timestamp_ecoule que je diviserais par 2700 en int().
Tu obtiendrais un nombre qui permet de savoir combien de fois 45min se sont écouler.

De la tu multiplies ce nombres par les ressources qu'il doit avoir tt les 45min.
Tu met a jours les ressources. et pour le timestamp dans la base de donnée, tu lui ajoutes le nombre ( en int() que tu as calculé) *2700 pour avoir des tours réguliers.

Enfin un peu de logique bon sang!


RE: Bug script tours par tours - vulcain - 24-07-2010

J'ai changé de manière, j'ai utilisé des crons même si ça bouffe un max de ressource au serveur, mais maintenant ça fonctionne.