[RPG en PHP] Monter de niveau
Résolu
Utilisateur anonyme
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
encore moi avec un autre problème sur les bras ! Merci de m'aider du mieux que vous pouvez ^^'
Donc voila, mon script de PHP avance pas mal, mais j'ai un léger problème : monter de niveau n'apporte pas une augmentation des caractéristiques que je demande.
Donc, plus haut dans le code de ma page j'avais déja chargé les variables qui servent au combat (force, défense, agilité etc), et j'ai refait une boucle while pour recharger mes variables $PV et $PM (car elles diminuent au cours du combat). Comme vous le voyez quand on monte de niveau ($xp >= 150 * POW($lvl,2)), je multiplie mes variables par 1.5 et je fait un UPDATE pour les enregistrer dans ma BDD.
Voila un exemple concret :
Meta-Dark est niveau 1. Il a 8 force, 6 défense, 4 agilité, 0 intel, 60PV et 10PM.
Il monte de niveau : il a maintenant 8 force, 9 défense, 6 agilité, 0 intel, et les PV sont ceux qu'il me reste a la fin du combat, les PM quant a eux sont de 15.
La défense, l'agilité, et les PM sont correctement augmentés, mais le reste ne suit pas.
J'espère que vous pourrez m'aider car je bloque totalement. Je vais essayer des trucs et re-posterais si je trouve la solution (tout en la donnant, ça pourra servir =°)
Merci d'avance !
encore moi avec un autre problème sur les bras ! Merci de m'aider du mieux que vous pouvez ^^'
Donc voila, mon script de PHP avance pas mal, mais j'ai un léger problème : monter de niveau n'apporte pas une augmentation des caractéristiques que je demande.
<?php
if($xp >= 150 * POW($lvl,2))
{
$lvl++ ;
$force = $force * (3 / 2);
$defense = $defense * (3 / 2);
$agilite = $agilite * (3 / 2);
$intel = $intel * (3 / 2);
while ($donnees = mysql_fetch_array($resultat))
{
$PV = $donnees['PV'];
$PM = $donnees['PM'];
}
$PV = $PV * (3 / 2);
$PM = $PM * (3 / 2);
mysql_query("UPDATE Rpaygay SET force='$force' WHERE nom='$nom'");
mysql_query("UPDATE Rpaygay SET defense='$defense' WHERE nom='$nom'");
mysql_query("UPDATE Rpaygay SET agilite='$agilite' WHERE nom='$nom'");
mysql_query("UPDATE Rpaygay SET intel='$intel' WHERE nom='$nom'");
mysql_query("UPDATE Rpaygay SET PV='$PV' WHERE nom='$nom'");
mysql_query("UPDATE Rpaygay SET PM='$PM' WHERE nom='$nom'");
mysql_query("UPDATE Rpaygay SET niveau='$lvl' WHERE nom='$nom'");
?>
Félicitations, vous êtes monté au niveau <?php echo $lvl ;
}
?>
Donc, plus haut dans le code de ma page j'avais déja chargé les variables qui servent au combat (force, défense, agilité etc), et j'ai refait une boucle while pour recharger mes variables $PV et $PM (car elles diminuent au cours du combat). Comme vous le voyez quand on monte de niveau ($xp >= 150 * POW($lvl,2)), je multiplie mes variables par 1.5 et je fait un UPDATE pour les enregistrer dans ma BDD.
Voila un exemple concret :
Meta-Dark est niveau 1. Il a 8 force, 6 défense, 4 agilité, 0 intel, 60PV et 10PM.
Il monte de niveau : il a maintenant 8 force, 9 défense, 6 agilité, 0 intel, et les PV sont ceux qu'il me reste a la fin du combat, les PM quant a eux sont de 15.
La défense, l'agilité, et les PM sont correctement augmentés, mais le reste ne suit pas.
J'espère que vous pourrez m'aider car je bloque totalement. Je vais essayer des trucs et re-posterais si je trouve la solution (tout en la donnant, ça pourra servir =°)
Merci d'avance !
Configuration: Windows Vista Firefox 3.0.4
A voir également:
- [RPG en PHP] Monter de niveau
- Clé de mise à niveau windows 7 gratuit - Guide
- Brave frontier rpg - Télécharger - Rôle RPG
- Expert php - Télécharger - Langages
- Mise a niveau windows 7 vers 10 - Accueil - Mise à jour
- Monter fichier bin - Guide
2 réponses
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'force=12, defense=9, agilite=6, intel=0, PV=90, PM=15, niveau=2 WHERE nom=Meta-D' at line 1
Voila d'ou vient le problème apparemment, personne ?
mysql_query("UPDATE Rpaygay SET force='$force', defense='$defense', agilite='$agilite', intel='$intel', PV='$PV', PM='$PM', niveau='$lvl' WHERE nom='$nom'") or die (mysql_error());
Voila d'ou vient le problème apparemment, personne ?
`force`
Pour éviter ce genre de problème, entoure toujours les noms de champs et de tables de ``