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

[req] jump bomb


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
speedykiller2012
Senior Member
Join Date: Jun 2014
Old 09-14-2015 , 10:30   [req] jump bomb
Reply With Quote #1

I Need a Plugin which Will Change He Grenade to a Grenade Which Knock-back Enemies .
Can Anyone Make Such Plugin PLEASE?

Last edited by speedykiller2012; 09-14-2015 at 10:30.
speedykiller2012 is offline
Krtola
Veteran Member
Join Date: Oct 2013
Location: Serbia
Old 09-14-2015 , 12:39   Re: [req] jump bomb
Reply With Quote #2

PHP Code:
#include <amxmodx>
#include <engine>    
#include <hamsandwich>

#define is_valid_player(%1) (1 <= %1 <= 32)

#define DMG_HEGRENADE (1<<24)
    
new hegrenade_velocity_cvar

public plugin_init()
{        
    
register_plugin("Hegrenade Velocity""1.0""Krtola")
    
    
RegisterHam(Ham_TakeDamage"player""Ham_hegrenade_velocity")

        
hegrenade_velocity_cvar register_cvar("hegrenade_velocity""600.0")        
}

public 
Ham_hegrenade_velocity(victiminflictorattackerFloat:damagedamagetype)

    if(!(
damagetype DMG_HEGRENADE) || !is_user_connected(victim) || !is_user_connected(attacker) || victim == attacker)
            return 
HAM_IGNORED

    
if(is_valid_player(attacker))
    {
            
SetHamParamFloat(4damage 0.0)     
            new 
Float:vec[3
            new 
Float:oldvelo[3
            
get_user_velocity(victimoldvelo
            
create_velocity_vector(victim attacker vec
            
vec[0] += oldvelo[0
            
vec[1] += oldvelo[1
            
set_user_velocity(victim vec
    } 
    return 
HAM_HANDLED    
}

stock create_velocity_vector(victim,attacker,Float:velocity[3])
{
    if(!
is_user_alive(victim) || !is_user_alive(attacker))
        return 
0

    
new Float:vicorigin[3]
    new 
Float:attorigin[3]
    
entity_get_vector(victim   EV_VEC_origin vicorigin)
    
entity_get_vector(attacker EV_VEC_origin attorigin)

    new 
Float:origin2[3]
    
origin2[0] = vicorigin[0] - attorigin[0]
    
origin2[1] = vicorigin[1] - attorigin[1]

    new 
Float:largestnum 0.0

    
if(floatabs(origin2[0])>largestnumlargestnum floatabs(origin2[0])
    if(
floatabs(origin2[1])>largestnumlargestnum floatabs(origin2[1])

    
origin2[0] /= largestnum
    origin2
[1] /= largestnum

    velocity
[0] = ( origin2[0]*(get_pcvar_float(hegrenade_velocity_cvar) * 3000)) / get_entity_distance(victim attacker)
    
velocity[1] = ( origin2[1]*(get_pcvar_float(hegrenade_velocity_cvar) * 3000)) / get_entity_distance(victim attacker)
    if(
velocity[0] <= 20.0 || velocity[1] <= 20.0)
        
velocity[2] = random_float(200.0 275.0)

    return 
1

Krtola is offline
Send a message via Skype™ to Krtola
speedykiller2012
Senior Member
Join Date: Jun 2014
Old 09-16-2015 , 11:44   Re: [req] jump bomb
Reply With Quote #3

Quote:
Originally Posted by Krtola View Post
PHP Code:
#include <amxmodx>
#include <engine>    
#include <hamsandwich>

#define is_valid_player(%1) (1 <= %1 <= 32)

#define DMG_HEGRENADE (1<<24)
    
new hegrenade_velocity_cvar

public plugin_init()
{        
    
register_plugin("Hegrenade Velocity""1.0""Krtola")
    
    
RegisterHam(Ham_TakeDamage"player""Ham_hegrenade_velocity")

        
hegrenade_velocity_cvar register_cvar("hegrenade_velocity""600.0")        
}

public 
Ham_hegrenade_velocity(victiminflictorattackerFloat:damagedamagetype)

    if(!(
damagetype DMG_HEGRENADE) || !is_user_connected(victim) || !is_user_connected(attacker) || victim == attacker)
            return 
HAM_IGNORED

    
if(is_valid_player(attacker))
    {
            
SetHamParamFloat(4damage 0.0)     
            new 
Float:vec[3
            new 
Float:oldvelo[3
            
get_user_velocity(victimoldvelo
            
create_velocity_vector(victim attacker vec
            
vec[0] += oldvelo[0
            
vec[1] += oldvelo[1
            
set_user_velocity(victim vec
    } 
    return 
HAM_HANDLED    
}

stock create_velocity_vector(victim,attacker,Float:velocity[3])
{
    if(!
is_user_alive(victim) || !is_user_alive(attacker))
        return 
0

    
new Float:vicorigin[3]
    new 
Float:attorigin[3]
    
entity_get_vector(victim   EV_VEC_origin vicorigin)
    
entity_get_vector(attacker EV_VEC_origin attorigin)

    new 
Float:origin2[3]
    
origin2[0] = vicorigin[0] - attorigin[0]
    
origin2[1] = vicorigin[1] - attorigin[1]

    new 
Float:largestnum 0.0

    
if(floatabs(origin2[0])>largestnumlargestnum floatabs(origin2[0])
    if(
floatabs(origin2[1])>largestnumlargestnum floatabs(origin2[1])

    
origin2[0] /= largestnum
    origin2
[1] /= largestnum

    velocity
[0] = ( origin2[0]*(get_pcvar_float(hegrenade_velocity_cvar) * 3000)) / get_entity_distance(victim attacker)
    
velocity[1] = ( origin2[1]*(get_pcvar_float(hegrenade_velocity_cvar) * 3000)) / get_entity_distance(victim attacker)
    if(
velocity[0] <= 20.0 || velocity[1] <= 20.0)
        
velocity[2] = random_float(200.0 275.0)

    return 
1

Thanks man
speedykiller2012 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 18:15.


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