30-01-2007, 09:48 PM
Promit après je vous laisse tranquille :ninga:
Mais ce que je viens demander est plus des idées qu'autres choses ^^
Après avoir travailé sur le systeme de mort et tout ça, je me suis attaqué à la réaparition des joueurs sur la map après la mort..
Le soucis c'est que je ne sais pas trop comment m'y prendre
Mais ce que je viens demander est plus des idées qu'autres choses ^^
Après avoir travailé sur le systeme de mort et tout ça, je me suis attaqué à la réaparition des joueurs sur la map après la mort..
Le soucis c'est que je ne sais pas trop comment m'y prendre
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');
/////Affichage map et insertion////
if(empty($_SESSION['connection'])) session_start();
{
$requete=0;
$perso=$_SESSION['perso'];
$id=$_SESSION['id'];
if($_SESSION['connection'])
{
// on regardesi le perso est inseré sur le jeu
$res = $db->extract_one("SELECT inserer FROM membres WHERE id='$id' ");
$inserer=$res['inserer'];
if($inserer=='0') echo '<center>Votre perso n\'est pas encore inseré sur le champ de bataille.<br><br><a href="inserer.php?p=1"> Cliquez-ici pour proceder à son insertion !</center>';
else
{
////On verifie que le perso est sur la map
/////////
//affichage de la map
/////////
//debut definition bord map
$minmap=-10;
$maxmap=9;
//fin definition bord map
?>
<TABLE border="0" cellpadding=0 cellspacing=0 bgcolor="#000000" style="font-family:Verdana, Arial, Helvetica, sans-serif; color:#FFFFFF; font-size:11px;">
<?php
$whereperso=mysql_fetch_array(mysql_query("SELECT m.X,m.Y,p.vision FROM map as m LEFT OUTER JOIN membres as p ON p.id=m.perso WHERE m.perso='$id'"));
$requete++;
$minXvue=$whereperso['X']-$whereperso['vision'];
$minYvue=$whereperso['Y']-$whereperso['vision'];
$maxXvue=$whereperso['X']+$whereperso['vision'];
$maxYvue=$whereperso['Y']+$whereperso['vision'];
$resultall=mysql_query("SELECT c.perso,c.X,c.Y,c.terrain,c.bat,p.joueur_pseudo,p.fichier as natio,t.fichier,t.tnom FROM map as c LEFT OUTER JOIN membres as p ON c.perso=p.id LEFT OUTER JOIN terrain as t ON t.id=c.terrain WHERE X>='$minXvue' and X<='$maxXvue' and Y>='$minYvue' and Y<='$maxYvue' ORDER BY Y DESC,X ASC");
$requete++;
$nbcase=0;
for ($y=$maxYvue;$y>=$minYvue;$y--)
{for($x=$minXvue;$x<=$maxXvue;$x++)
{if($x<=$maxmap AND $y<=$maxmap AND $x>=$minmap AND $y>=$minmap)
{$result1[$x][$y]=mysql_fetch_assoc($resultall);
}
$nbcase++;
}
}
$x=$minXvue-1;
$y=$maxYvue+1;
for ($case=0;$case<=$nbcase;$case++)
{if($x==($minXvue-1) AND $y==($maxYvue+1))
{?><tr><td valign="middle" align="center" style="padding:2px;">Y\X</td><?php
}
elseif ($y==$maxYvue+1)
{?><td valign="middle" align="center" style="padding:2px;"><?php echo $x; ?></td><?php
$case--;
}
elseif ($x==$minXvue-1)
{?><td valign="middle" align="center"><?php echo $y; ?></td><?php
$case--;
}
elseif(!isset($result1[$x][$y]['terrain']))
{?><td valign="middle" align="center" bgcolor="#111111"> </td><?php
}
else
{if(isset($result1[$x][$y]['joueur_pseudo']) AND ($result1[$x][$y]['natio']))
{?><td onclick="windows.open('http://adresse.com/fiche?mat=<?php echo $joueur['mat']; ?>')" valign="middle" background="image/image_terrain/<?php echo $result1[$x][$y]['fichier']; ?>" align="center" bgcolor="#111111" width="50px" height="50px"><img src="image/image_perso/<? echo $result1[$x][$y]['natio']; ?>" title="<?php echo $result1[$x][$y]['joueur_pseudo']; ?>">
</td><?php
}
elseif ($result1[$x][$y]['bat']!=0)
{?><td valign="middle" align="center" bgcolor="#111111" width="50px" height="50px">base</td><?php
}
else
{?><td align="center" background="image/image_terrain/<?php echo $result1[$x][$y]['fichier']; ?>" width="50px" height="50px"> </td><?php
}
}
$x++;
if ($x>$maxXvue)
{?></tr><?php
$x=$minXvue-1;
$y--;
if ($y>=$minYvue)
{?><tr><?php
}
}
}
?>
</table>
<?php
echo $requete;
//fin
if (isset($_SESSION['message1'])) echo'<br><br><fieldset><legend><font color="gray">Attaques/Soins</font></legend><br>'.$_SESSION['message1'].'</fieldset>';
echo'<br><br><fieldset><legend><font color="gray">Jeu</font></legend><br>';
echo'<table><tr><td>'; include('tour.php');
$perso=mysql_fetch_array(mysql_query("SELECT xp,pv,pv_max,mvt,mvt_max,attaque,attaque_max,classe FROM membres WHERE id='$id'"));
$mvt=$perso['mvt'];
$mvtmax=$perso['mvt_max'];
$attaque=$perso['attaque'];
$attaquemax=$perso['attaque_max'];
$classe=$perso['classe'];
$carac='';
$carac.='<br><br><b>Mvt :</b> <i>'.$mvt.' sur '.$mvtmax.'</i><br>';
if($classe=='Infirmier')
{
$carac.='<b>Soins :</b> <i>'.$attaque.' sur '.$attaquemax.'</i><br>';
}
else
{
$carac.='<b>Attaques :</b> <i>'.$attaque.' sur '.$attaquemax.'</i><br>';
}
echo $carac;
echo '</td><td>';
if($classe=='Infirmier')
{
include('soigner.php');
}
else
{
include('attaque.php');
}
echo'</td><td>'; include('deplacement.php'); echo'</td></tr></table>';
echo'</fieldset>';
}
}
else
{
echo'<center>Il faut se connecter pour accéder à cette partie.</center>';
}
}
include('zone-page/droit2.php');
?>
je comptais faire que la requete se déroule après la verification de l'insertion du joueur sur le jeu et de faire un truc de ce genre :
Code PHP :
<?php
$res = $db->extract_one("SELECT id_perso FROM map WHERE id='$id' ");
$id_perso=$res['id_perso'];
if($id_perso!=$id)
$req22 = $db->query("SELECT * FROM map WHERE perso='0' AND bat='0' ANd idbat='0'");
$nb_result = $db->affected_rows();
$nb = mt_rand(1,$nb_result);
for($i=0;$nb>=$i;$i++) $res22 = $db->fetch_array($req22);
$newX=$res22['X'];
$newY=$res22['Y'];
$sql = "UPDATE map SET perso='$id_perso' WHERE X='$newX' AND Y='$newY'";
$req = mysql_query($sql) or die(mysql_error());