|
mod : nouvel inventaire     (0 vote) Posté par sebcap26, le 21/04/2007 à 14:42:16 Bonjour, c'est mon premier mod alors soyez indulgents. Il changera l'inventaire pour en mettre un comme dans les vrais jeux de role. J'ai adapté le magasin pour que l'objet se place dans une des cases de l'inventaire. Vous pourrez également vendre, jeter ou équiper un objet à votre convenance. Voici déja un petit apercu : http://www.rpgillusion.net/modules/uploadeur/inventaire%20par%20sebcap26.jpg.
Bien alors on commence par le sql :
Code :
ALTER TABLE rpg_users ADD 'inv1' INT(255) DEFAULT '0',
ADD 'inv2' INT(255) DEFAULT '0',
ADD 'inv3' INT(255) DEFAULT '0',
ADD 'inv4' INT(255) DEFAULT '0',
ADD 'inv5' INT(255) DEFAULT '0',
ADD 'inv6' INT(255) DEFAULT '0',
ADD 'inv7' INT(255) DEFAULT '0',
ADD 'inv8' INT(255) DEFAULT '0',
ADD 'inv9' INT(255) DEFAULT '0';
ensuite, créez un fichier inventaire.php et mettez y ce code :
Code :
<?php
function inventaire () //affiche l'inventaire
{
global $userrow;
//récupération de l'inventaire
if ($userrow["inv1"]<>0);
{
$inv1q=doquery("SELECT * FROM {{table}} WHERE id=".$userrow["inv1"], "items");
$inv1=mysql_fetch_array($inv1q);
$img1="images/items/".$inv1["image"].".gif";
}
if($userrow["inv1"]==0)
{
$img1="images/items/0.gif";
}
if ($userrow["inv2"]<>0)
{
$inv2q=doquery("SELECT * FROM {{table}} WHERE id=".$userrow["inv2"], "items");
$inv2=mysql_fetch_array($inv2q);
$img2="images/items/".$inv2["image"].".gif";
}
if($userrow["inv2"]==0)
{
$img2="images/items/0.gif";
}
if ($userrow["inv3"]<>0)
{
$inv3q=doquery("SELECT * FROM {{table}} WHERE id=".$userrow["inv3"], "items");
$inv3=mysql_fetch_array($inv3q);
$img3="images/items/".$inv3["image"].".gif";
}
if($userrow["inv3"]==0)
{
$img3="images/items/0.gif";
}
if ($userrow["inv4"]<>0)
{
$inv4q=doquery("SELECT * FROM {{table}} WHERE id=".$userrow["inv4"], "items");
$inv4=mysql_fetch_array($inv4q);
$img4="images/items/".$inv4["image"].".gif";
}
if($userrow["inv4"]==0)
{
$img4="images/items/0.gif";
}
if ($userrow["inv5"]<>0)
{
$inv5q=doquery("SELECT * FROM {{table}} WHERE id=".$userrow["inv5"], "items");
$inv5=mysql_fetch_array($inv5q);
$img5="images/items/".$inv5["image"].".gif";
}
if($userrow["inv5"]==0)
{
$img5="images/items/0.gif";
}
if ($userrow["inv6"]<>0)
{
$inv6q=doquery("SELECT * FROM {{table}} WHERE id=".$userrow["inv6"], "items");
$inv6=mysql_fetch_array($inv6q);
$img6="images/items/".$inv6["image"].".gif";
}
if($userrow["inv6"]==0)
{
$img6="images/items/0.gif";
}
if ($userrow["inv7"]<>0)
{
$inv7q=doquery("SELECT * FROM {{table}} WHERE id=".$userrow["inv7"], "items");
$inv7=mysql_fetch_array($inv7q);
$img7="images/items/".$inv7["image"].".gif";
}
if($userrow["inv7"]==0)
{
$img7="images/items/0.gif";
}
if ($userrow["inv8"]<>0)
{
$inv8q=doquery("SELECT * FROM {{table}} WHERE id=".$userrow["inv8"], "items");
$inv8=mysql_fetch_array($inv8q);
$img8="images/items/".$inv8["image"].".gif";
}
if($userrow["inv8"]==0)
{
$img8="images/items/0.gif";
}
if ($userrow["inv9"]<>0)
{
$inv9q=doquery("SELECT * FROM {{table}} WHERE id=".$userrow["inv9"], "items");
$inv9=mysql_fetch_array($inv9q);
$img9="images/items/".$inv9["image"].".gif";
}
if($userrow["inv9"]==0)
{
$img9="images/items/0.gif";
}
if ($userrow["weaponid"]<>0)
{
$weaponq=doquery("SELECT * FROM {{table}} WHERE id=".$userrow["weaponid"], "items");
$weapon=mysql_fetch_array($weaponq);
$imgw="images/items/".$weapon["image"].".gif";
}
if($userrow["weaponid"]==0)
{
$imgw="images/items/0.gif";
}
if ($userrow["armorid"]<>0)
{
$armorq=doquery("SELECT * FROM {{table}} WHERE id=".$userrow["armorid"], "items");
$armor=mysql_fetch_array($armorq);
$imga="images/items/".$armor["image"].".gif";
}
if($userrow["armorid"]==0)
{
$imga="images/items/0.gif";
}
if ($userrow["shieldid"]<>0)
{
$shieldq=doquery("SELECT * FROM {{table}} WHERE id=".$userrow["shieldid"], "items");
$shield=mysql_fetch_array($shieldq);
$imgs="images/items/".$shield["image"].".gif";
}
if($userrow["shieldid"]==0)
{
$imgs="images/items/0.gif";
}
display ('<center><b>Inventaire</b>
<table border=5><tr><td>Arme</td><td>Armure</td><td>Autre</td></tr><tr>
<td><img src="'.$imgw.'" width=40 height=40></td>
<td><img src="'.$imga.'" width=40 height=40></td>
<td><img src="'.$imgs.'" width=40 height=40></td></tr></table>
<table border=5><tr>
<td><a href="index.php?do=useinv:1"><img src="'.$img1.'" width=40 height=40></a></td>
<td><a href="index.php?do=useinv:2"><img src="'.$img2.'" width=40 height=40></a></td>
<td><a href="index.php?do=useinv:3"><img src="'.$img3.'" width=40 height=40></a></td>
</tr><tr>
<td><a href="index.php?do=useinv:4"><img src="'.$img4.'" width=40 height=40></a></td>
<td><a href="index.php?do=useinv:5"><img src="'.$img5.'" width=40 height=40></a></td>
<td><a href="index.php?do=useinv:6"><img src="'.$img6.'" width=40 height=40></a></td>
</tr><tr>
<td><a href="index.php?do=useinv:7"><img src="'.$img7.'" width=40 height=40></a></td>
<td><a href="index.php?do=useinv:8"><img src="'.$img8.'" width=40 height=40></a></td>
<td><a href="index.php?do=useinv:9"><img src="'.$img9.'" width=40 height=40></a></td>
</tr></table><a href="index.php?do=jeter">Jeter un objet</a></center>', "inventaire");
}
function useinv($numinv)
{
global $userrow;
//récupération de l'inventaire
if ($numinv == '1')
{
$i1q=doquery("SELECT * FROM {{table}} WHERE id='".$userrow["inv1"]."'", "items");
$inv=mysql_fetch_array($i1q);
}
elseif ($numinv == '2')
{
$i2q=doquery("SELECT * FROM {{table}} WHERE id='".$userrow["inv2"]."'", "items");
$inv=mysql_fetch_array($i2q);
}
elseif ($numinv == '3')
{
$i3q=doquery("SELECT * FROM {{table}} WHERE id='".$userrow["inv3"]."'", "items");
$inv=mysql_fetch_array($i3q);
}
elseif ($numinv == '4')
{
$i4q=doquery("SELECT * FROM {{table}} WHERE id='".$userrow["inv4"]."'", "items");
$inv=mysql_fetch_array($i4q);
}
elseif ($numinv == '5')
{
$i5q=doquery("SELECT * FROM {{table}} WHERE id='".$userrow["inv5"]."'", "items");
$inv=mysql_fetch_array($i5q);
}
elseif ($numinv == '6')
{
$i6q=doquery("SELECT * FROM {{table}} WHERE id='".$userrow["inv6"]."'", "items");
$inv=mysql_fetch_array($i6q);
}
elseif ($numinv == '7')
{
$i7q=doquery("SELECT * FROM {{table}} WHERE id='".$userrow["inv7"]."'", "items");
$inv=mysql_fetch_array($i7q);
}
elseif ($numinv == '8')
{
$i8q=doquery("SELECT * FROM {{table}} WHERE id='".$userrow["inv8"]."'", "items");
$inv=mysql_fetch_array($i8q);
}
elseif ($numinv == '9')
{
$i9q=doquery("SELECT * FROM {{table}} WHERE id='".$userrow["inv9"]."'", "items");
$inv=mysql_fetch_array($i9q);
}
if($inv["id"]==0)
{
display("Aucun objet dans cet emplacement.<a href='index.php?do=inventaire'>Retour</a>", "vide");
exit();
}
$itemsquery = doquery("SELECT * FROM {{table}} WHERE id='".$inv["id"]."' LIMIT 1", "items");
$itemsrow = mysql_fetch_array($itemsquery);
if ($inv["type"] == 1)
{
$nvwname = $inv["name"];
$nvwid = $inv["id"];
$nvinvid = $userrow["weaponid"];
// Check if they already have an item in the slot.
if ($userrow["weaponid"] != 0) {
$itemsquery2 = doquery("SELECT * FROM {{table}} WHERE id='".$userrow["weaponid"]."' LIMIT 1", "items");
$itemsrow2 = mysql_fetch_array($itemsquery2);
} else {
$itemsrow2 = array("attribute"=>0,"buycost"=>0,"special"=>"Aucun");
}
// Special item fields.
$specialchange1 = "";
$specialchange2 = "";
if ($itemsrow["special"] != "Aucun") {
$special = explode(",",$itemsrow["special"]);
$tochange = $special[0];
$userrow[$tochange] = $userrow[$tochange] + $special[1];
$specialchange1 = "$tochange='".$userrow[$tochange]."',";
if ($tochange == "strength") { $userrow["attackpower"] += $special[1]; }
if ($tochange == "dexterity") { $userrow["defensepower"] += $special[1]; }
}
if ($itemsrow2["special"] != "Aucun") {
$special2 = explode(",",$itemsrow2["special"]);
$tochange2 = $special2[0];
$userrow[$tochange2] = $userrow[$tochange2] - $special2[1];
$specialchange2 = "$tochange2='".$userrow[$tochange2]."',";
if ($tochange2 == "strength") { $userrow["attackpower"] -= $special2[1]; }
if ($tochange2 == "dexterity") { $userrow["defensepower"] -= $special2[1]; }
}
if ($userrow['charname'] != $townrow['commercant1']){
$newgold = $userrow["gold"] + ceil($itemsrow2["buycost"]/2) - $itemsrow["buycost"];
}else{
$newgold = $userrow["gold"];
}
$newattack = $userrow["attackpower"] + $itemsrow["attribute"] - $itemsrow2["attribute"];
$newid = $itemsrow["id"];
$newname = $itemsrow["name"];
$userid = $userrow["id"];
if ($userrow["currenthp"] > $userrow["maxhp"]) { $newhp = $userrow["maxhp"]; } else { $newhp = $userrow["currenthp"]; }
if ($userrow["currentmp"] > $userrow["maxmp"]) { $newmp = $userrow["maxmp"]; } else { $newmp = $userrow["currentmp"]; }
if ($userrow["currenttp"] > $userrow["maxtp"]) { $newtp = $userrow["maxtp"]; } else { $newtp = $userrow["currenttp"]; }
$updatequery = doquery("UPDATE {{table}} SET $specialchange1 $specialchange2 prarme=0, attackpower='$newattack', weaponid='$newid', weaponname='$newname', currenthp='$newhp', currentmp='$newmp', currenttp='$newtp' WHERE id='".$userrow["id"]."' LIMIT 1", "users");
doquery("UPDATE {{table}} set weaponname='".$nvwname."', weaponid='".$nvwid."', inv".$numinv."='".$nvinvid."' WHERE id='".$userrow["id"]."'", "users");
display("<center>L'objet à bien été équipé.<a href='index.php?do=inventaire'>Retour</a></center>", "itemused");
}
if ($inv["type"] == 2)
{
$nvaname = $inv["name"];
$nvaid = $inv["id"];
$nvinvid = $userrow["armorid"];
// Check if they already have an item in the slot.
if ($userrow["armorid"] != 0) {
$itemsquery2 = doquery("SELECT * FROM {{table}} WHERE id='".$userrow["armorid"]."' LIMIT 1", "items");
$itemsrow2 = mysql_fetch_array($itemsquery2);
} else {
$itemsrow2 = array("attribute"=>0,"buycost"=>0,"special"=>"Aucun");
}
// Special item fields.
$specialchange1 = "";
$specialchange2 = "";
if ($itemsrow["special"] != "Aucun") {
$special = explode(",",$itemsrow["special"]);
$tochange = $special[0];
$userrow[$tochange] = $userrow[$tochange] + $special[1];
$specialchange1 = "$tochange='".$userrow[$tochange]."',";
if ($tochange == "strength") { $userrow["attackpower"] += $special[1]; }
if ($tochange == "dexterity") { $userrow["defensepower"] += $special[1]; }
}
if ($itemsrow2["special"] != "Aucun") {
$special2 = explode(",",$itemsrow2["special"]);
$tochange2 = $special2[0];
$userrow[$tochange2] = $userrow[$tochange2] - $special2[1];
$specialchange2 = "$tochange2='".$userrow[$tochange2]."',";
if ($tochange2 == "strength") { $userrow["attackpower"] -= $special2[1]; }
if ($tochange2 == "dexterity") { $userrow["defensepower"] -= $special2[1]; }
}
// New stats.
if ($userrow['charname'] != $townrow['commercant1']){
$newgold = $userrow["gold"] + ceil($itemsrow2["buycost"]/2) - $itemsrow["buycost"];
}else{
$newgold = $userrow["gold"];
}
$newdefense = $userrow["defensepower"] + $itemsrow["attribute"] - $itemsrow2["attribute"];
$newid = $itemsrow["id"];
$newname = $itemsrow["name"];
$userid = $userrow["id"];
if ($userrow["currenthp"] > $userrow["maxhp"]) { $newhp = $userrow["maxhp"]; } else { $newhp = $userrow["currenthp"]; }
if ($userrow["currentmp"] > $userrow["maxmp"]) { $newmp = $userrow["maxmp"]; } else { $newmp = $userrow["currentmp"]; }
if ($userrow["currenttp"] > $userrow["maxtp"]) { $newtp = $userrow["maxtp"]; } else { $newtp = $userrow["currenttp"]; }
$updatequery = doquery("UPDATE {{table}} SET $specialchange1 $specialchange2 ptarmure=0, defensepower='$newdefense', armorid='$newid', armorname='$newname', currenthp='$newhp', currentmp='$newmp', currenttp='$newtp' WHERE id='".$userros["id"]."' LIMIT 1", "users");
doquery("UPDATE {{table}} set armorname='".$nvaname."', armorid='".$nvaid."', inv".$numinv."='".$nvinvid."' WHERE id='".$userrow["id"]."'", "users");
display("<center>L'objet a bien été équipé.<a href='index.php?do=inventaire'>Retour</a></center>", "itemused");
}
if ($inv["type"] == 3)
{
$nvsname = $inv["name"];
$nvsid = $inv["id"];
$nvinvid = $userrow["shieldid"];
// Check if they already have an item in the slot.
if ($userrow["shieldid"] != 0) {
$itemsquery2 = doquery("SELECT * FROM {{table}} WHERE id='".$userrow["shieldid"]."' LIMIT 1", "items");
$itemsrow2 = mysql_fetch_array($itemsquery2);
} else {
$itemsrow2 = array("attribute"=>0,"buycost"=>0,"special"=>"Aucun");
}
// Special item fields.
$specialchange1 = "";
$specialchange2 = "";
if ($itemsrow["special"] != "Aucun") {
$special = explode(",",$itemsrow["special"]);
$tochange = $special[0];
$userrow[$tochange] = $userrow[$tochange] + $special[1];
$specialchange1 = "$tochange='".$userrow[$tochange]."',";
if ($tochange == "strength") { $userrow["attackpower"] += $special[1]; }
if ($tochange == "dexterity") { $userrow["defensepower"] += $special[1]; }
}
if ($itemsrow2["special"] != "Aucun") {
$special2 = explode(",",$itemsrow2["special"]);
$tochange2 = $special2[0];
$userrow[$tochange2] = $userrow[$tochange2] - $special2[1];
$specialchange2 = "$tochange2='".$userrow[$tochange2]."',";
if ($tochange2 == "strength") { $userrow["attackpower"] -= $special2[1]; }
if ($tochange2 == "dexterity") { $userrow["defensepower"] -= $special2[1]; }
}
// New stats.
if ($userrow['charname'] != $townrow['commercant1']){
$newgold = $userrow["gold"] + ceil($itemsrow2["buycost"]/2) - $itemsrow["buycost"];
}else{
$newgold = $userrow["gold"];
}
$newdefense = $userrow["defensepower"] + $itemsrow["attribute"] - $itemsrow2["attribute"];
$newid = $itemsrow["id"];
$newname = $itemsrow["name"];
$userid = $userrow["id"];
if ($userrow["currenthp"] > $userrow["maxhp"]) { $newhp = $userrow["maxhp"]; } else { $newhp = $userrow["currenthp"]; }
if ($userrow["currentmp"] > $userrow["maxmp"]) { $newmp = $userrow["maxmp"]; } else { $newmp = $userrow["currentmp"]; }
if ($userrow["currenttp"] > $userrow["maxtp"]) { $newtp = $userrow["maxtp"]; } else { $newtp = $userrow["currenttp"]; }
$updatequery = doquery("UPDATE {{table}} SET $specialchange1 $specialchange2 ptarmure=0, defensepower='$newdefense', shieldid='$newid', shieldname='$newname', currenthp='$newhp', currentmp='$newmp', currenttp='$newtp' WHERE id='".$userrow["id"]."' LIMIT 1", "users");
doquery("UPDATE {{table}} set shieldname='".$nvsname."', shieldid='".$nvsid."', inv".$numinv."='".$nvinvid."' WHERE id='".$userrow["id"]."'", "users");
display("<center>L'objet a bien été équipé.<a href='index.php?do=inventaire'>Retour</a></center>", "itemused");
}
}
function jeter()
{
global $userrow;
//récupération de l'inventaire
if ($userrow["inv1"]<>0);
{
$inv1q=doquery("SELECT * FROM {{table}} WHERE id=".$userrow["inv1"], "items");
$inv1=mysql_fetch_array($inv1q);
$img1="images/items/".$inv1["image"].".gif";
}
if($userrow["inv1"]==0)
{
$img1="images/items/0.gif";
}
if ($userrow["inv2"]<>0)
{
$inv2q=doquery("SELECT * FROM {{table}} WHERE id=".$userrow["inv2"], "items");
$inv2=mysql_fetch_array($inv2q);
$img2="images/items/".$inv2["image"].".gif";
}
if($userrow["inv2"]==0)
{
$img2="images/items/0.gif";
}
if ($userrow["inv3"]<>0)
{
$inv3q=doquery("SELECT * FROM {{table}} WHERE id=".$userrow["inv3"], "items");
$inv3=mysql_fetch_array($inv3q);
$img3="images/items/".$inv3["image"].".gif";
}
if($userrow["inv3"]==0)
{
$img3="images/items/0.gif";
}
if ($userrow["inv4"]<>0)
{
$inv4q=doquery("SELECT * FROM {{table}} WHERE id=".$userrow["inv4"], "items");
$inv4=mysql_fetch_array($inv4q);
$img4="images/items/".$inv4["image"].".gif";
}
if($userrow["inv4"]==0)
{
$img4="images/items/0.gif";
}
if ($userrow["inv5"]<>0)
{
$inv5q=doquery("SELECT * FROM {{table}} WHERE id=".$userrow["inv5"], "items");
$inv5=mysql_fetch_array($inv5q);
$img5="images/items/".$inv5["image"].".gif";
}
if($userrow["inv5"]==0)
{
$img5="images/items/0.gif";
}
if ($userrow["inv6"]<>0)
{
$inv6q=doquery("SELECT * FROM {{table}} WHERE id=".$userrow["inv6"], "items");
$inv6=mysql_fetch_array($inv6q);
$img6="images/items/".$inv6["image"].".gif";
}
if($userrow["inv6"]==0)
{
$img6="images/items/0.gif";
}
if ($userrow["inv7"]<>0)
{
$inv7q=doquery("SELECT * FROM {{table}} WHERE id=".$userrow["inv7"], "items");
$inv7=mysql_fetch_array($inv7q);
$img7="images/items/".$inv7["image"].".gif";
}
if($userrow["inv7"]==0)
{
$img7="images/items/0.gif";
}
if ($userrow["inv8"]<>0)
{
$inv8q=doquery("SELECT * FROM {{table}} WHERE id=".$userrow["inv8"], "items");
$inv8=mysql_fetch_array($inv8q);
$img8="images/items/".$inv8["image"].".gif";
}
if($userrow["inv8"]==0)
{
$img8="images/items/0.gif";
}
if ($userrow["inv9"]<>0)
{
$inv9q=doquery("SELECT * FROM {{table}} WHERE id=".$userrow["inv9"], "items");
$inv9=mysql_fetch_array($inv9q);
$img9="images/items/".$inv9["image"].".gif";
}
if($userrow["inv9"]==0)
{
$img9="images/items/0.gif";
}
display ('<center><b>Quel objet voulez-vous jeter ?</b>
<table border=5><tr>
<td><a href="index.php?do=jeter2:1"><img src="'.$img1.'" width=40 height=40></a></td>
<td><a href="index.php?do=jeter2:2"><img src="'.$img2.'" width=40 height=40></a></td>
<td><a href="index.php?do=jeter2:3"><img src="'.$img3.'" width=40 height=40></a></td>
</tr><tr>
<td><a href="index.php?do=jeter2:4"><img src="'.$img4.'" width=40 height=40></a></td>
<td><a href="index.php?do=jeter2:5"><img src="'.$img5.'" width=40 height=40></a></td>
<td><a href="index.php?do=jeter2:6"><img src="'.$img6.'" width=40 height=40></a></td>
</tr><tr>
<td><a href="index.php?do=jeter2:7"><img src="'.$img7.'" width=40 height=40></a></td>
<td><a href="index.php?do=jeter2:8"><img src="'.$img8.'" width=40 height=40></a></td>
<td><a href="index.php?do=jeter2:9"><img src="'.$img9.'" width=40 height=40></a></td>
</tr></table></center>', "inventaire");
}
function jeter2($numinv)
{
global $userrow;
//récupération de l'inventaire
if ($numinv == '1')
{
$i1q=doquery("SELECT * FROM {{table}} WHERE id='".$userrow["inv1"]."'", "items");
$inv=mysql_fetch_array($i1q);
}
elseif ($numinv == '2')
{
$i2q=doquery("SELECT * FROM {{table}} WHERE id='".$userrow["inv2"]."'", "items");
$inv=mysql_fetch_array($i2q);
}
elseif ($numinv == '3')
{
$i3q=doquery("SELECT * FROM {{table}} WHERE id='".$userrow["inv3"]."'", "items");
$inv=mysql_fetch_array($i3q);
}
elseif ($numinv == '4')
{
$i4q=doquery("SELECT * FROM {{table}} WHERE id='".$userrow["inv4"]."'", "items");
$inv=mysql_fetch_array($i4q);
}
elseif ($numinv == '5')
{
$i5q=doquery("SELECT * FROM {{table}} WHERE id='".$userrow["inv5"
|