Quote:
Originally Posted by QuickDroLLL
nice one !
i have realy cool idea like adding native thats add limit per player its will be cool and more advanced
|
You can do something like this:
PHP Code:
#include <amxmodx>
#include <weapon>
const MAX_WEAPON_LENGTH = 64;
new g_iWeaponLimit[ MAX_WEAPON_LENGTH ];
new g_iPlayerLimit[ MAX_PLAYERS + 1 ][ MAX_WEAPON_LENGTH ];
public plugin_init( )
{
register_plugin( "Weapons Api: Limit", "1.0", "Supremache" )
}
public weapon_select_pre( id , iWeaponID )
{
new iWpnLimit = g_iWeaponLimit[ iWeaponID ];
if( iWpnLimit && g_iPlayerLimit[ id ][ iWeaponID ] >= iWpnLimit )
{
add_weapon_text( "\r(%d/%d)", g_iPlayerLimit[ id ][ iWeaponID ], iWpnLimit );
return WEAPON_UNAVAILABLE;
}
return WEAPON_AVAILABLE;
}
public weapon_select_post( id , iWeaponID )
{
g_iPlayerLimit[ id ][ iWeaponID ]++;
}
public plugin_natives( )
{
register_native("set_wpn_limit", "_set_wpn_limit" )
register_native("get_user_limit", "_get_user_limit" )
register_native("get_wpn_limit", "_get_wpn_limit" )
}
public _get_user_limit( iPlugin, iParams )
{
new id = get_param( 2 ), iWeaponID = get_param( 2 );
if( !is_valid_weapon( iWeaponID ) )
{
log_error( AMX_ERR_NATIVE, "Invalid weapon id (%d)", iWeaponID )
return WEAPON_INVALID;
}
return g_iPlayerLimit[ id ][ iWeaponID ];
}
public _set_wpn_limit( iPlugin, iParams )
{
new iWeaponID = get_param( 1 ), iWeaponLimit = get_param( 2 );
if( !is_valid_weapon( iWeaponID ) )
{
log_error( AMX_ERR_NATIVE, "Invalid weapon id (%d)", iWeaponID )
return WEAPON_INVALID;
}
if( !iWeaponLimit )
{
log_error(AMX_ERR_NATIVE, "Invalid Limit (%d)", iWeaponLimit )
return 0;
}
g_iWeaponLimit[ iWeaponID ] = iWeaponLimit;
return 1;
}
public _get_wpn_limit( iPlugin, iParams )
{
new iWeaponID = get_param( 1 );
if( !is_valid_weapon( iWeaponID ) )
{
log_error( AMX_ERR_NATIVE, "Invalid weapon id (%d)", iWeaponID )
return WEAPON_INVALID;
}
return g_iWeaponLimit[ iWeaponID ];
}
@Natsheh, Replaced, thanks.
__________________