Hi all

How can one drive out a Particleeffekt before a player? and how puts one out him again???


Hallo an alle

Wie kann ich einen Particleeffekt genau vor dem Spieler erzeugen.
Und wie mach ich es das er per Tastendruck wieder ausgeht!

ist für C Script aus Easy Particle 3

bmap ray_farbe1 = <ray_red.tga>;
VAR SternenstaubAnzahlPartikel = 1; //number of particles used for this effect


Function Sternenstaub_spec_fun()
{
my.alpha -= 0 *time;
IF(My.alpha < 0) { my.alpha = 0; my.lifespan = 0; }
my.skill_b += 0.03;
my.skill_c = 6 - my.skill_b;
if(my.skill_c < 0) { my.lifespan = 0; }
}

Function Sternenstaubspezial()
{
my.blue = 128 ;
my.green = 128 ;
my.red = 128 ;
my.skill_c = 0; my.skill_b = 0;
my.bmap = ray_farbe1; //the effect bitmap
my.vel_x = -40 ;
my.vel_y = random( 0 ) - 0 ;
my.vel_z = random( 0 ) - 0 ;
my.size = 1 ;
my.alpha = 100 ;
my.x += random(1000)-500;
my.y += random(1000)-500;
my.z += random(100)-50;
my.gravity = 0 ;
my.streak = off;
my.flare = on;
my.bright = on;
my.beam = on;
my.move = on;
my.transparent = on;
my.function = Sternenstaub_spec_fun;
}


Function Sternenstaub()
{
while(1)
{
SternenstaubAnzahlPartikel = 1;
var myPos[3];

vec_set(myPOS,player.x);
vec_set(camera.x, player.x);
temp.x = COS(camera.pan);
temp.y = SIN(camera.pan);
temp.Z = COS(camera.tilt);
MyPos.X = myPos.X + temp.X*temp.X;
MyPos.Y = myPos.Y + temp.X*temp.Y;
MyPos.Z = myPos.Z + temp.X*temp.Z;
MyPos.X = Camera.X + 400;

effect(Sternenstaubspezial,max(1,int(SternenstaubAnzahlPartikel*time)),MyPOS,nullvector);
wait(1);
}
}


action Sternenstaub_action
{
my.invisible = on;
My.passable = on;
while(!key_s) { wait(1); }
Sternenstaub();
}