It might not get removed because you have no entity which has the player pointer set to it.
Are you using the templates?
btw: that is no foreign language but c-script

Edit:
Ok I changed the code slightly.
It now checks the distance to the camera and not to the player entity:
Code:
define distance,skill1;
define max_dist,skill2;
define kill_skill,skill3;
action dist_object
{
my.max_dist = 300;
my.kill_skill = 0;
//while my.kill_skill == 0 ..
while(!my.kill_skill)
{
//store the distance in a skill
my.distance = vec_dist(my.x,camera.x);
//compare
if(my.distance > my.max_dist)
{ my.kill_skill = 1; } //its bigger so kill the while
}
//wait a frame
wait(1);
//remove me:
ent_remove(me);
}
undef distance;
undef max_dist;
undef kill_skill;