View Single Post
Natsheh
Veteran Member
Join Date: Sep 2012
Old 07-28-2016 , 19:48   Re: A better Burst-fire
Reply With Quote #9

PHP Code:
 Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <Hamsandwich>
#include <fakemeta>

#define PLUGIN "XXXXXXXX"
#define VERSION "1.0"
#define AUTHOR "Natsheh"

#define WEAPON_LINUX    4

const m_iWeaponOwner 41

#define SetMode(%1,%2)      ((%1 |= (1 << ( %2 & 31))))
#define unSetMode(%1,%2)    ((%1 &= ~(1 << ( %2 & 31))))
#define CheckMode(%1,%2)    ((%1 & (1 << ( %2 & 31))))

new Mode

new const mode_weapons[][] = {
    
"weapon_glock18",
    
"weapon_famas"
}

public 
plugin_init()
{
    
register_plugin(PLUGINVERSIONAUTHOR)
    
    for(new 
0sizeof mode_weaponsi++)
    {
        
RegisterHam(Ham_Item_Deploymode_weapons[i], "fw_wpn_deployed"false)
        
RegisterHam(Ham_Weapon_PrimaryAttackmode_weapons[i], "fw_player_firsmode"false)
        
RegisterHam(Ham_Weapon_SecondaryAttackmode_weapons[i], "fw_player_secmode"false)
    }
}

public 
fw_wpn_deployed( const iWpnid )
{
    if(!
pev_valid(wpnid))
        return 
HAM_IGNORED;
    
    new 
owner get_pdata_cbase(wpnidm_iWeaponOwnerWEAPON_LINUX)
    
    if(!
owner// no owner detected...
        
return HAM_IGNORED;
    
    
unSetMode(id,owner)
}

public 
fw_player_secmode(const wpnid)
{
    if(!
pev_valid(wpnid))
        return 
HAM_IGNORED;
    
    new 
owner get_pdata_cbase(wpnidm_iWeaponOwnerWEAPON_LINUX)
    
    if(!
owner// no owner detected...
        
return HAM_IGNORED;
    
    
    if(!(
CheckMode(Mode,owner)))
    {
        
SetMode(Mode,owner)
        
ExecuteHamB(Ham_Weapon_SecondaryAttackwpnid)
    }
    
    
ExecuteHamB(Ham_Weapon_PrimaryAttackwpnid)
    return 
HAM_SUPERCEDE;
}

public 
fw_player_firsmode(const wpnid)
{
    if(!
pev_valid(wpnid))
        return 
HAM_IGNORED;
    
    new 
owner get_pdata_cbase(wpnidm_iWeaponOwnerWEAPON_LINUX)
    
    if(!
owner// no owner detected...
        
return HAM_IGNORED;
    
    if((
CheckMode(Mode,owner)))
    {
        
unSetMode(Mode,owner)
        
ExecuteHamB(Ham_Weapon_SecondaryAttackwpnid)
    }
    
    
ExecuteHamB(Ham_Weapon_PrimaryAttackwpnid)
    return 
HAM_SUPERCEDE;

this should work i guess...

Last edited by Natsheh; 07-28-2016 at 20:01.
Natsheh is offline
Send a message via MSN to Natsheh Send a message via Skype™ to Natsheh