That code looks horrible.
This is how you do rotation:
PHP Code:
#include <amxmodx>
new Float:g_rotation_matrix[2][2]
new Float:g_vec[3] = {70.0, 0.0, 0.0}
public plugin_init() {
rotation_init(10.0)
set_task(0.1, "rotate", 4373, _, _, "b")
}
public rotation_init(Float:degrees_step){
g_rotation_matrix[0][0] = g_rotation_matrix[1][1] = floatcos(degrees_step, degrees)
g_rotation_matrix[1][0] = -(g_rotation_matrix[0][1] = -floatsin(degrees_step, degrees))
}
public rotate(){
new Float:x, Float:y
x = g_vec[0]*g_rotation_matrix[0][0] + g_vec[1]*g_rotation_matrix[0][1]
y = g_vec[0]*g_rotation_matrix[1][0] + g_vec[1]*g_rotation_matrix[1][1]
display()
g_vec[0] = x
g_vec[1] = y
}
public display(){
static players[32], pnum, origin[3]
get_players(players, pnum)
for(new i; i<pnum; i++){
get_user_origin(players[i], origin)
message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
write_byte(TE_SPARKS)
write_coord( floatround(g_vec[0] + origin[0]) )
write_coord( floatround(g_vec[1] + origin[1]) )
write_coord( floatround(g_vec[2] + origin[2]) )
message_end()
}
}
__________________