Hello,
I think your problem is with my.skill1. It is initially set for 200. It runs once and is set to 0. Naturally, it will not work the second time you come near. If you want it to do this every time you come near, you have to set it to 200 again when you reach a distance greater than 200.
So put in a line that resets it to 200 when the distance between camera.x (or player.x) and my.x is >300.
I think that solves your problem with a lack of repeatability.
Regards,
Jim


Jim