View Single Post
DJEarthQuake
Veteran Member
Join Date: Jan 2014
Location: Astral planes
Old 02-09-2024 , 10:37   Re: Change weapon damage in HL1
Reply With Quote #8

Tested OK.
PHP Code:
#include amxmodx
#include fakemeta
#include hamsandwich

#define PLUGIN "AR SHOTTY DAMAGE ADJ"
#define VERSION "1.0"

new const CvarXMultiplerDesc[]="Damage multiplier"

new const gWeaponClassname[] = "weapon_shotgun"
new bool:bShottyAttack[MAX_PLAYERS +1]
new 
Float:XMultipler

public plugin_init()
{
    
register_plugin(PLUGINVERSION".sρiηX҉.");
    
    
RegisterHamHam_Weapon_PrimaryAttack  gWeaponClassname"Weapon_Attack_Pre" )
    
RegisterHamHam_Weapon_PrimaryAttack  gWeaponClassname"Weapon_Attack_Post" )

    
RegisterHamHam_Weapon_SecondaryAttack  gWeaponClassname"Weapon_Attack_Pre" )
    
RegisterHamHam_Weapon_SecondaryAttack  gWeaponClassname"Weapon_Attack_Post" )
    
RegisterHam(Ham_TakeDamage"player""Event_Damage"0);
    
bind_pcvar_float(get_cvar_pointer("mp_damage_multiplier") ?
    
get_cvar_pointer("mp_damage_multiplier") :
    
create_cvar("mp_damage_multiplier""0.1"FCVAR_SERVERCvarXMultiplerDesc,.has_min true, .min_val 0.0, .has_max true, .max_val 10.0), XMultipler)
}

public 
Weapon_Attack_Pre( const weapon )
{
    static 
iPlayer;iPlayer pev(weaponpev_owner)
    
bShottyAttack[iPlayer] = true
}

public 
Weapon_Attack_Post( const weapon )
{
    static 
iPlayer;iPlayer pev(weaponpev_owner)
    
bShottyAttack[iPlayer] = false
}

public 
Event_Damage(victiminflictorattackerFloat:fDamagedmgbits)
{
    if(
is_user_connected(attacker))
    {
        
#define DAMAGE       4
        
new Float:Damage_adj  fDamage*XMultipler;

        if(
bShottyAttack[attacker] || dmgbits == DMG_BLAST )
        {
            if(!
XMultipler)
                return 
HAM_SUPERCEDE
            
else
                
SetHamParamFloat(DAMAGEDamage_adj)
            
client_print attackerprint_center"%i"floatround(Damage_adj)
        }
        else return 
HAM_IGNORED
    
}
    return 
PLUGIN_HANDLED


__________________

Last edited by DJEarthQuake; 02-09-2024 at 17:26. Reason: added primary
DJEarthQuake is offline