shidame
Messages postés4Date d'inscriptionsamedi 19 juin 2004StatutMembreDernière intervention16 mars 2007
-
1 août 2004 à 11:25
shidame
Messages postés4Date d'inscriptionsamedi 19 juin 2004StatutMembreDernière intervention16 mars 2007
-
2 août 2004 à 15:49
Bonjour,
Je suis actuellement sur la programation d'un jeu de rôle en ligne, et chaque joueur possède des PA (Point d'action), il faut que leur PA respectif augmente de 1 toute les 6min.
Cependant il y a un max de PA possible- pas plus de 240 - et ce même si 3 semaine ce sont écoulées.
Cette dernière volonté (^^), exige un SELECT avant mon UPDATE, je voulai savoir s'il est possible de faire autrement juste avec un UPDATE (condition IF dans un UPDATE ôO )
Voila la fonction que j'utilise :
function Update_PA ($userID) {
$Duree_1Tour = 360; //Duré d'un Tour en seconde
$Gain_1Tour = 1; //PA par Tour
mysql_connect('localhost','root','')
or die ('impossible de se connecter');
mysql_select_db('loe')
or die ('impossible de trouver la base');
$sql = "SELECT Tour,PA FROM caracteristique WHERE userID='$userID'";
$req = mysql_query($sql) or die ('erreur
'.$sql.'
'.mysql_error());
$data = mysql_fetch_array($req);
if (isset($data[0])) {
$Date_Actuel = time();
$Nb_Tour = floor(($Date_Actuel-$data[0]) / $Duree_1Tour);
if ($New_PA >= 240) {
$New_PA = 240;$New_Tour=$Date_Actuel;
}
$sql = "UPDATE caracteristique SET PA=$New_PA, Tour=$New_Tour WHERE userID='$userID'";
$req = mysql_query($sql) or die ('erreur
'.$sql.'
'.mysql_error());
}
mysql_close();
}