PHP Code:
/* Formatright © 2009, ConnorMcLeod
Infinite BpAmmo is free software;
you can redistribute it and/or modify it under the terms of the
GNU General Public License as published by the Free Software Foundation.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with Infinite BpAmmo; if not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>
#define VERSION "0.0.1"
enum
{
CurWeapon_IsActive = 1, // byte
CurWeapon_WeaponID, // byte
CurWeapon_ClipAmmo // byte
}
const XO_CBASEPLAYERWEAPON = 4
const m_iClip = 51
const m_iClientClip = 52
const m_pActiveItem = 373
new const g_iMaxClip[CSW_P90+1] = {
-1, 13, -1, 10, 1, 7, 1, 30, 30, 1, 30,
20, 25, 30, 35, 25, 12, 20, 10, 30, 100,
8 , 30, 30, 20, 2, 7, 30, 30, -1, 50
}
public plugin_init()
{
register_plugin("Infinite Ammo", VERSION, "ConnorMcLeod")
register_message(get_user_msgid("CurWeapon"), "Message_CurWeapon")
}
public Message_CurWeapon(iMsgId, iMsgDest, id)
{
if( get_msg_arg_int(CurWeapon_IsActive) )
{
new iMaxClip = g_iMaxClip[ get_msg_arg_int( CurWeapon_WeaponID ) ]
if( iMaxClip > 2 && get_msg_arg_int(CurWeapon_ClipAmmo) < iMaxClip )
{
new iWeapon = get_pdata_cbase(id, m_pActiveItem)
if( iWeapon > 0 )
{
set_pdata_int(iWeapon, m_iClip, iMaxClip, XO_CBASEPLAYERWEAPON)
set_pdata_int(iWeapon, m_iClientClip, iMaxClip, XO_CBASEPLAYERWEAPON)
set_msg_arg_int(CurWeapon_ClipAmmo, ARG_BYTE, iMaxClip)
}
}
}
}