Code:
Float:GetHeightVelocity(ent, Float:height)
{
static sv_gravity;
if(sv_gravity || (sv_gravity = get_cvar_pointer("sv_gravity")))
{
return floatsqroot(2.0 * get_pcvar_float(sv_gravity) * entity_get_float(ent, EV_FL_gravity) * height);
}
return 0.0;
}
Usage:
Code:
new Float:velocity[3];
entity_get_vector(id, EV_VEC_velocity, velocity);
velocity[2] = GetHeightVelocity(id, 500.0); // send player up 500 units
entity_set_vector(id, EV_VEC_velocity, velocity);
Use this site as a reference for some more gravity calculations:
http://home.roadrunner.com/~sccinfo/scigrav.htm
__________________