mob/proc/shake()
sleep(2)
src.client.eye = locate(usr.x,usr.y++,usr.z)
src.client.perspective = EYE_PERSPECTIVE
sleep(2)
src.client.eye = usr
src.client.perspective = EYE_PERSPECTIVE
sleep(2)
src.client.eye = locate(usr.x++,usr.y,usr.z)
src.client.perspective = EYE_PERSPECTIVE
sleep(2)
src.client.eye = usr
src.client.perspective = EYE_PERSPECTIVE
sleep(2)
src.client.eye = locate(usr.x--,usr.y++,usr.z)
src.client.perspective = EYE_PERSPECTIVE
sleep(2)
src.client.eye = usr
src.client.perspective = EYE_PERSPECTIVE
sleep(2)
src.client.eye = locate(usr.x++,usr.y--,usr.z)
src.client.perspective = EYE_PERSPECTIVE
sleep(2)
src.client.eye = usr
src.client.perspective = EYE_PERSPECTIVE
Problem description:
Everytime shake() is called, the mob moves with eye. I don't know why.
You are moving your mob with src.x++. To create a screen shake effect, better use the client's pixel_x and pixel_y vars.
For example,
EDIT: comments & explanation