Fixed an error that happened when buying ammo and not having a weapon in prim/sec slot.

This commit is contained in:
Greyscale 2010-06-29 12:14:51 -07:00
parent ba5f3dc8b7
commit bf8d99c206

View File

@ -913,12 +913,31 @@ stock bool:ZMarketEquip(client, const String:weapon[], bool:rebuy = false)
return false; return false;
} }
// Give ammo and preserve client's clip ammo value on both primary/secondary weapons. // Prevent exploit by refilling ammo by re-buying weapon.
new prim_clip = WeaponAmmoGetAmmo(weapons[Slot_Primary], true); // Current clip amounts are stored, ammo is refilled, and then clips are reset.
new sec_clip = WeaponAmmoGetAmmo(weapons[Slot_Secondary], true);
new prim_clip;
new sec_clip;
if (weapons[Slot_Primary] > 0)
{
prim_clip = WeaponAmmoGetAmmo(weapons[Slot_Primary], true);
}
if (weapons[Slot_Secondary] > 0)
{
sec_clip = WeaponAmmoGetAmmo(weapons[Slot_Secondary], true);
}
GivePlayerItem(client, weaponammo); GivePlayerItem(client, weaponammo);
WeaponAmmoSetAmmo(weapons[Slot_Primary], true, prim_clip);
WeaponAmmoSetAmmo(weapons[Slot_Secondary], true, sec_clip); if (weapons[Slot_Primary] > 0)
{
WeaponAmmoSetAmmo(weapons[Slot_Primary], true, prim_clip);
}
if (weapons[Slot_Secondary] > 0)
{
WeaponAmmoSetAmmo(weapons[Slot_Secondary], true, sec_clip);
}
} }
return true; return true;