2014-12-20 05:35:41 +00:00
|
|
|
#include <amxmodx>
|
|
|
|
#include <engine>
|
|
|
|
|
|
|
|
#define PLUGIN "Test Grenades"
|
|
|
|
#define VERSION "0.1"
|
|
|
|
#define AUTHOR "squeek."
|
|
|
|
|
|
|
|
#define TEST_GREN_TARGET_CVAR "test_gren_target"
|
2020-11-14 23:38:53 +00:00
|
|
|
#define TEST_GREN_RADIUS_CVAR "test_gren_radius"
|
2014-12-20 05:35:41 +00:00
|
|
|
|
|
|
|
public plugin_init()
|
|
|
|
{
|
|
|
|
register_plugin(PLUGIN, VERSION, AUTHOR)
|
|
|
|
register_think("tf_weapon_normalgrenade", "gren_think")
|
|
|
|
|
|
|
|
register_cvar(TEST_GREN_TARGET_CVAR, "1")
|
2020-11-14 23:38:53 +00:00
|
|
|
register_cvar(TEST_GREN_RADIUS_CVAR, "0")
|
2014-12-20 05:35:41 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
// teleport grenades to the origin of the target
|
|
|
|
public gren_think(gren_id)
|
|
|
|
{
|
2020-11-14 23:38:53 +00:00
|
|
|
if (get_cvar_num(TEST_GREN_TARGET_CVAR) < 0)
|
|
|
|
return
|
|
|
|
|
2014-12-20 05:35:41 +00:00
|
|
|
teleport_ent_to_ent(gren_id, get_cvar_num(TEST_GREN_TARGET_CVAR))
|
|
|
|
static Float:zero_velocity[3] = {0.0}
|
|
|
|
entity_set_vector(gren_id, EV_VEC_velocity, zero_velocity)
|
|
|
|
}
|
|
|
|
|
|
|
|
// move entity to the origin of the target
|
|
|
|
public teleport_ent_to_ent(ent_id, target_id)
|
|
|
|
{
|
|
|
|
if (!is_valid_ent(target_id) || !is_valid_ent(ent_id))
|
|
|
|
return
|
|
|
|
|
|
|
|
static Float:target_origin[3]
|
|
|
|
entity_get_vector(target_id, EV_VEC_origin, target_origin)
|
2020-11-14 23:38:53 +00:00
|
|
|
target_origin[0] = target_origin[0] + get_cvar_num(TEST_GREN_RADIUS_CVAR)
|
2014-12-20 05:35:41 +00:00
|
|
|
entity_set_vector(ent_id, EV_VEC_origin, target_origin)
|
|
|
|
}
|