Problème générateur de ressources
smikpaf
Messages postés
330
Date d'inscription
Statut
Membre
Dernière intervention
-
smikpaf Messages postés 330 Date d'inscription Statut Membre Dernière intervention -
smikpaf Messages postés 330 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Bonjour
Pour mon jeux en ligne j'ai besoin de faire le traditionel système de ressource pour pouvoir acheter et construire sauf que voila mon code ne marche pas correctement
Imaginon que j'ai une production de 30 metals/heure
J'ai fait le code suivant
<?php
include '../connexion_sql.php';
$recup_membres_rsc = $bdd->prepare('SELECT metal, delai FROM membres_rsc WHERE pseudo = :pseudo');
$recup_membres_rsc->execute(array( 'pseudo' => 'azertyu' ));
$affiche_membres_rsc = $recup_membres_rsc->fetch();
$metal = $affiche_membres_rsc['metal'];
$delai = $affiche_membres_rsc['delai'];
echo 'Délai :'.$delai;
$temps_actuel = time();
echo 'Metal : '.$metal.'<br />';
echo 'Temps actuel : '.$temps_actuel.'<br />';
$temps_ecoule = $temps_actuel - $delai;
echo 'Temps ecoulé : '.round($temps_ecoule, 2).'<br />';
$plus_1_tout_les = 120;
echo 'Plus 1 tout les : '.$plus_1_tout_les.'<br />';
if ($delai == 0)
{
$demarre_la_prod = $bdd->prepare('UPDATE membres_rsc SET delai = :delai WHERE pseudo = :pseudo');
$demarre_la_prod->execute(array( 'delai' => $temps_actuel, 'pseudo' => 'azertyu' ));
}
else
{
if ($temps_ecoule >= $plus_1_tout_les)
{
$nombre_de_plus_1_dans_tps_ecoule = $temps_ecoule / $plus_1_tout_les;
echo 'Nombre de fois : '.$nombre_de_plus_1_dans_tps_ecoule.'<br />';
$new_metal = $metal + $nombre_de_plus_1_dans_tps_ecoule;
echo 'nouveau metal : '.$new_metal.'<br />';
$temps_restant = ($temps_ecoule - ($plus_1_tout_les * floor($nombre_de_plus_1_dans_tps_ecoule)));
echo 'Temps restant : '.$temps_restant.'<br />';
$nouveau_temps_bdd = $temps_actuel + $temps_restant;
echo 'Nouveau temps bdd : '.$nouveau_temps_bdd;
$update_la_prod = $bdd->prepare('UPDATE membres_rsc SET metal = :metal, delai = :delai WHERE pseudo = :pseudo');
$update_la_prod->execute(array( 'metal' => $new_metal, 'delai' => $nouveau_temps_bdd, 'pseudo' => 'azertyu' ));
}
}
?>
Et donc le problème c'est que si pendant 1 heure on ne touche pas a la page sans l'actualiser et qu'on la recharge au bout d'une heure
Ca marche nikel j'ai mes 30 metals
Sauf que si entre temps je recharge la page (pour simulé une activité diverse) cela créer un manque dans le temps et au final il manque des ressource (24 au lieu de 30)
Y'a t'il un calcule spécial a faire ou plus de donnees a enregistrer dans la base de donnees ? quelqu'un peut t'il m'aidé ?
Merci
Bonjour
Pour mon jeux en ligne j'ai besoin de faire le traditionel système de ressource pour pouvoir acheter et construire sauf que voila mon code ne marche pas correctement
Imaginon que j'ai une production de 30 metals/heure
J'ai fait le code suivant
<?php
include '../connexion_sql.php';
$recup_membres_rsc = $bdd->prepare('SELECT metal, delai FROM membres_rsc WHERE pseudo = :pseudo');
$recup_membres_rsc->execute(array( 'pseudo' => 'azertyu' ));
$affiche_membres_rsc = $recup_membres_rsc->fetch();
$metal = $affiche_membres_rsc['metal'];
$delai = $affiche_membres_rsc['delai'];
echo 'Délai :'.$delai;
$temps_actuel = time();
echo 'Metal : '.$metal.'<br />';
echo 'Temps actuel : '.$temps_actuel.'<br />';
$temps_ecoule = $temps_actuel - $delai;
echo 'Temps ecoulé : '.round($temps_ecoule, 2).'<br />';
$plus_1_tout_les = 120;
echo 'Plus 1 tout les : '.$plus_1_tout_les.'<br />';
if ($delai == 0)
{
$demarre_la_prod = $bdd->prepare('UPDATE membres_rsc SET delai = :delai WHERE pseudo = :pseudo');
$demarre_la_prod->execute(array( 'delai' => $temps_actuel, 'pseudo' => 'azertyu' ));
}
else
{
if ($temps_ecoule >= $plus_1_tout_les)
{
$nombre_de_plus_1_dans_tps_ecoule = $temps_ecoule / $plus_1_tout_les;
echo 'Nombre de fois : '.$nombre_de_plus_1_dans_tps_ecoule.'<br />';
$new_metal = $metal + $nombre_de_plus_1_dans_tps_ecoule;
echo 'nouveau metal : '.$new_metal.'<br />';
$temps_restant = ($temps_ecoule - ($plus_1_tout_les * floor($nombre_de_plus_1_dans_tps_ecoule)));
echo 'Temps restant : '.$temps_restant.'<br />';
$nouveau_temps_bdd = $temps_actuel + $temps_restant;
echo 'Nouveau temps bdd : '.$nouveau_temps_bdd;
$update_la_prod = $bdd->prepare('UPDATE membres_rsc SET metal = :metal, delai = :delai WHERE pseudo = :pseudo');
$update_la_prod->execute(array( 'metal' => $new_metal, 'delai' => $nouveau_temps_bdd, 'pseudo' => 'azertyu' ));
}
}
?>
Et donc le problème c'est que si pendant 1 heure on ne touche pas a la page sans l'actualiser et qu'on la recharge au bout d'une heure
Ca marche nikel j'ai mes 30 metals
Sauf que si entre temps je recharge la page (pour simulé une activité diverse) cela créer un manque dans le temps et au final il manque des ressource (24 au lieu de 30)
Y'a t'il un calcule spécial a faire ou plus de donnees a enregistrer dans la base de donnees ? quelqu'un peut t'il m'aidé ?
Merci
A voir également:
- Problème générateur de ressources
- Generateur mot de passe - Télécharger - Sécurité
- Generateur de cle windows 10 - Guide
- Canva générateur d'image - Accueil - Outils
- Générateur de clé d'activation - Accueil - Windows
- Generateur d image - Guide