#include <amxmodx>
#include <engine>
#include <fakemeta>
new Float:lastpushtime[33]
new cvar_speed,cvar_delay,cvar_dist,cvar_team
public plugin_init()
{
register_plugin("Player Push","1.1","Nandee")
register_forward(FM_CmdStart,"fwd_cmdstart")
cvar_speed=register_cvar("amx_push_speed","500")
cvar_delay=register_cvar("amx_push_delay","5")
cvar_dist=register_cvar("amx_push_dist","50")
cvar_team=register_cvar("amx_push_team","2")
}
public fwd_cmdstart(id,uc_handle,seed)
{
if(is_user_alive(id)&&(get_user_button(id)&IN_USE)&&!(get_user_oldbutton(id)&IN_USE)
&&get_gametime()-lastpushtime[id]>=get_pcvar_float(cvar_delay))
{
new Float:velo[3],target,body
get_user_aiming(id,target,body,get_pcvar_num(cvar_dist))
if(!is_user_alive(id))
return PLUGIN_HANDLED
new teammate=get_user_team(target)==get_user_team(id)?1:0
if(get_pcvar_num(cvar_team)==2||teammate!=get_pcvar_num(cvar_team))
{
velocity_by_aim(id,get_pcvar_num(cvar_speed),velo)
set_pev(target,pev_velocity,velo)
lastpushtime[id]=get_gametime()
}
}
return PLUGIN_CONTINUE
}