04-03-2007, 01:22 PM
Up !
J'ai apporté quelques modification au script mais ça ne marche tjrs pas...
J'ai apporté quelques modification au script mais ça ne marche tjrs pas...
Code PHP :
<?
include('bdd.php');
@session_start();
$id=$_SESSION['id'];
include('function.php');
$type=$dep[0];
$message1='';
switch($type)
{
case 'perso':
$X=$_POST['X'];
$Y=$_POST['Y'];
if($X=="" || $Y=="") ////Les champs sont'ils remplient ?///
{
$message1.='<center>Vous devez obligatoirement rentrer des coordonnées </center>';
}
else
{
$distance = $db->extract_one("SELECT arme FROM membres WHERE id='$id'") or die (mysql_error());
$id_arme=$distance['arme'];
$portee = $db->extract_one("SELECT distance FROM armes WHERE id='$id_arme'") or die (mysql_error());
$portee_max=$portee['distance'];
$position_joueur = $db->extract_one ("SELECT X,Y FROM map WHERE perso='$id'") or die (mysql_error());
$X1=$position_joueur['X'];
$Y1=$position_joueur['Y'];
$portee_X=$X-$X1;
$portee_Y=$Y-$Y1;
if($portee_X>$portee_max OR $portee_Y>$portee_max )/////Le joueur peut-t-il tirez aussi loin ?////
{
$message1.='<center>Votre canon ne tir pas aussi loin que ça !</center>';
}
else
{
//info sur le perso
$perso = $db->extract_one("SELECT arme,attaque,camp FROM membres WHERE id='$id'") or die (mysql_error());
$id_arme=$perso['arme'];
$attaque=$perso['attaque'];
$camp=$perso['camp'];
$armes = $db->extract_one("SELECT degats,calibre FROM armes WHERE id='$id_arme'") or die (mysql_error());
$degats=$armes['degats'];
$calibre=$armes['calibre'];
///Info zone ciblé
$zone_cible = $db->extract_one("SELECT perso,bat FROM map WHERE X='$X' AND Y='$Y'") or die (mysql_error());
$perso=$zone_cible['perso'];
$bat=$zone_cible['bat'];
if($bat==0 AND $perso==0 )///Si la zone ne contient pas de perso ou de batiment///
{
if($calibre=>100 )///Si le calibre de l'arme est supérieure ou égale à 100
{
$modif_terrain = $db->extract_one("SELECT terrain FROM map WHERE X='$X' AND Y='$Y'") or die (mysql_error());
$anc_terrain=$modif_terrain['terrain'];
$nouv_terrain = $db->extract_one("SELECT modif FROM terrain WHERE id='$anc_terrain'") or die (mysql_error());
$modif=$nouv_terrain['modif'];
$attaque_restant=$attaque-1;
if($attaque!='0')
{
$sql = ("UPDATE map SET terrain= '$modif' WHERE X='$X' AND Y='$Y'") or die (mysql_error());
$sql = ("UPDATE membres SET attaque = '$attaque_restant' WHERE id='$id'") or die (mysql_error());
$message1.='<center>Vous avez touché la case '.$X.'/'.$Y.'</center>';
}
else
{
$message1.='<center>Vous n\'avez plus d\'attaque.</center>';
}
}
}
else
{
if($bat!=0 )///Si la case visé contient un batiment
{
$bat1 = $db->extract_one("SELECT resistance,camp FROM batiments WHERE id='$bat'") or die (mysql_error());
$resistance=$bat1['resistance'];
$camp=$bat1['camp'];
$nouvelle_resistance=$resistance-$degats;
$attaque_restant=$attaque-1;
if($attaque!='0')
{
$sql = "UPDATE batiments SET resistance = '$nouvelle_resistance' WHERE id='$bat'";
$camp_joueur = $db->extract_one("SELECT camp FROM membres WHERE id='$id'");
if ($camp==$camp_joueur) $gain_xp=rand(-2,0);
if ($camp!=$camp_joueur) $gain_xp=rand(1, 3);
xp($gain_xp,$id);
$message1.='<center>Vous avez touché la case '.$X.'/'.$Y.' Nos premiéres Lignes rapportent que vous avez endommagé un batiments.<br>Vous gagnez '.$gain_xp.' Xp\'s</center>';
}
else
{
$message1.='<center>Vous n\'avez plus d\'attaque.</center>';
}
}
else
{
if($perso!=0 )///Si la case visé contient un perso
{
$cible_perso = $db->extract_one("SELECT pv,camp FROM membres WHERE id='$perso'") or die (mysql_error());
$pv_cible=$perso_cible['pv'];
$camp=$perso_cible['camp'];
$nouveau_pv=$pv_cible-$degats;
$attaque_restant=$attaque-1;
if($attaque!='0')
{
$sql = "UPDATE membres SET pv = '$nouveau_pv' WHERE id='$perso'";
$req = mysql_query($sql) or die(mysql_error());
$sql = "UPDATE membres SET attaque = '$attaque_restant' WHERE id='$id'";
$req = mysql_query($sql) or die(mysql_error());
$message1.='<center>Vous avez touchez la case '.$X.'/'.$Y.' avec '.$degats.' de dégats.</center>';
if ($camp==$camp_cible) $gain_xp=rand(-2,0);
if ($camp!=$camp_cible) $gain_xp=rand(3, 5);
xp($gain_xp,$id);
$message1.='<center><br>Vous gagnez '.$gain_xp.' Xp\'s</center>';
////Si le perso meurt
if($nouveau_pv<='0' )
{
$message1.='<center>Celui-ci s\'écroule par terre, il est mort...</center>';
////On retire la cible de la map
$sql = "UPDATE map SET perso = '0' WHERE perso='$id_cible'";
$req = mysql_query($sql) or die(mysql_error());
/////On met a jour les pv's et le nombre de mort de la victime
$sql = "UPDATE membres SET mort = mort+1 ,pv = pv_max WHERE id='$perso'";
$req = mysql_query($sql) or die(mysql_error());
////On met a jour les Xp's si necessaire
$mort1 = $db-> extract_one("SELECT mort FROM membres WHERE id='$perso'");
$mort = $mort1['mort'];
if($mort!=10)
{
$cible1 = $db-> extract_one("SELECT xp FROM membres WHERE id='$perso'");
$xp=$cible1['xp'];
$perte_xp=$xp * 20/100;
$new_xp=$xp-$perte_xp;
$sql = "UPDATE membres SET xp = '$new_xp' ,mort = '0' WHERE id='$perso'";
$req = mysql_query($sql) or die(mysql_error());
}
////On met a jour le nombdre de victime du joueur.
$sql = "UPDATE membres SET victime = victime+1 WHERE id='$id'";
$req = mysql_query($sql) or die(mysql_error());
}
}
else
{
$message1.='<center>Vous n\'avez plus d\'attaque.</center>';
}
}
}
}
break;
}
}
}
$_SESSION['message1']=$message1;
header('location: jouer.php');
?>