ok so I'm new here, I'm trying to learn to code, and I can't see anything wrong with this but maybe you can. When I use an item in my game it takes away 2 instead of 1 everytime I use an item.
here is the code for itemuse.php
<?php
include "globals.php";
$_GET['ID'] = abs((int) $_GET['ID']);
//Food
if(!$_GET['ID'])
{
print "Invalid use of file";
}
else
{
$i=$db->query("SELECT iv.*,i.*,it.* FROM inventory iv LEFT JOIN items i ON iv.inv_itemid=i.itmid LEFT JOIN itemtypes it ON i.itmtype=it.itmtypeid WHERE iv.inv_id={$_GET['ID']} AND iv.inv_userid=$userid");
if(mysql_num_rows($i) == 0)
{
print "Invalid item ID";
}
else
{
$r=$db->fetch_row($i);
if(!$r['effect1_on'] && !$r['effect2_on'] && !$r['effect3_on'])
{
die("Sorry, this item cannot be used as it has no effect.");
}
if($r['effect1_on'])
{
$einfo=unserialize($r['effect1']);
if($einfo['inc_type']=="percent")
{
if(in_array($einfo['stat'],array('energy','will','brave','hp')))
{
$inc=round($ir['max'.$einfo['stat']]/100*$einfo['inc_amount']);
}
else
{
$inc=round($ir[$einfo['stat']]/100*$einfo['inc_amount']);
}
}
else
{
$inc=$einfo['inc_amount'];
}
if($einfo['dir']=="pos")
{
if(in_array($einfo['stat'],array('energy','will','brave','hp')))
{
$ir[$einfo['stat']]=min($ir[$einfo['stat']]+$inc, $ir['max'.$einfo['stat']]);
}
else
{
$ir[$einfo['stat']]+=$inc;
}
}
else
{
$ir[$einfo['stat']]=max($ir[$einfo['stat']]-$inc, 0);
}
$upd=$ir[$einfo['stat']];
if(in_array($einfo['stat'], array('strength', 'agility', 'guard', 'labour', 'IQ')))
{
$db->query("UPDATE `userstats` SET {$einfo['stat']} = '{$upd}' WHERE userid={$userid}");
}
else
{
$db->query("UPDATE `users` SET {$einfo['stat']} = '{$upd}' WHERE userid={$userid}");
}
}
if($r['effect2_on'])
{
$einfo=unserialize($r['effect2']);
if($einfo['inc_type']=="percent")
{
if(in_array($einfo['stat'],array('energy','will','brave','hp')))
{
$inc=round($ir['max'.$einfo['stat']]/100*$einfo['inc_amount']);
}
else
{
$inc=round($ir[$einfo['stat']]/100*$einfo['inc_amount']);
}
}
else
{
$inc=$einfo['inc_amount'];
}
if($einfo['dir']=="pos")
{
if(in_array($einfo['stat'],array('energy','will','brave','hp')))
{
$ir[$einfo['stat']]=min($ir[$einfo['stat']]+$inc, $ir['max'.$einfo['stat']]);
}
else
{
$ir[$einfo['stat']]+=$inc;
}
}
else
{
$ir[$einfo['stat']]=max($ir[$einfo['stat']]-$inc, 0);
}
$upd=$ir[$einfo['stat']];
if(in_array($einfo['stat'], array('strength', 'agility', 'guard', 'labour', 'IQ')))
{
$db->query("UPDATE `userstats` SET {$einfo['stat']} = '{$upd}' WHERE userid={$userid}");
}
else
{
$db->query("UPDATE `users` SET {$einfo['stat']} = '{$upd}' WHERE userid={$userid}");
}
}
if($r['effect3_on'])
{
$einfo=unserialize($r['effect3']);
if($einfo['inc_type']=="percent")
{
if(in_array($einfo['stat'],array('energy','will','brave','hp')))
{
$inc=round($ir['max'.$einfo['stat']]/100*$einfo['inc_amount']);
}
else
{
$inc=round($ir[$einfo['stat']]/100*$einfo['inc_amount']);
}
}
else
{
$inc=$einfo['inc_amount'];
}
if($einfo['dir']=="pos")
{
if(in_array($einfo['stat'],array('energy','will','brave','hp')))
{
$ir[$einfo['stat']]=min($ir[$einfo['stat']]+$inc, $ir['max'.$einfo['stat']]);
}
else
{
$ir[$einfo['stat']]+=$inc;
}
}
else
{
$ir[$einfo['stat']]=max($ir[$einfo['stat']]-$inc, 0);
}
$upd=$ir[$einfo['stat']];
if(in_array($einfo['stat'], array('strength', 'agility', 'guard', 'labour', 'IQ')))
{
$db->query("UPDATE `userstats` SET {$einfo['stat']} = '{$upd}' WHERE userid={$userid}");
}
else
{
$db->query("UPDATE `users` SET {$einfo['stat']} = '{$upd}' WHERE userid={$userid}");
}
}
print "{$r['itmname']} used successfully!";
item_remove($userid, $r['inv_itemid'], 1);
}
}
$h->endpage();
?>