Da das Licht nun sehr abrupt ausging wenn es die Kante des Bildschirm berührte obwohl man den Lichtschein noch gesehen hat, hab ich das Script nun so umgeschrieben:

action fire
{
my.passable = on;
my.invisible = on;
my.lightrange=0;
while(1)
{
wait(1);
vec_set(temp,my.x);
if(vec_dist(my.x,player.x) < 1500 && vec_to_screen(temp,camera))
{
effect(flame_1,3,my.x,nullvector);
my.lightrange=200;
my.red=120;
my.green=50;
my.blue=0;
wait(1);
}
else
{
if(my.lightrange==200)
{
sleep(0.5);
while(my.lightrange>0)
{
my.lightrange-=10*Time;
wait(1);
}
}
}
wait(1);
}
wait(1);
}

Nachdem es außerhalb des Views kommt, wird 0,5 Sekunden gewartet und dann wird das Licht langsam heruntergedreht als ob es langsam ausginge.

Gruß
Jonas