Raised This Month: $51 Target: $400
 12% 

Solved Weapon and HE grenade damage


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
Adomaz1
Senior Member
Join Date: Feb 2014
Old 12-29-2017 , 08:03   Weapon and HE grenade damage
Reply With Quote #1

I want to lower gun damage and remove HE grenade damage, but the code doesn't work, what's wrong here?

Code:
const DMG_HEGRENADE = (1<<24)
Code:
public ham_TakeDamage(victim, inflictor, attacker, Float:damage, damagebits) {	
	if(!is_user_connected(victim) || !is_user_connected(attacker) || victim == attacker)
		return HAM_IGNORED;
	
	static hitgroup
	hitgroup = g_hitgroups[victim]
	
	switch(get_class(victim)) {
		case 11:
		{
			if( damagebits & DMG_HEGRENADE ) {
				damage *= 0.00
				SetHamParamFloat(4, damage) 
			}
			else {
				switch(hitgroup) {
					case HIT_HEAD: damage *= 0.25
					case HIT_CHEST: damage *= 0.25
					case HIT_STOMACH: damage *= 0.25
					case HIT_LEFTARM: damage *= 0.25
					case HIT_RIGHTARM: damage *= 0.25
					case HIT_LEFTLEG: damage *= 0.25
					case HIT_RIGHTLEG: damage *= 0.25
					default: damage *= (damagebits & DMG_HEGRENADE) ? 0.00 : 0.25
				}
				SetHamParamFloat(4, damage)
				return HAM_HANDLED
			}
		}
	}
	return HAM_IGNORED;
}

Last edited by Adomaz1; 12-30-2017 at 11:38.
Adomaz1 is offline
KiLLeR.
Senior Member
Join Date: Jul 2014
Location: Bulgaria
Old 12-29-2017 , 11:47   Re: Weapon and HE grenade damage
Reply With Quote #2

You must do in Pre. Also in the given code both switch cases are useless.

Last edited by KiLLeR.; 12-29-2017 at 11:47.
KiLLeR. is offline
Adomaz1
Senior Member
Join Date: Feb 2014
Old 12-30-2017 , 08:14   Re: Weapon and HE grenade damage
Reply With Quote #3

Thanks for the reply. The problem is still there. :/

Code:
RegisterHam(Ham_TakeDamage, "player", "HamTakeDamagePre", 0);
Code:
public HamTakeDamagePre(victim, inflictor, attacker, Float:damage, damagebits) {	
	if(!is_user_connected(victim) || !is_user_connected(attacker) || victim == attacker)
		return HAM_IGNORED;

        if(cs_get_user_team(attacker) == CS_TEAM_CT) {
		SetHamParamFloat(4, damage * 0.5);
		return HAM_HANDLED;
	}
	
	switch(get_class(victim)) {
		case 11:
		{
			if( damagebits & DMG_HEGRENADE ) {
				new Float:newdmg = 0.0
				
				SetHamParamFloat(4, newdmg) 
			}
			else {
				new Float:newdmg = damage * 0.25
				
				SetHamParamFloat(4, newdmg)
				
				return HAM_HANDLED
			}
		}
	}
	return HAM_IGNORED;
}

Last edited by Adomaz1; 12-30-2017 at 08:56.
Adomaz1 is offline
DjSoftero
Veteran Member
Join Date: Nov 2014
Location: Lithuania
Old 12-30-2017 , 08:50   Re: Weapon and HE grenade damage
Reply With Quote #4

debug your code.
__________________
retired chump
DjSoftero is offline
Adomaz1
Senior Member
Join Date: Feb 2014
Old 12-30-2017 , 08:55   Re: Weapon and HE grenade damage
Reply With Quote #5

Quote:
Originally Posted by DjSoftero View Post
debug your code.
was debuged all the time, no error in logs
Adomaz1 is offline
DjSoftero
Veteran Member
Join Date: Nov 2014
Location: Lithuania
Old 12-30-2017 , 09:01   Re: Weapon and HE grenade damage
Reply With Quote #6

Quote:
Originally Posted by Adomaz1 View Post
was debuged all the time, no error in logs
output every value to console and check if it meets your expectations
__________________
retired chump
DjSoftero is offline
CrazY.
Veteran Member
Join Date: May 2015
Location: SP, Brazil
Old 12-30-2017 , 10:38   Re: Weapon and HE grenade damage
Reply With Quote #7

What this "get_class" do?
__________________








CrazY. is offline
Adomaz1
Senior Member
Join Date: Feb 2014
Old 12-30-2017 , 11:37   Re: Weapon and HE grenade damage
Reply With Quote #8

Fixed, thank you for your help.

The switches didn't work, because this code was above them:
Code:
if(cs_get_user_team(attacker) == CS_TEAM_CT) {
        SetHamParamFloat(4, damage * 0.5);
	return HAM_HANDLED;
}

Last edited by Adomaz1; 12-30-2017 at 11:38.
Adomaz1 is offline
KiLLeR.
Senior Member
Join Date: Jul 2014
Location: Bulgaria
Old 01-01-2018 , 10:24   Re: Weapon and HE grenade damage
Reply With Quote #9

Code:
public HamTakeDamagePre(victim, inflictor, attacker, Float:damage, damagebits) {        if(!is_user_connected(attacker) || victim == attacker)         return HAM_IGNORED;         if((get_class(victim) != 11))         return HAM_IGNORED;             if((damagebits & DMG_HEGRENADE))         return HAM_SUPERCUDE;         if(cs_get_user_team(attacker) == CS_TEAM_CT)     {         SetHamParamFloat(4, damage * 0.5);     }     else     {         SetHamParamFloat(4, damage * 0.25);     }     return HAM_IGNORED; }
KiLLeR. is offline
Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 00:12.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode