Log in

View Full Version : Functions :)


pyro.699
08-03-2006, 09:05 PM
Ok, i will try and make this as simple as i can.

I am making a script that is somewhat like diablo 2, where you have an inventory, and a dropdown menu with item stats and other things. Like in diablo 2, there are requirements and you need to achieve that score before you can equip that item. I have a quick function to get the requirements and spit them out.


function requirements($itemid, $userid)
{
global $db, $itemTypes;
$req = $db->query_first("SELECT * FROM `abp_items` WHERE `id` = '$itemid'");
if($userid != 0)
{
$usr = $db->query_first("SELECT * FROM `user` WHERE `userid` = '$userid'");
}
$equip = TRUE;
if($req['req_lvl'] != 0 and $usr['level'] >= $req['req_lvl'])
{
$requiremnt .= '
<div width="50%" style="background-color: #CCFFCC">
Required Level: '.$req['req_lvl'].'
</div>';

}
elseif($req['req_lvl'] != 0 and $usr['level'] < $req['req_lvl'])
{
$requiremnt .= '
<div width="50%" style="background-color: #FFCCCC">
Required Level: '.$req['req_lvl'].'
</div>';
$equip = FALSE;
}
.....

return $requiremnt;
return $equip;
}


I run this function in 1 place, but it will be soon be 2. How do i get $equip, without getting $requirement?


$var = '<div id="item'.$total.'_menu" style="width: 25%; height: auto; display:none; padding: 4px; border-style: dotted; border-width: 1px;" class="alt2">
<div style="width: 75%">
'.$description.'
</div>
<hr width="40%">
'.requirements($id, $userid).'
<hr width="40%">
'.attributes($id).'
</div>';


In the function you see $equip, when it is set to true, there is a link that enables you to equip the item. If it is set to false there is no link beacuse they have not met the requirements.

How do i make it so that i can go


requirements($id, $userid)
if($equip == true)
{
echo '<a href="#equip....">You can equip this item</a>';
}


$equip should be set? right, or do i need to use global?

Thankyou
~Cody Woolaver

pyro.699
08-06-2006, 10:47 AM
Im guessing that i dont need to use 'return' is there some other value that i should be using?

Paul M
08-06-2006, 11:02 AM
Store $requirement and $equip in an array and then return the array ;

$ret = array();
$ret['equip'] = $equip;
$ret['requirement'] = $requirement;
return $ret
Then you can do this ;

$req = requirements($id, $userid);
if($req['equip'] == true)
{
echo '<a href="#equip....">You can equip this item</a>';
}
(it would be better to store them in the array all through original function code, rather than just assign them at the end)

pyro.699
08-06-2006, 11:38 AM
ah, thanks a ton paul :)