|
|
by David
- #include <amxmodx>
- #include <engine>
- #include <fakemeta>
- #include <xs>
- /* by David */
- public client_PreThink(Client)
- {
- static Float: __clientVelocity = 5000.000_000; // 设置冲刺速度|Set Swoop Speed
- if(is_user_alive(Client) && get_pdata_int(Client, 317))
- {
- static Float:__vectorAngle[3], Float:__Velocity[3];
-
- entity_get_vector(Client, EV_VEC_v_angle, __vectorAngle);
-
- engfunc(EngFunc_MakeVectors, __vectorAngle);
-
- if(entity_get_int(Client, EV_INT_sequence) == 36) // 向上|Up
- {
- get_global_vector(GL_v_up, __vectorAngle);
-
- xs_vec_mul_scalar(__vectorAngle, __clientVelocity, __vectorAngle);
- }
-
- else if(entity_get_int(Client, EV_INT_sequence) == 37) // 向下|Down
- {
- get_global_vector(GL_v_up, __vectorAngle);
-
- xs_vec_mul_scalar(__vectorAngle, (__clientVelocity * -1.0), __vectorAngle);
- }
-
- else if(entity_get_int(Client, EV_INT_sequence) == 38) // 向左|Left
- {
- get_global_vector(GL_v_right, __vectorAngle);
-
- xs_vec_mul_scalar(__vectorAngle, (__clientVelocity * -1.0), __vectorAngle);
- }
-
- else if(entity_get_int(Client, EV_INT_sequence) == 39) // 向右|Right
- {
- get_global_vector(GL_v_right, __vectorAngle);
-
- xs_vec_mul_scalar(__vectorAngle, __clientVelocity, __vectorAngle);
- }
-
- else if(entity_get_int(Client, EV_INT_sequence) == 40) // 向前|Forward
- {
- get_global_vector(GL_v_forward, __vectorAngle);
-
- xs_vec_mul_scalar(__vectorAngle, __clientVelocity, __vectorAngle);
- }
-
- else if(entity_get_int(Client, EV_INT_sequence) == 41) // 向后|Backward
- {
- get_global_vector(GL_v_forward, __vectorAngle);
-
- xs_vec_mul_scalar(__vectorAngle, (__clientVelocity * -1.0), __vectorAngle);
- }
-
- xs_vec_copy(__vectorAngle, __Velocity);
-
- entity_set_vector(Client, EV_VEC_velocity, __Velocity);
- }
- }
复制代码 |
|