Créer son jeu en PHP

Tout pour créer soit-même son jeu en PHP
 
AccueilAccueil  ­CalendrierCalendrier  ­FAQFAQ  ­RechercherRechercher  ­S'enregistrerS'enregistrer  ­MembresMembres  ­GroupesGroupes  ­ConnexionConnexion  
Poster un nouveau sujet   Répondre au sujetPartager | 
 

 Insertion auto

Voir le sujet précédent Voir le sujet suivant Aller en bas 
Aller à la page : 1, 2  Suivant
AuteurMessage
Nodark
Habitué


Nombre de messages: 126
Age: 19
Localisation: Grenoble
Date d'inscription: 11/10/2005

MessageSujet: Insertion auto   Sam 12 Aoû - 18:03

Bonjour,je recherche comment un script qui pourrait mettre les joueurs inscrit directement sur la map,car la mon jeu commence a avoir du monde et je ne peux pas suivre manuellement(chercher les cases X et Y non merci)
Malheureusement je me turlupine dessus depuis 3semaines sans résultat
Merci d'avance

_________________
Créateur du jeu OverWar

Recherche Graphiste
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://mastdark.free.fr
marghost
Modérateur JeuPHP


Nombre de messages: 680
Age: 19
Localisation: QUÉBEC PAWA ||| FRANCE NADA
Date d'inscription: 21/08/2005

MessageSujet: Re: Insertion auto   Sam 12 Aoû - 18:11

estque sa change quelque chose si deux utilisateurs sont sur la meme case(sa a l'air bète comme question mais si ce n'est pas grave c'est très simple a réaliser)

_________________
MARK DEVENU MARGHOST

Hé les glands voici mon status sur Kopete(Windaube+msn=MORT )
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://www.marghost.com
Nodark
Habitué


Nombre de messages: 126
Age: 19
Localisation: Grenoble
Date d'inscription: 11/10/2005

MessageSujet: Re: Insertion auto   Sam 12 Aoû - 18:30

nan pas pour l'instant(version beta)

_________________
Créateur du jeu OverWar

Recherche Graphiste
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://mastdark.free.fr
marghost
Modérateur JeuPHP


Nombre de messages: 680
Age: 19
Localisation: QUÉBEC PAWA ||| FRANCE NADA
Date d'inscription: 21/08/2005

MessageSujet: Re: Insertion auto   Sam 12 Aoû - 18:33

ta map fais combien par combien

_________________
MARK DEVENU MARGHOST

Hé les glands voici mon status sur Kopete(Windaube+msn=MORT )
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://www.marghost.com
Nodark
Habitué


Nombre de messages: 126
Age: 19
Localisation: Grenoble
Date d'inscription: 11/10/2005

MessageSujet: Re: Insertion auto   Sam 12 Aoû - 18:35

X=> 0minimum jusqu'a 299
Y=> 0minimum jusqu'a 299

_________________
Créateur du jeu OverWar

Recherche Graphiste
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://mastdark.free.fr
marghost
Modérateur JeuPHP


Nombre de messages: 680
Age: 19
Localisation: QUÉBEC PAWA ||| FRANCE NADA
Date d'inscription: 21/08/2005

MessageSujet: Re: Insertion auto   Sam 12 Aoû - 18:41

bha alors rien de plus simple

$x = mt_rand(0, 299);

$y = mt_rand(0, 299);

Et basta

(n'oubis pas le réglé )

_________________
MARK DEVENU MARGHOST

Hé les glands voici mon status sur Kopete(Windaube+msn=MORT )
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://www.marghost.com
Nodark
Habitué


Nombre de messages: 126
Age: 19
Localisation: Grenoble
Date d'inscription: 11/10/2005

MessageSujet: Re: Insertion auto   Sam 12 Aoû - 18:43

Okay merci je le place donc n'importe ou dans le code de la page jouer

_________________
Créateur du jeu OverWar

Recherche Graphiste
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://mastdark.free.fr
marghost
Modérateur JeuPHP


Nombre de messages: 680
Age: 19
Localisation: QUÉBEC PAWA ||| FRANCE NADA
Date d'inscription: 21/08/2005

MessageSujet: Re: Insertion auto   Sam 12 Aoû - 18:48

bha sa va te donner un x et un y choisis automatiquement oui

P.S. n'oublis plus le résolu

_________________
MARK DEVENU MARGHOST

Hé les glands voici mon status sur Kopete(Windaube+msn=MORT )
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://www.marghost.com
Nodark
Habitué


Nombre de messages: 126
Age: 19
Localisation: Grenoble
Date d'inscription: 11/10/2005

MessageSujet: Re: Insertion auto   Sam 12 Aoû - 18:51

Merci

mais voici un autre prob


Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.

Apache/ProXad [Jul 18 2006 14:37:10] Server at mastdark.free.fr Port 80

_________________
Créateur du jeu OverWar

Recherche Graphiste
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://mastdark.free.fr
Argorate
Méga habitué !


Nombre de messages: 621
Date d'inscription: 31/10/2005

MessageSujet: Re: Insertion auto   Sam 12 Aoû - 19:46

Bon déjà avec se système tu apparais n'importe ou, a moins que tu compte que ton jeu reste très basique, tu devrait envisager de faire des zone plus ciblé selon le camp au quel le joueur appartient, ou du moins une zone correspondant a quelques chose, tout dépens ton jeu.

De plus si ton jeu fonctionne en interdisant plusieurs personnes sur une même case, pense a vérifié que l'endroit ou tu l'envois n'est pas déjà prise.

_________________
Argorate
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Nodark
Habitué


Nombre de messages: 126
Age: 19
Localisation: Grenoble
Date d'inscription: 11/10/2005

MessageSujet: Re: Insertion auto   Sam 12 Aoû - 19:50

Oui je le ferai ,car chaque camp aura un QG
Mais la ca marche toujours pas

_________________
Créateur du jeu OverWar

Recherche Graphiste
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://mastdark.free.fr
Argorate
Méga habitué !


Nombre de messages: 621
Date d'inscription: 31/10/2005

MessageSujet: Re: Insertion auto   Sam 12 Aoû - 19:54

il faut quand meme updater la base de donné apres avoir fait les "rand"

$id= celui du gars.

$x = mt_rand(0, 299);

$y = mt_rand(0, 299);

$sql = "UPDATE ta_table SET x=$x, y=$y WHERE id=$id";
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());

_________________
Argorate
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Nodark
Habitué


Nombre de messages: 126
Age: 19
Localisation: Grenoble
Date d'inscription: 11/10/2005

MessageSujet: Re: Insertion auto   Sam 12 Aoû - 19:59

Citation:
<body bgcolor="#999999" text="#000000" link="#dee3e7" vlink="#dee3e7" alink="#bfbfbf">

<?php

$id= celui du gars.

$x = mt_rand(0, 299);

$y = mt_rand(0, 299);

$sql = "UPDATE ta_table SET x=$x, y=$y WHERE id=$id";
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());


session_start();

require('bdd.php');
$perso = $_SESSION["'id'"];

if(isset($_SESSION['logged']))
{
// on regarde si le perso est inseré dans la table perso
$query = mysql_query("SELECT * FROM OverWar_map WHERE perso = '$perso'");
$nb = mysql_num_rows($query);
if($nb != '1')
{
echo'<center>Erreur! Votre personnage n\'a pas été accepté ! Postez sur le forum et l\'admin vous mettra en ligne!<br /><br /></center>';
}
else
{

/////////
//affichage de la map
/////////
//info joueur
$querybis = mysql_query("SELECT * FROM OverWar_users WHERE id = '$perso'");
$carac = mysql_fetch_array($querybis);
$arme = $carac['arme'];
$rqarme = mysql_query("SELECT * FROM OverWar_armes WHERE Nom = '".$arme."'") or die("Erreur SQL :".mysql_error());
$arrarmes = mysql_fetch_array($rqarme);
$portee = $arrarmes['Portée'];
$degats = $arrarmes['Degats'];
$nbattaques = $arrarmes['Nbattaques'];
?>
<center><table><th colspan="2">Informations Personnage n°<? echo $_SESSION["'id'"]; ?></th>
<tr><td>Pseudo : <? echo $_SESSION["'username'"];?></td><td>Arme : <? echo $arme; ?></td></tr>
<tr><td>Xp : <? echo $carac['XP'];?></td><td>Portée : <? echo $portee; ?> </tr>
<tr><td>PV : <? echo $carac['PV'];?></td><td>Dégâts : <? echo $degats; ?> </td></tr>
<tr><td>PA : <? echo $carac['pa_act'];?> sur <? echo $carac['pa_max'];?> </td><td> Attaques : <? echo $carac['Attaques_act'].' sur '.$nbattaques; ?> (Non implémenté)</td></tr>
<tr><td>Vision : <? echo $carac['vision'];?></td><td></td></tr>
<tr><td>Mouvements : <? echo $carac['mouvements'];?></td><td></td></tr>
</table></center>
<br />
<?
$tableaux='';
$vision = $_SESSION["'vision'"];
$id = $_SESSION["'id'"];
//recherche de la position du joueur
$sql = mysql_query("SELECT * FROM OverWar_map WHERE perso ='$id'");
$X = mysql_result($sql,0,'X');
$Y = mysql_result($sql,0,'Y');
$Xmin = $X - $vision;
$Xmax = $X + $vision;
$Ymin = $Y - $vision;
$Ymax = $Y + $vision;
$sql = "SELECT * FROM OverWar_map WHERE Y BETWEEN '$Ymin' AND '$Ymax' AND X BETWEEN '$Xmin' AND '$Xmax'";
$req = mysql_query($sql) or die(mysql_error());
//Ecriture du tableau
$long_tableaux=50*(2*$vision+1)+20;
$tableaux.= '<table id="tabledejeu" cellpadding=0 cellspacing=0 border=1 style="width:'.$long_tableaux.'px;height:'.$long_tableaux.'px">';

//ligne des abscisses dans le tableau
$tableaux.= '<tr width="'.$long_tableaux.'"><td bgcolor="#DDDDDD" align="center" width="20">Y\X</td>';
for($x = $Xmin; $x<=$Xmax; $x++) $tableaux.= '<td bgcolor="#DDDDDD" style="width:60px" align="center">'.$x.'&nbsp;&nbsp;&nbsp;</td>';
$tableaux.= '</tr>';

//Ligne suivante suivant $vu
for($y=$Ymax; $y>=$Ymin; $y--)
{
$tableaux.= '<tr style="height:50px"bgcolor="#DDDDDD" ><td align="center">'.$y.'</td>';
for($x=$Xmin; $x<=$Xmax; $x++)
{
//si l'ordonnée est en dehors de la map
if ($x > "300" OR $x < "0")
{
$tableaux.= '<td width="50" align=center bgcolor="#000000">aa</td>';
}
else
{
$map = mysql_fetch_array(mysql_query("SELECT * FROM OverWar_map WHERE X='$x' AND Y='$y'"));
$couleur = $map['terrain'];
$id_perso = $map['perso'];
$QGpre = $map['QG'];
if ($id_perso!='0')
{
//on affiche le perso
$joueur = mysql_fetch_array(mysql_query("SELECT * FROM OverWar_users WHERE id='$id_perso'"));
$nom = $joueur['username'];
$arme = $joueur['arme'];
$camp = $joueur['Armée'];
if($camp == 'USA') {$fond = "#0000FF";} else {$fond = "#FF0000";}
$tableaux.= '<td width="50" align=center bgcolor="'.$fond.'"><img src="images/armes/'.$arme.'.gif "/><br /><font color="#000000">'.$nom.'</font></td>';
}
elseif(is_numeric($QGpre)) //Présence d'un QG
{
$camp = $map['Camp'];
switch($camp)
{
case 'USA':
$color = "#0000FF";
break;
case 'CMO':
$color = "#FF0000";
break;
default :
$color = "#252525";
break;
}
$tableaux.='<td width="50" align="center" bgcolor="'.$color.'"><form name="QG" action="QG.php" method="post">
<input type = "submit" name="'.$QGpre.'" value="QG '.$QGpre.'" style="background-color:#FFFFFF;border:1px solid #000000;"/></form></td>';
}
else
{
//si la case n'est rien (que du terrain)
if ($couleur == 'QG')
{
$camp = $map['Camp'];
if($camp == 'USA')
{
$couleur = 'usafond';
}
elseif($camp == 'CMO')
{
$couleur = 'cmofond';
}
else
{
$couleur = 'fond';
}
}
$tableaux.= '<td width="50" align=center background="terrains/'.$couleur.'.gif"></td>';
}
}
}
}
$tableaux.= '</table>';

//Ecriture du tableaux
echo $tableaux;
echo'<br><br><fieldset><legend>Navigation</legend><a href="http://mastdark.free.fr/jeuphp/1ermapkarkand.png">Carte</a> <a href="messagerie.php">Messagerie</a></fieldset>';
?>
<form action = "bouger.php" method ="post">
<table class='mouv'>
<tr><td><input type="radio" name="direction" value="no" /></td>
<td><input type="radio" name="direction" value="n" /></td>
<td><input type="radio" name="direction" value="ne" /></td></tr>
<tr><td><input type="radio" name="direction" value="o" /></td>
<td><input type="submit" name="ok" value="Se déplacer" /></td>
<td><input type="radio" name="direction" value="e" /></td></tr>
<tr><td><input type="radio" name="direction" value="so" /></td>
<td><input type="radio" name="direction" value="s" /></td>
<td><input type="radio" name="direction" value="se" /></td></tr>
</table></form>
<br /><br />
<form name="ataq" method="post">
<select name="cible">
<?
$Xm = $X + $portee;
$Ym = $Y + $portee;
$Xmi = $X - $portee;
$Ymi = $Y - $portee;
$portreq = mysql_query("SELECT * FROM OverWar_map WHERE (X BETWEEN '".$Xmi."' AND '".$Xm."') AND (Y BETWEEN '".$Ymi."' AND '".$Ym."') AND perso != '0' AND perso !='".$perso."'") or die( "Erreur SQL :".mysql_error());
$nbcibles = mysql_num_rows($portreq);

for($i=0;$i<$nbcibles;$i++)
{
$id = mysql_result($portreq,$i,'perso');
$reqp = mysql_query("SELECT * FROM OverWar_users WHERE id = '".$id."'");
$pseudo = mysql_result($reqp,0,'username');
$camp = mysql_result($reqp, 0, 'Armée');
if($camp == 'USA') {$color = "#0000FF";} else {$color = "#FF0000";}
echo'<option name="'.$pseudo.'" value= "'.$id.'" style="color:'.$color.';">'.$id.'. '.$camp.' - '.$pseudo.'</option>';
}
echo'&nbsp;<br /><br />
<input type="submit" name="attaque" value="Attaquer!" />
</select>
</form>';
}
//---- Joueur attaque ----//
if (isset($_POST['attaque']))
{
$idcible = $_POST['cible'];
$testcible = mysql_query("SELECT * FROM OverWar_users WHERE id = '".$cible."'");
$caracible = mysql_fetch_array($testcible);
$paact = $caracible['pa_act'];
$PV = $caracible['PV'];
$PVm = $caracible['PVmax'];
$pseudocible = $caracible['username'];
echo'<script>alert("'.$pseudocible.' : '.$PV.' PV et '.$paact.' PA - Degats : '.$degats.'");</script>';
if ($paact > $degats)// Reste des PA
{
$pa_rest = $paact - $degats;
$pa_perdu = $degats;
$PVrest = $PV;
}
elseif ($paact < $degats && $paact > 0)// Reste des PA mais pas assez
{
$PVrest = $PV - ($degats - $paact);
$pa_perdu = $paact;
$pa_rest = 0;
}
else // Tout dans les PV
{
$PVrest = $PV - $degats;
$pa_rest = '0';
$pa_perdu = '0';
}
$tir = mysql_query("UPDATE OverWar_users SET pa_act ='".$pa_rest."', PV = '".$PVrest."' WHERE id='".$cible."'");
$pv_perdu = $degats - $pa_perdu;
$xpg = '10';
echo '<center> Vous avez enlevé <b>'.$pa_perdu.'</b> PA et <b>'.$pv_perdu.'</b> PV à '.$pseudocible.'.<br />
Vous gagnez <b>'.$xpg.'</b> Xp. </center>';
$xpn = $carac['XP'] + $xpg;
mysql_query("UPDATE OverWar_users SET XP ='".$xpn."' WHERE id = '".$perso."'");

if($PVrest <= '0') {// Cible morte
echo'<br />Vous tuez la cible.';
mysql_query("UPDATE OverWar_map SET perso ='0' WHERE perso = '".$idcible."'");
$Xnew = rand(0,299);
$Ynew = rand(0,299);
mysql_query("UPDATE OverWar_map SET perso ='".$idcible."' WHERE X ='".$Xnew."' AND Y ='".$Ynew."'");
mysql_query("UPDATE OverWar_users SET PV = '".$PVm."' WHERE id ='".$idcible."'");
}
}
//---------------------------------------------------------------------------------------------------
}
else
{
echo'Il faut se connecter pour accéder à cette partie.<br />';
}




Parse error: syntax error, unexpected T_STRING in /mnt/107/free.fr/b/8/mastdark/Pages/jouer.php on line 5

===>$id= celui du gars.
je met quoi? ID =>user?

_________________
Créateur du jeu OverWar

Recherche Graphiste
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://mastdark.free.fr
Argorate
Méga habitué !


Nombre de messages: 621
Date d'inscription: 31/10/2005

MessageSujet: Re: Insertion auto   Sam 12 Aoû - 20:07

Oulalaa, faut tout leur faire a c jeune
Bon :
1- session start se met tjs en premier

2-comment tu veux updater la base de donner alors que tu t'y connecte (dans ton code) que après. (require('bdd.php'); a mettre après la session start.)

3-je sais pas comment tu gère tes joueurs, moi j'ai une id unique qui les identifie tous, donc je sélectionne leur ID dans la table, et je la récupère dans $id, après chaque code est différant...

_________________
Argorate
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
carlou
Modérateur JeuPHP


Nombre de messages: 689
Localisation: Bordeaux
Date d'inscription: 27/08/2005

MessageSujet: Re: Insertion auto   Sam 12 Aoû - 20:08

l'id du joueur que tu as au prealablement recupéré et mis en session


Comment ca je parle chinois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
 

Insertion auto

Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 2Aller à la page : 1, 2  Suivant

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Créer son jeu en PHP :: PROGRAMMATION :: Demande d'aide-
Poster un nouveau sujet   Répondre au sujet