Accueil Connexion Inscription Membres Rechercher Accéder au jeu


   Index / Les mises à jours et Mods / Mod PVP

   


Darkmore
Membre

Messages : 686
Remonter

Mod PVP (0 vote)

Posté par Darkmore, le 09/05/2007 à 14:19:41

Bonjour, j'ai codé un nouveau pvp car l'ancien buggait trop.

Pour commencer, ouvrer index.php. Apres :

Code :

elseif ($do[0] == "map") { include('map.php'); map(); }




Rajouter :

Code :

elseif ($do[0] == "combat") { include('map.php'); combat(); }




Ensuite ouvrer map.php, après :

Code :

.blancmap2 

color#ffffff; 

  
font10px verdana;

}






Rajouter :

Code :

.combat {

  
font-familyVerdanaArialHelveticasans-serif;

  
font-size11px;

  
color#990066;

  
border1px solid #a38611;

  
background-color#fbe0e2;

  
margin-top5px;

  
margin-bottom5px;

}





Ensuite toujours dans map.php apres :

Code :



// Affichage de la position.

echo "

<div id="Layer3" style="position:absolute; right:8px; top:9px; width:156px; height:17px; z-index:1">

<table width="156" border="0" cellspacing="0" cellpadding="0" height="17" background="images/carte/haut1.gif">

<tr>

<td align="center">

<span class="mauve"><b>Long:</b></span> "
.$userrow[longitude]." - <span class="mauve"><b>Lat:</b></span> ".$userrow[latitude]."

</td>

</tr>

</table>

</div>"
;






Rajouter :

Code :

// Affichage du choix de l'adversaire.

echo "

<div id="Layer3" style="position:absolute; left:9px; top:0.5px; width:409px; height:15;">

<form action='index.php?do=combat' method='post'>

<table border="0" width='309' cellspacing="0" cellpadding="0" background="images/carte/haut2.gif">

<tr>

<td align="center">

<select name='adversaire' class='combat'>

<option value='-1'>Choisissez votre adversaire</option>"
;

$pseudo $userrow['username'];

$position doquery("SELECT longitude,latitude FROM {{table}} WHERE username='$pseudo'""users");

$coordonnee mysql_fetch_assoc($position);

$longitude $coordonnee['longitude'];

$latitude $coordonnee['latitude'];

$ennemi_selection "0";

$query doquery("SELECT * FROM {{table}} WHERE  longitude BETWEEN ".$longitude."-1 AND ".$longitude."+1 AND latitude BETWEEN ".$latitude."-1 AND ".$latitude."+1 AND id!='".$userrow['id']."'""users");

for ( 
$count $count <= && $ennemi_selection != null $count ++ ) {

$ennemi_selection mysql_fetch_array($query);

if ( 
$ennemi_selection != null ) {

echo 
"<option value='$ennemi_selection[id]'>$ennemi_selection[charname]   (Long : $ennemi_selection[longitude] , Lat : $ennemi_selection[latitude])</option>";

}

}

echo 
"</select>

<input type='submit' name='submit' value='Attaquer' class='combat' />

</form>"
;

echo 
"</td>

</tr>

</table>

</div>"
;

}





Et enfin toujours et encore dans map.php avant ?> et apres }, rajouter :

Code :

function combat() {

global 
$userrow 

if (
$_POST['adversaire'] == -1) {

header("LOCATION: index.php?do=map");

}

$id $_POST['adversaire'];

$id2 $userrow['id'];

$adversaire_query doquery("SELECT * FROM {{table}} where id='$id'""users");

$adversaire mysql_fetch_assoc($adversaire_query);

$joueurs_query doquery("SELECT * FROM {{table}} where id='$id2'""users");

$joueurs mysql_fetch_assoc($joueurs_query);



if (
$adversaire['longitude'] == $joueurs['longitude'] AND $adversaire['latitude'] == $joueurs['latitude']) {

header("LOCATION: index.php?do=map");

}

if (
$adversaire['currenthp'] <= 0) {

$xp1 $adversaire['experience'] - 15;

$query doquery("UPDATE {{table}} set experience='$xp1',currenthp='$adversaire[maxhp]',longitude='0',latitude='0' where id='$id'""users");

header("LOCATION: index.php?do=map");

}



$nb mt_rand(1,3);

$nb2 mt_rand(1,3);

$nb $nb 2;

$nb2 $nb2 2;

$attaque_joueurs $joueurs['attackpower'] * $nb;

$defense_joueurs $joueurs['defensepower'] * $nb;

$attaque_adversaire $adversaire['attackpower'] * $nb2;

$defense_adversaire $adversaire['defensepower'] * $nb2;



if (
$attaque_joueurs == $defense_adversaire)

{

$attaque $attaque_joueurs 2;

$defense $defense_adversaire 2;

$degat $joueurs['strength'] / 2;

$xp $attaque $defense 1;

$phrase "Vous avez touché et vous infligez $degat dégats.<BR>Vous et votre adversaire gagnez $xp Points d'expérience.";

$xp1 $adversaire['experience'] + $xp;

$xp2 $joueurs['experience'] + $xp;

$vie $adversaire['currenthp'] - $degat;

$query doquery("UPDATE {{table}} set experience='$xp1',currenthp='$vie' where id='$id'""users");

$query doquery("UPDATE {{table}} set experience='$xp2' where id='$id2'""users");

}



if (
$attaque_joueurs $defense_adversaire)

{

$attaque $attaque_joueurs 2;

$defense $defense_adversaire 2;

$degat 0;

$xp = ($defense $attaque) / 4;

$phrase "Vous avez echoué et vous infligez $degat dégats.<BR>Votre adversaire gagne $xp Points d'expérience.";

$xp $adversaire['experience'] + $xp;

$query doquery("UPDATE {{table}} set experience='$xp' where id='$id'""users");

}



if (
$attaque_joueurs $defense_adversaire)

{

$attaque $attaque_joueurs 2;

$defense $defense_adversaire 2;

$degat $joueurs['strength'];

$xp = ($attaque $defense) / 4;

$phrase "Vous avez touché et vous infligez $degat dégats.<BR>Vous gagnez $xp Points d'expérience.";

$vie $adversaire['currenthp'] - $degat;

$xp2 $joueurs['experience'] + $xp;

$query doquery("UPDATE {{table}} set currenthp='$vie' where id='$id'""users");

$query doquery("UPDATE {{table}} set experience='$xp2' where id='$id2'""users");

}

$page = <<<COMBAT

<body bgcolor='#ffffff'>

<center>



<table width="100%" border="1">

<tr><td>

<table><tr><td>

Attaque de $joueurs
[charname] ($joueurs[charclass] matricule $joueurs[id]) :</td><td><b>$attaque</b>

</td></tr>

<tr><td>Défense de $adversaire
[charname] ($adversaire[charclass] matricule $adversaire[id]) :</td><td> <b>$defense</b></td></tr></table>

$phrase</td></tr></table>

</center>



COMBAT;

echo 
$page;

}





On remercieras tous inko qui ma aidé pour une des requete mysql ce qui a alleger le scripts.
Inko ma reduit 8 ligne en une seul, celle la :

Code :



$query 
doquery("SELECT * FROM {{table}} WHERE  longitude BETWEEN ".$longitude."-1 AND ".$longitude."+1 AND latitude BETWEEN ".$latitude."-1 AND ".$latitude."+1 AND id!='".$userrow['id']."'""users");





A la base c'etait un truc du genre :

Code :



$x1 
joueurs['latitude'] + $y1 joueurs['longitude'] - ;

$x2 joueurs['latitude'] + $y2 joueurs['longitude'] + ;

$x3 joueurs['latitude'] + $y3 joueurs['longitude'] + ;

$x4 joueurs['latitude'] - $y4 joueurs['longitude'] + ;

$x5 joueurs['latitude'] - $y5 joueurs['longitude'] + ;

$x6 joueurs['latitude'] + $y6 joueurs['longitude'] + ;

$x7 joueurs['latitude'] - $y7 joueurs['longitude'] - ;

$x8 joueurs['latitude'] + $y8 joueurs['longitude'] + ;

Avec un update super long O_o





En meme temsp ca m'a appris ds truc sur les requete mysql (connaissait pas les BETWEEN) Donc un grand merci a inko
A oui et a la base ce mod n'étais pas pour illusion mais pour un tres bonne amis (david) et donc je l'ai adapter a illusion pour qu'il puisse comprendre comment l'installer.


-------------------------------------------------------


heu
Visiteur
Remonter

RE:Mod PVP (0 vote)

Posté par heu, le 09/05/2007 à 16:29:12

Pourquoi tu postes ton mod sur l'ancien forum ?
On revient tous ici ? 8O




Alex5512
Membre

Messages : 55
Remonter

RE:Mod PVP (0 vote)

Posté par Alex5512, le 25/05/2007 à 19:19:09

sa marche pas, ça me met ça :


Code :

 requête SQLDocumentation



$query 
doquery(

"SELECT * FROM {{table}} WHERE longitude BETWEEN ".$longitude"-1 AND ".$longitude"+1 AND latitude BETWEEN ".$latitude"-1 AND ".$latitude"+1 AND id!='".$userrow'id']. "'""users"









Invité
Visiteur
Remonter

RE:Mod PVP (0 vote)

Posté par Invité, le 18/11/2007 à 00:27:48

Le code sql donné est déja dans la modif de map.php donc tu n'as pas besoin de le rentrer en tant que commande sql

Par contre, le menu du choix de l'adversaire est sur la map....




quentin34660
Visiteur
Remonter

RE:Mod PVP (0 vote)

Posté par quentin34660, le 23/11/2007 à 22:33:35

bien mais impossible de cliquer sur attaquer!




quentin34660
Visiteur
Remonter

RE:Mod PVP (0 vote)

Posté par quentin34660, le 23/11/2007 à 22:46:17

c'est bon c'est réglé!




Undertaker93
Membre

Messages : 60
Remonter

RE : Mod PVP (0 vote)

Posté par Undertaker93, le 23/03/2008 à 15:37:06

Voila ce que sa me marque :

Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in map.php on line 206

or j'ai recopier comme toi...




Undertaker93
Membre

Messages : 60
Remonter

RE : Mod PVP (0 vote)

Posté par Undertaker93, le 24/03/2008 à 18:23:19

Quelqu'un peut m'aidez car je n'arrive même pas a afficher la map...s'il vous plait




The Dragon
Visiteur
Remonter

RE : Mod PVP (0 vote)

Posté par The Dragon, le 09/06/2008 à 16:27:13

Il y a un probleme au niveau des ' et des "
voici la correction:

Code :

// Affichage du choix de l'adversaire.



echo "



<div id='Layer3' style='position:absolute;left:9px;top:0,5px; width:409px; height:15;'>



<form action='index.php?do=combat' method='post'>



<table border='0' width='309' cellspacing='0' cellpadding='0' background='images/carte/haut2.gif'>



<tr>



<td align='center'>



<select name='adversaire' class='combat'>



<option value='-1'>Choisissez votre adversaire</option>"
;









Alex5512
Membre

Messages : 55
Remonter

RE : Mod PVP (0 vote)

Posté par Alex5512, le 07/08/2008 à 11:30:27

Bon, le mod bug, alors j'ai fait la correction donné ci-dessus, mais j'ai ce message après.


Parse error: syntax error, unexpected '}' in /homepages/17/d251236026/htdocs/termenia/map.php on line 278






   



Messages Anciens messages Nouveaux messages Nouveaux messages


® RPGillusion.net - Tous droits réservés - 2005-2008. Reproduction interdite par les droits d\'auteurs.