NoiAMembreMessages : 317
|
Le dojo
Posté le 16/02/2006 à 20:51:40 Une autre sorte de pvp plus simple que j'ai traduit de chez dk :
Dans versus2.php (a crée):
Code :
<?php
//made by doublet
//for more information: admin@maffia.pri.ee
function fight0() {
global $userrow, $numqueries;
if (isset($_POST['call'])) {
$query = doquery("SELECT*FROM {{table}} WHERE charname='".$_POST['enemy']."' LIMIT 1", "users");
$row = mysql_fetch_array($query);
$maxbet = $userrow["experience"];
$sum = $row["gold"] + $row["bank"] / 2;
if ($_POST['bet'] > $maxbet) { display("Vous pouvez pas miser plus de gils que votre experience. Miser beaucoup moins la prochaine fois.<p><a href="index.php?do=fight0">Retour dans le dojo</a>", "Error"); die(); }
elseif ($_POST['bet'] > $userrow["gold"]) { display("Vous n'avez pas assez de gils pour ce defis.<p><a href="index.php?do=bank">Passer à la banque</a>", "ERROR"); die(); }
elseif ($_POST['bet'] == "0") { display("Radin !! Misez des gils.<br /><a href="index.php?do=fight0">Go back</a>", "ERROR"); die(); }
elseif ($_POST['enemy'] == "") { display("Defis anuler<a href="index.php?do=fight0">Retourner au dojo</a>", "ERROR"); die(); }
elseif ($_POST['bet'] > $sum) { display("Votre rival n'a pas assez de gils, faite baisser la mise.<br /><a href="index.php?do=fight0">Retourner au dojo</a>", "ERROR");
} else {
$newgold2 = $userrow["gold"] - $_POST['bet'];
$fightlvl = $userrow["strength"] + $userrow["dexterity"];
doquery("INSERT INTO {{table}} SET id='', challenger='".$userrow["id"]."', bet='".$_POST['bet']."', charname='".$userrow["charname"]."', reciver='".$row["id"]."', fightlvl='$fightlvl'", "fight");
doquery("UPDATE {{table}} SET gold='$newgold2' WHERE id='".$userrow["id"]."' LIMIT 1", "users");
$page .= "Challenge reussit<a href="index.php">Retourner en ville</a>"; } }
else {
$maxbet = $userrow["experience"];
$page .= "Rival = joueur a défier.<br />Mise = Le joueur vainqueur gagnera <strong></strong><br />";
$page .= "<form action=index.php?do=fight0 method=post><br />";
$page .= "Rival: <input type=text name=enemy size=10><br />";
$page .= "Mise maximum <strong>$$maxbet </strong><br />";
$page .= "Mise:<input type=text name=bet size=10><br />";
$page .= "<input type=submit value=Call name=call></form><br /><br />";
$page .= "<a href="index.php">Retourner en ville</a>"; }
display($page, "Defi tournoi");
}
function fight2() {
global $userrow, $numqueries;
$page .= "<table width=500 class=title><tr><td>Defie</td></tr></table>";
$page .= "<table width=500><tr class=title><td></td><td width="200"><strong>Joueur vous defiant</strong></td><td><strong>Mise</strong></td><td widh=150></td><td></td></tr>";
$query = doquery("SELECT*FROM {{table}} WHERE reciver='".$userrow["id"]."'", "fight");
$rank = 1;
while ($row = mysql_fetch_array($query)) {
$page .= "<tr><td><b>$rank</b></td><td>".$row["charname"]."</td><td >$".$row["bet"]."</td><td><a href="index.php?do=fight3:".$row["id"]."">[Accepter le duel]</a></td><td><a href="index.php?do=fight4:".$row["id"]."">[Refuser le duel]</a></tr>
";
$rank++;
}
if (mysql_num_rows($query) == 0) { $page .= "<tr><td width='100%'>Vous n'avez pas de defie.</td></tr>
"; } // Which hopefully isnt the case.
$page .= "</table>";
$page .= "<a href="index.php">Retourner en ville</a>";
display($page, "Dojo");
}
function fight3($id) { //
global $userrow, $numqueries;
$query = doquery("SELECT*FROM {{table}} WHERE id='$id'", "fight");
$row = mysql_fetch_array($query);
$vastanequery = doquery("SELECT*FROM {{table}} WHERE id='".$row["challenger"]."'", "users");
$vastanerow = mysql_fetch_array($vastanequery); // it is you rivals query...do not change it
if(isset($_POST['lose'])) {
//Sed letter to winner
$win = $row["bet"] * 2;
$title = "Victoire";
$message = "You won duel against ".$userrow["charname"].". You won $".$win."";
doquery("INSERT INTO {{table}} SET id='', owner='".$row["challenger"]."', sender='', message='$message', title='$title', date=NOW()", "mail");
//update tabel....winner
$newgold = $vastanerow["gold"] + $win;
$updatequery = doquery("UPDATE {{table}} SET gold='$newgold' WHERE id='".$row["challenger"]."'", "users");
//update table...looser
$newgold2 =$userrow["gold"] - $row["bet"];
$updatequery = doquery("UPDATE {{table}} SET gold='$newgold2' WHERE id='".$userrow["id"]."'", "users");
//what displays
$page.= "Vous avez perdu. Vous perdez ".$row["bet"]."gil(s)<p><a href="index.php">Retourner en ville</a>";
//delete row from mysql
doquery("DELETE FROM {{table}} WHERE id='$id'", "fight");
}
elseif(isset($_POST['win'])) {
//send lewtter
$win = $row["bet"] * 2;
$title = "Challenge defeat";
$message = "You were defeated by ".$userrow["charname"]." and u lost $".$row["bet"]."";
doquery("INSERT INTO {{table}} SET id='', owner='".$row["challenger"]."', sender='', message='$message', title='$title', date=NOW()", "mail");
//update table...looser
$newgold = $vastanerow["gold"] - $row["bet"];
$updatequery = doquery("UPDATE {{table}} SET gold='$newgold' WHERE id='".$row["challenger"]."' ", "users");
//update tabel....winner
$newgold2 = $userrow["gold"] + $row["bet"];
$updatequery = doquery("UPDATE {{table}} SET gold='$newgold2' WHERE id='".$userrow["id"]."' ", "users");
//what displays
$page.= "Vous avez gagner! Vous remportez ".$row["bet"]."gil(s)<p><a href="index.php">Retourner en ville</a>";
//delete row from mysql
doquery("DELETE FROM {{table}} WHERE id='$id'", "fight");
}
elseif($row["fightlvl"] > $userrow["fightlvl"]) //you lose
{ $page.= "<table>";
$page.= "<tr><td><img src="".$userrow["avatarid"].""></td><td>V.S</td><td><img src="".$vastanerow["avatarid"].""></td></tr><tr>".$userrow["charname"]."</td><td></td><td>".$vastanerow["charname"]."</td></tr><tr></tr><tr><td> Vous avez perdu !</td></tr><tr><td><form action=index.php?do=fight3:$id method=post><input type=submit value='Continuer' name=lose></td></tr></table>"; }
elseif($vastanerow["fightlvl"] < $userrow["fightlvl"]) //you won
{ $page.= "<table>";
$page.= "<tr><td><img src="".$userrow["avatarid"].""></td><td>V.S</td><td><img src="".$vastanerow["avatarid"].""></td></tr><tr>".$userrow["charname"]."</td><td></td><td>".$vastanerow["charname"]."</td></tr><tr></tr><tr><td>Vous avez gagner le défis</td></tr><tr><td><form action=index.php?do=fight3:$id method=post><input type=submit value='Continuer' name=won></td></tr></table>"; }
else { $page.="ERROR"; }
display($page, "Defis");
}
function fight4($id) { //
global $userrow, $numqueries, $vastanerow;
$query = doquery("SELECT * FROM {{table}} WHERE id='$id'", "fight");
$row = mysql_fetch_array($query);
$bet = $row["bet"];
$challenger = $row["challenger"];
$query2= doquery("SELECT gold FROM {{table}} WHERE id='$challenger'", "users");
$qrow = mysql_fetch_array($query2);
$bet2 = $qrow["gold"];
$newgold = $bet2 + $bet;
$query3 = doquery("UPDATE {{table}} SET gold='$newgold' WHERE id='$challenger' LIMIT 1", "users");
$query12 = doquery("DELETE FROM {{table}} WHERE id='$id' LIMIT 1", "fight");
$page .= "<strong>defis anuler</strong>";
$page .= "<p><a href="index.php?do=fight2">Revenir au dojo</a>";
display($page, "Annuler defis");
}
function mainfight() {
global $userrow;
$fightlvl = $userrow["strength"] + $userrow["dexterity"];
$update = doquery("UPDATE {{table}} SET fightlvl='$fightlvl' WHERE id='".$userrow["id"]."' LIMIT 1","users"); // updates fighting level
$page = "<table width='100%'>
<tr><td width='20%'><img src='images/auberge.gif'></td><td><h3 class='title'>Dojo :</h3><li /><a href="index.php?do=fight0">Créer un défis</a><li /><a href="index.php?do=fight2">Verifier vos défis</a><li /><a href="index.php?do=kamp">Voir votre clan</a><li />Retourner<a href='index.php'> en ville</a></table><b>Classement des joueurs les plus puissants du jeu :</b>";
$page .= "<table width="100%">";
$topquery = doquery("SELECT * FROM {{table}} ORDER BY level DESC LIMIT 20", "users");
$rank = 1;
while ($toprow = mysql_fetch_array($topquery)) {
$page .= "<tr><td width="10%"><b>$rank</b></td><td width="50"><a href="index.php?do=onlinechar:".$toprow["id"]."">".$toprow["charname"]."</a></td><td width="20%">Level: <b>".$toprow["level"]."</b></td><td width="20%">Exp: <b>".number_format($toprow["experience"])."</b></td></tr>
";
$rank++;
}
$page .= "</table>
<br /><br />
";
display($page, "Dojo - Tournoi"); }
?>
Dans index.php :
Code :
elseif ($do[0] == "mainfight") { include('versus2.php'); mainfight(); }
elseif ($do[0] == "fight0") { include('versus2.php'); fight0(); }
elseif ($do[0] == "fight2") { include('versus2.php'); fight2(); }
elseif ($do[0] == "fight3") { include('versus2.php'); fight3($do[1]); }
elseif ($do[0] == "fight4") { include('versus2.php'); fight4($do[1]); }
Et dans towns.php(templates) :
Code :
<img src="././images/pic2.gif" /><a href="index.php?do=mainfight"> Defier un joueur</a>
Maintenant les sql :
Code :
--
-- Structure de la table `rpg_fight`
--
CREATE TABLE `rpg_fight` (
`id` smallint(6) NOT NULL auto_increment,
`challenger` smallint(6) NOT NULL default '0',
`bet` mediumint(9) NOT NULL default '0',
`charname` varchar(30) NOT NULL default '',
`fightlvl` mediumint(9) NOT NULL default '0',
`reciver` smallint(6) NOT NULL default '0',
KEY `id` (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
--
-- Contenu de la table `rpg_fight`
--
Et dans ???_users:
Code :
fightlvl varchar(25)
|