AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   Help me He Knockback (https://forums.alliedmods.net/showthread.php?t=241393)

ZaturN 06-02-2014 17:59

Help me He Knockback
 
Can someone fix this plugin, the knockback will not go to the team, but for the enemies he will.

PHP Code:

/* AMX Mod script.
*
* HE-CONC 1.0
*  by ThantiK
*
*
* Description:
*  Remember CONC jumping in TFC? -- This adds the knockback to the HE 'nades
*  its great to set higher or lower depending on your wants.  But definately
*  adds some spunk to the game.
*  
* Commands:
*  CVAR - he_push, set higher or lower depending on the effect you want.
*
* Special Thanks:
*  JGHG for the help with setting velocity, and for the code on getting HE coords.
*  Ryan (War3 Expansion guy) for the mathematics and velocity stocks.
*/

#include <amxmodx> 
#include <amxmisc> 
#include <engine> 

#define SPEED 800.0

public plugin_init() { 
    
register_plugin("HE Knockback""1.0""ThantiK")
    
register_event("Damage""hedamage_event""b""2!0""4!0""5!0""6!0")
    
register_cvar("he_push","50.0")


stock get_velocity_from_originentFloat:fOrigin[3], Float:fSpeedFloat:fVelocity[3] )
{
    new 
Float:fEntOrigin[3];
    
entity_get_vectorentEV_VEC_originfEntOrigin );

    
// Velocity = Distance / Time

    
new Float:fDistance[3];
    
fDistance[0] = fEntOrigin[0] - fOrigin[0];
    
fDistance[1] = fEntOrigin[1] - fOrigin[1];
    
fDistance[2] = fEntOrigin[2] - fOrigin[2];

    new 
Float:fTime = ( vector_distancefEntOrigin,fOrigin ) / fSpeed );

    
fVelocity[0] = fDistance[0] / fTime;
    
fVelocity[1] = fDistance[1] / fTime;
    
fVelocity[2] = fDistance[2] / fTime;

    return ( 
fVelocity[0] && fVelocity[1] && fVelocity[2] );
}


// Sets velocity of an entity (ent) away from origin with speed (speed)

stock set_velocity_from_originentFloat:fOrigin[3], Float:fSpeed )
{
    new 
Float:fVelocity[3];
    
get_velocity_from_originentfOriginfSpeedfVelocity )

    
entity_set_vectorentEV_VEC_velocityfVelocity );

    return ( 
);


public 
hedamage_event(id) {
    new 
MAXPLAYERS
    MAXPLAYERS 
get_maxplayers()

    new 
inflictor entity_get_edict(idEV_ENT_dmg_inflictor)
    if (
inflictor <= MAXPLAYERS)
        return 
PLUGIN_CONTINUE

    
new classname2[8]
    
entity_get_string(inflictorEV_SZ_classnameclassname27)
    if (!
equal(classname2"grenade"))
        return 
PLUGIN_CONTINUE

    
new Float:upVector[3]
    
upVector[0] = float(read_data(4))
    
upVector[1] = float(read_data(5))
    
upVector[2] = float(read_data(6))

    new 
damagerept read_data(2)
    
set_velocity_from_origin(idupVectorget_cvar_float("he_push")*damagerept)

    return 
PLUGIN_CONTINUE




All times are GMT -4. The time now is 09:48.

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