for the being able to sell .5 of something change the selling items section of armory.php. This isn't really a solution but it fixes the problem, users won't be able to sell one of something only 2+
PHP Code:
//****
//Process Selling Items
//****
$att->clean(p,'posted2',str);
if($att->clean['posted2']=='yes')
{
//begin sell
$SellWeaponArray=array();
$SellArmorArray=array();
foreach($InventoryWeaponArray as $value)
{
$att->clean(p,"sellweapon$value[id]",uint);
if($att->clean["sellweapon$value[id]"]>$value['quantity'] OR $value['quantity']<2)
{
standard_error("You do not have that many items to sell");
}
if($att->clean["sellweapon$value[id]"]>0)
{
$SellWeaponArray[$value['itemid']]=$att->clean["sellweapon$value[id]"];
}
}
foreach($InventoryArmorArray as $value)
{
$att->clean(p,"sellarmor$value[id]",uint);
if($att->clean["sellarmor$value[id]"]>0)
{
$SellArmorArray[$value['itemid']]=$att->clean["sellarmor$value[id]"];
}
if($att->clean["sellarmor$value[id]"]>$value['quantity'] OR $value['quantity']<2)
{
standard_error("You do not have that many items to sell");
}
}
//calculate total reimbursement
$TotalSellValue=0;
foreach($SellWeaponArray as $key=>$value)
{
$SellValue=0;
$SellValue=round($WeaponList[$key]['cost']-$WeaponList[$key]['cost']*$WeaponList[$key]['sellpenalty']/100);
if($SellValue<0)
{
$SellValue=0;
}
$TotalSellValue=$TotalSellValue+$SellValue*$value;
}
foreach($SellArmorArray as $key=>$value)
{
$SellValue=0;
$SellValue=round($ArmorList[$key]['cost']-$ArmorList[$key]['cost']*$ArmorList[$key]['sellpenalty']/100);
if($SellValue<0){
$SellValue=0;
}
$TotalSellValue=$TotalSellValue+$SellValue*$value;
}
//give money
$NewGoldAmount=$playerinfo['gold']+$TotalSellValue;
$data->set(as_user);
$data->update(gold,$NewGoldAmount);
$data->where(id,$playerinfo['id']);
$data->execute(update);
//end give money
//complete order.
foreach($SellWeaponArray as $key=>$value)
{
$data->set(as_inventory);
$data->select('*');
$data->where(playerid,$playerinfo['id']);
$data->where(item,'weapon');
$data->where(itemid,$key);
$SellInfo=$data->execute(select1);
$NewQuantity=$SellInfo['quantity']-$value;
if($NewQuantity==0){
$data->set(as_inventory);
$data->delete();
$data->where(playerid,$playerinfo['id']);
$data->where(item,'weapon');
$data->where(itemid,$key);
$data->execute(delete);
}else{
$data->set(as_inventory);
$data->update(quantity,$NewQuantity);
$data->where(playerid,$playerinfo['id']);
$data->where(item,'weapon');
$data->where(itemid,$key);
$data->execute(update);
}
}
foreach($SellArmorArray as $key=>$value)
{
$data->set(as_inventory);
$data->select('*');
$data->where(playerid,$playerinfo['id']);
$data->where(item,'armor');
$data->where(itemid,$key);
$SellInfo=$data->execute(select1);
$NewQuantity=$SellInfo['quantity']-$value;
if($NewQuantity==0)
{
$data->set(as_inventory);
$data->delete();
$data->where(playerid,$playerinfo['id']);
$data->where(item,'armor');
$data->where(itemid,$key);
$data->execute(delete);
}else{
$data->set(as_inventory);
$data->update(quantity,$NewQuantity);
$data->where(playerid,$playerinfo['id']);
$data->where(item,'armor');
$data->where(itemid,$key);
$data->execute(update);
}
}
//end complete order
$att->redirect("$att_filename.php?do=armory");
//end sell
}
//****
//End Process Selling Items
//****
to fix the turns thing where people use characters like /.!#$$@ just find this line in viewplayer.php
PHP Code:
if($att->clean['turns']>15 OR $att->clean['turns']>$playerinfo['turns'] OR $att->clean['turns']<1){
standard_error("You cannot use that many turns");
}
make sure it looks like that and has the <1
are there any other bugs?