Quote:
Originally Posted by Chdata
Can someone make stocks for
"TurnTowardsPoint(iClient, Float:vPos[3], Float:flAngle)"
That will add that angle towards your angle until it's turned you to be facing vPos?
And TurnTowardsAngle(iClient, Float:vAng[3], Float:flAngle) that works similarly.
Maybe it'd be useful for rocket movement or something olo.
|
You do it
PHP Code:
stock void TF2_LookAtPos(int client, float flGoal[3], float flAimSpeed = 0.05)
{
float flPos[3];
GetClientEyePosition(client, flPos);
float flAng[3];
GetClientEyeAngles(client, flAng);
// get normalised direction from target to client
float desired_dir[3];
MakeVectorFromPoints(flPos, flGoal, desired_dir);
GetVectorAngles(desired_dir, desired_dir);
// ease the current direction to the target direction
flAng[0] += AngleNormalize(desired_dir[0] - flAng[0]) * flAimSpeed;
flAng[1] += AngleNormalize(desired_dir[1] - flAng[1]) * flAimSpeed;
TeleportEntity(client, NULL_VECTOR, flAng, NULL_VECTOR);
}
stock float AngleNormalize(float angle)
{
angle = fmodf(angle, 360.0);
if (angle > 180)
{
angle -= 360;
}
if (angle < -180)
{
angle += 360;
}
return angle;
}
stock float fmodf(float number, float denom)
{
return number - RoundToFloor(number / denom) * denom;
}
__________________