I'll try and test it on my server before I go to sleep ( been up for about 24 hours ).
Edit: Use the pcvar natives.
Edit #2:
Code:
#include <amxmodx>
#include <engine>
#define PLUGIN "Steer nades"
#define VERSION "1.0"
#define AUTHOR "NL)Ramon(NL"
new bool:isgren[33]
new whosgren[33]
new grencam
new smokecam
new gravgren
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
grencam = register_cvar("amx_grencam","1")
smokecam = register_cvar("amx_smokecam","0")
gravgren = register_cvar("amx_gravgren","0")
}
public trowed() {
new id = read_data(1)
set_task(0.1,"makecam",id)
}
public grenade_throw(id,grenid,grentype) {
if(get_pcvar_num(grencam) <= 0 || is_user_bot(id)) return PLUGIN_CONTINUE
if(get_pcvar_num(smokecam) <= 0 && grentype == 9) return PLUGIN_CONTINUE
if(grenid <= 0)
{
isgren[id] = false
return PLUGIN_CONTINUE
}
isgren[id] = true
whosgren[id] = grenid
attach_view(id,grenid)
return PLUGIN_CONTINUE
}
public client_PreThink(id){
if(!isgren[id]) return PLUGIN_CONTINUE
if(!is_valid_ent(whosgren[id]))
{
isgren[id] = false
attach_view(id,id)
whosgren[id] = 0
return PLUGIN_CONTINUE
}
new Float:angles[3]
entity_get_vector(id,EV_VEC_v_angle,angles)
new Float:setvel[3]
velocity_by_aim(id,get_speed(whosgren[id]),setvel)
if(get_pcvar_num(gravgren))
{
new Float:vel[3]
entity_get_vector(whosgren[id],EV_VEC_velocity,vel)
setvel[2] = vel[2]
}
entity_set_vector(whosgren[id],EV_VEC_velocity,setvel)
entity_set_vector(whosgren[id],EV_VEC_angles,angles)
return PLUGIN_CONTINUE
}
__________________