*Solved*Particel-Effekt bringt Acknex zum Absturz

Posted By: Schmerzmittel

*Solved*Particel-Effekt bringt Acknex zum Absturz - 11/10/08 03:50

Morgen an alle.


Ne blöde Frage.

Ich benutze den effect(blablub) befehl, um hinter meinem Jäger einen Düsenstrahl zu machen. Das funktioniert auch.

Jetzt möchte ich bei einem Gegner, wenn der zerstört wird, auch einen Effect aufrufen. Aber sobald die Zeile mit dem Effect kommt, stürzt Acknex ohne Fehlermeldung ab.

Hier mal der betreffende Code:
Quote:
void geg_turm()
{
var anim_speed = 0;
geg_turm_init();
var turm_spitze[3];
var turm_health;

my.skill10 = 65;

my.event = turm_hit;


vec_for_vertex(turm_spitze, my, 1991);
ent_create("masßstab.mdl", turm_spitze, ge_turm_laser);

while(my.skill10 >0)
{
wait(1);
}


ent_playsound(my, explosion_big, 1500);

while(anim_speed <100)
{
anim_speed += 1 * time_step;
ent_animate(my, "Explode", anim_speed, NULL);


wait(0.2);

}
ent_create ("explosion_zwei+61.tga", vector(my.x, my.y, my.z), explosion_zwei);
effect(big_explo, 2, my.x, nullvector);



wait(2);
ent_remove(my);


}



Weiß jemand Rat?
Posted By: Uhrwerk

Re: Particel-Effekt bringt Acknex zum Absturz - 11/10/08 10:54

Zeig uns doch mal bitte die Partikel funtion big_explo. Und Benutze für Code bitte das UBB code tag, und nicht quote, dann kann man das nämlich um Welten besser lesen.
Posted By: Anonymous

Re: Particel-Effekt bringt Acknex zum Absturz - 11/10/08 11:44

ent_remove(...) entfernt die Entity und alle von ihr gestarteten Funktionen...

Könnte also gut sein, dass der Partikeleffekt nach dem zweiten Frame (wait(2);) entfernt wird...

Altrernativ kann man:
Entity unsichtbar und passable setzen
und etwas länger warten bevor sie entfernt wird.
Posted By: Schmerzmittel

Re: Particel-Effekt bringt Acknex zum Absturz - 11/10/08 12:15

Ok. Hier mal der Code.

Ist bisher nur ein simpler Particeleffect.

Code:
 void big_explo(PARTICLE* p)
{
	set(my, PASSABLE);

	/*p->vel_x	= 5 -random(10);
	p->vel_y = 5 -random(10);
	p->vel_z	= 5 -random(10);
	*/

	p.bmap	= "schockwelle.tga";
	
	p.alpha	= 60 + random(40);
	
	
	
	
	p.size	+= 2 * time_step;
	
	p.flags	|= (BRIGHT | MOVE | BEAM);
	p.event	= fade_explo;
	
	
}

void fade_explo(PARTICLE* p)
{
	p.alpha -= 0.5 * time_step;
	if(p.alpha < 0)
	{
		p.lifespan = 0;
	}
}

Posted By: Uhrwerk

Re: Particel-Effekt bringt Acknex zum Absturz - 11/10/08 13:23

Nein, der Partikel Effekt wird nicht entfernt. Der existiert unabhängig von der Entity. Aber Du kannst nicht "set(my,PASSABLE)" in einer Partikel funktion schreiben. Erstens gibt es das PASSABLE Flags für Partikel nicht, die haben nie eine Kollisionserkennung und zweitens ist my undefiniert. Also diese Zeile einfach mal streichen. "p.bmap = schockwelle.tga" ist der nächste Fehler. Da weisst Du ja einem Bitmap Pointer ein char array zu. Du musst erst das Bitmap ausserhalb der Funktione definieren mit "BMAP* mybitmap = ..." und dann das Bitmap zuweisen mit "p->bmap = mybitmap;".
Posted By: Schmerzmittel

Re: Particel-Effekt bringt Acknex zum Absturz - 11/10/08 14:38

Um Gottes Willen!

Das Flag Passable hab ich schon rausgefunden.

Aber das mit der Bmap ist mir nicht aufgefallen. Ich habe das gemacht wie überall. Mein Gott.

Ich habs jetzt ein bißchen umgeschrieben. Jetzt funktionierts!

Rieeeßen dank an dich Uhrwerk.
Posted By: Uhrwerk

Re: Particel-Effekt bringt Acknex zum Absturz - 11/10/08 14:42

Na gerne. :-) Freut mich wenn ich helfen konnte.
Posted By: Schmerzmittel

Re: Particel-Effekt bringt Acknex zum Absturz - 11/10/08 14:53

Ach nur noch ne Frage.


Wieso stehen im Handbuch nicht die neuen Particle befehle?

Hab mir das alles aus anderen Beispielen zusammenreimen müssen.
Posted By: Uhrwerk

Re: Particel-Effekt bringt Acknex zum Absturz - 11/10/08 17:31

Jetzt wo Du's sagst, das Handbuch ist da wirklich etwas kurz angebunden. Unter "effect" findet man aber ein komplettes Beispiel in Lite-C. Vielleicht mal unter "Blame the manual" posten?
Posted By: Schmerzmittel

Re: Particel-Effekt bringt Acknex zum Absturz - 11/11/08 17:21

Jo mach ich mal. Danke
© 2023 lite-C Forums