Bonsoir à tous et à toutes,
Je viens requérir votre aide pour un script de système de gains de ressources ! voici mon script :
Je viens requérir votre aide pour un script de système de gains de ressources ! voici mon script :
Code PHP :
<?php
$date_now = date("Y-m-d H:i:s");
$date_bdd = $design['date_heure'];
$sql8 = 'SELECT * FROM Joueur WHERE TIMEDIFF("$date_now", "$date_bdd") >= "01:00:00" AND username="'.$_SESSION['username'].'"';
$req8 = mysql_query($sql8) or die(mysql_error());
$data8 = mysql_fetch_assoc($req8);
if (isset($data8['username']))
{
$req_batiment_garnison = "SELECT * FROM batiments WHERE name ='forge_outil'";
$qry_batiment_garnison = mysql_query($req_batiment_garnison) or die (mysql_error());
$batiment_garnison = mysql_fetch_array($qry_batiment_garnison);
$req_batiment_garnison_grenier = "SELECT * FROM batiments WHERE name ='grenier'";
$qry_batiment_grenier = mysql_query($req_batiment_garnison_grenier) or die (mysql_error());
$batiment_garnison_grenier = mysql_fetch_array($qry_batiment_grenier);
$ecart = $date_now - $design['date_heure'];
// ------------------------------------------------MAXIMUM DE STOCKAGE ---------------------------------------------------
$max_outils = $batiment_garnison['stockage']+($data2['forge_outils']*$batiment_garnison['accr_stockage']);
$max_food = $$batiment_garnison_grenier['stockage']+($data2['grenier']*$batiment_garnison_grenier['accr_stockage']);
// ------------------------------------------------ GAINS DE RESSOURCES ---------------------------------------------------
$gains_or = $data2['or']+((($data2['citoyen']/2)*$data2['impot'])*$ecart);
$gains_outil = $data2['outils']+(($data2['citoyen']/2)*$data2['forge_outils'])*$ecart;
$gains_food = $data2['nourriture']+(($data2['citoyen']/2)*$data2['grenier'])*$ecart;
if ($gains_outil > $max_outils)
{ $gains_outil = $max_outils; }
if ($gains_food > $max_food)
{ $gains_food = $max_food; }
$heur_add = 60*60;
$rnd_citoyen = RAND(0, 10);
$citoyens = ($data2['citoyen'] + $rnd_citoyen)*$ecart;
$heure = date("H:i:s", time()+$heur_add);
$add_heure = 'UPDATE Joueur SET date_heure="'.$heure.'" WHERE username="'.$_SESSION['username'].'"';
$add_heure2 = mysql_query($add_heure) or die (mysql_error());
$add_gain = 'UPDATE village SET `or`="'.floor($gains_or).'", outils="'.floor($gains_outil).'", citoyen="'.$citoyens.'", nourriture="'.floor($gains_food).'" WHERE username="'.$_SESSION['username'].'"';
$add_gains = mysql_query($add_gain) or die (mysql_error());
}
else echo '<font color="white"> - '.$data8['username'].' - '.$design['date_heure'];
?>
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 .