so, habe dir das ding fertig gemacht^^
ich habe dir ein fertiges script zum includen geschrieben, also einfach in ne leere datei kopieren und speichern
also, es sind 2 actionen die wichtig sind, die 1. kannst du nutzen wenn es überall solche glühdinger gibt, die erstelld die teile in einem einstellbaren bereich (skill1) um den player herum!
die 2. kannst du nutzen wenn es nur in besteimmten bereichen deines levels solche glühdinger gibt (nur inenr höhle oder übern teich oder so) auch hier ist dier bereich um die emmiter entity einstellbar (skill1)
und hier ist der code (alle weiteren erklärungen sind dadrin!);
//random glows by Morten Storm AKA Storm_Mortis
BMAP* glow_map = "glow.dds";//setze hier deine glow textur ein 16x16 sollte reichen
var glow_move_speed = 1;//hier ändern für andere bewegungsgeschwindigkeit
var glow_fade_speed = 5;//hier ändern für andere fadegeschwindigkeit
ENTITY* Ziel;
function glow_fade(PARTICLE *p)
{
if(p.alpha <= 100 && p.skill_a == 0)
{
p.alpha += glow_fade_speed*time_step;
}
if(p.alpha >= 100){p.skill_a = 1;}
if(p.alpha >= 1 && p.skill_a == 1)
{
p.alpha -= glow_fade_speed*time_step;
}
if(p.alpha <= 1 && p.skill_a == 1){p.lifespan = 0;}
}
function glow(PARTICLE *p)
{
p.vel_x = 1-random(2)*glow_move_speed;
p.vel_y = 1-random(2)*glow_move_speed;
p.vel_z = 1-random(2)*glow_move_speed;
p.alpha = 0;
p.skill_a = 0;
p.size = 10+random(5);
p.bmap = glow_map;
p.flags |= (BRIGHT | MOVE | TRANSLUCENT);
p.event = glow_fade;
}
action glow_emitter1()//erstelle glows immer um den spieler herum
{
VECTOR glow_pos;
if(!my.skill1){my.skill1 = 600;}//ändern für anderen erstellbereich(auch in wed machbar)
set(my,PASSABLE|INVISIBLE);
while(1)
{
glow_pos.x = Ziel.x - random(my.skill1) + my.skill1/2;//"Ziel" durch deinen player ersetzten
glow_pos.y = Ziel.y - random(my.skill1) + my.skill1/2;//"Ziel" durch deinen player ersetzten
glow_pos.z = Ziel.z - random(my.skill1) + my.skill1/2;//"Ziel" durch deinen player ersetzten
effect(glow,1,glow_pos,nullvector);
wait(-0.1);// höher für weniger glows und umgekehrt
}
}
action glow_emitter2()//erstelle glows immer en einer stelle wenn spieler nahe ist
{
VECTOR glow_pos;
set(my,PASSABLE|INVISIBLE);
if(!my.skill1){my.skill1 = 600;}//ändern für anderen erstellbereich(auch in wed machbar)
if(!my.skill2){my.skill2 = 500;}//ändern für andere erstellentfehrnung(auch in wed machbar)
while(1)
{
if(vec_dist(my.x,Ziel.x) <= my.skill2)//"Ziel" durch deinen player ersetzten
{
glow_pos.x = Ziel.x - random(my.skill1) + my.skill1/2;//"Ziel" durch deinen player ersetzten
glow_pos.y = Ziel.y - random(my.skill1) + my.skill1/2;//"Ziel" durch deinen player ersetzten
glow_pos.z = Ziel.z - random(my.skill1) + my.skill1/2;//"Ziel" durch deinen player ersetzten
effect(glow,1,glow_pos,nullvector);
wait(-0.1); // höher für weniger glows und umgekehrt
}
wait(1);
}
}
achso, bei mir haben partikel nen bug inner engine und ich sehe sie nicht richtig groß, also musst du die gräße (p.size) noch anpassen!
sollte was nicht bei dir gehen oder du nicht wissen wie was einzubinden ist, frag einfach!
viel spass damit
Mortis