AMXX-BG.INFO entity_maths.inc Raw include

entity_maths.inc

Original include source with line numbers.

Back Download .inc
1 stock entity_set_follow(entity, target, Float:speed) {
2
3 if (!is_valid_ent(entity) || !is_valid_ent(target)) return 0
4
5 new Float:entity_origin[3], Float:target_origin[3]
6 entity_get_vector(entity, EV_VEC_origin, entity_origin)
7 entity_get_vector(target, EV_VEC_origin, target_origin)
8
9 new Float:diff[3]
10 diff[0] = target_origin[0] - entity_origin[0]
11 diff[1] = target_origin[1] - entity_origin[1]
12 diff[2] = target_origin[2] - entity_origin[2]
13
14 new Float:length = floatsqroot(floatpower(diff[0], 2.0) + floatpower(diff[1], 2.0) + floatpower(diff[2], 2.0))
15
16 new Float:Velocity[3]
17 Velocity[0] = diff[0] * (speed / length)
18 Velocity[1] = diff[1] * (speed / length)
19 Velocity[2] = diff[2] * (speed / length)
20
21 entity_set_vector(entity, EV_VEC_velocity, Velocity)
22
23 return 1
24 }