18-02-2007, 11:35 PM
(Modification du message : 18-02-2007, 11:38 PM par OncleJames.)
J'ai ca à te proposer :
Code PHP :
<?
session_start();
include('zone-page/haut.php');
include('zone-page/menu-gauche.php');
include('zone-page/droit.php');
include('bdd.php');
include('reglage.php');
include('function.php');
// Recherche info Camps
$sql = mysql_query("SELECT camp FROM membres WHERE id='".$id."'");
$camp = mysql_fetch_assoc($sql);
// Recherche coordonée Batiment principal
$req = mysql_query("SELECT X,Y FROM batiment LEFT JOIN map ON batiment.id=map.bat WHERE camp='".$camp['camps']."'");
$bat = mysql_fetch_assoc($req);
// Recherche des limites de la zone
$zone_x_min = $bat['X']-3;
if ( $zone_x_min < 1 ) $zone_x_min == 1 ;
$zone_x_max = $bat['X']+5;
$zone_y_min = $bat['Y']-5;
if ( $zone_y_min < 1 ) $zone_y_min == 1 ;
$zone_y_max = $bat['Y']+5;
// Recherche des cases de la zone de parachuage
$sql = mysql_query("SELECT X,Y,perso,bat FROM map WHERE x BETWEEN '".$zone_x_min."' AND '".$zone_x_max."' AND y BETWEEN '".$zone_y_min."' AND '".$zone_y_max."'");
// Boucle afin de déterminer si les cases sont vide
$i='1';
while ( $zone = mysql_fetch_assoc($sql) ) {
if ( $zone['perso'] == '0' || $zone['bat'] == '0' ) { // case vide
$case_x[$i] = $zone['X'];
$case_y[$i] = $zone['Y'];
$i++;
}
}
// Choix de la case vide sur un random
$nb = mt_rand(1,($i-1));
// On met a jour les informations
$sql = mysql_query("UPDATE map SET perso='".$id."' WHERE X='".$case_x[$nb]."' AND Y='".$case_y[$nb]."'") or die(mysql_error());
echo'<center><br>Vous venez de retourner sur le champ de bataille.';
echo'<br><a href="jouer.php">Rejoindre le front</a></center>';
include('zone-page/droit2.php');
?>
Mais tu met pas a jour les position du joueur sur la table membre ?
Tien moi au courant de son fonctionnement
EDIT : Par exemple a éviter de se ballader des X et Y partout
C'est toujours mieux d'avoir un champs id{nomdetable}, pour des futurs recherches, améliorations, ..