Bewegliche fx

T.R.Graves
Hallo zusammen

Also ich würde meiner Stuka gerne eine Rauchschwade gönnen die sich beim Flug mit dem Flugzeug mitbewegt.

Muss ich deswegen einen seperaten Origin(eigener Targetname) erstellen und mit dem Zielorigin der Stuka verbinden.

Vielleicht hat einer das schon mal gemacht und könnte mir ein paar Tips geben.

Ciao
OLD MAN WITH GUN
playfxontag ( <effect id >, <entity>, <tag name> )

Such dir einen tag aus (tags der stuka):
tag_rotator, tag_bigbomb, tag_engine_left, tag_engine_right, tag_gunleft, tag_gunright, tag_prop, tag_smallbomb01left, tag_smallbomb01right, tag_smallbomb02left, tag_smallbomb02right, tag_wingtipl oder tag_wingtipr.
T.R.Graves
Hallo

Also ich habe mich versucht mit der scriptzeile aber der Effect wird nicht abgespielt.

Stattdessen habe ich die Fehlermeldung vector is not a entitybekommen.

Die Scriptzeile sieht wie folgt aus

playfxontag ( level._effect["ste"], stuka1," tag_engine_left");

Altenativ habe ich das versucht um ein origin zu erzeugen und an das flugzeug zu binden

origin = stuka1 getorigin();
origin attach("xmodel/vehicle_stuka_flying", "tag_engine_left");
playfx(level._effect["ste"], origin);

oder

origin = stuka1 getorigin();
origin linkto( stuka1, "tag_engine_left", (0,0,0), (0,0,0) );
playfx(level._effect["ste"], origin);

Gleiche Fehlermeldung.

Also was hat es sich mit dem vector oder anders gefragt wie komme ich weiter mit meinem Script.

Ciao
OLD MAN WITH GUN
Hmm, also bei mir geht es absolut problemlos (keine Fehlermeldung).
Hab einfach einen Effekt in meiner mp_planetest_fx.gsc definiert, die Stuka in die map, targetname vergeben, Zielpunkt für den Flug gesetzt und mit oben genanntem Befehl den Effekt abgespielt.
Das Problem ist nur einen geeigneten Effekt zu finden.
Mit ein wenig umscripterei geht es aber schon recht gut.

Also meine Testmap hat eine Stuka als script_model mit dem targetname "stuka" und ein script_origin als Zielpunkt (mit der Stuka verbunden).
Als Effekt habe ich smoke_plumeBG.efx genommen.

Hier die gsc Datei der Map

Code einblendenCode angehängt. Klicke hier zum Ein-/Ausblenden

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
main()
{
	maps\mp\mp_planetest_fx::main();
	maps\mp\_load::main();

	level.plane_move = false;	
	thread fly();
}

fly()
{
	stuka = getent("stuka","targetname");
	stuka_start = stuka.origin;
	fly_to = getent(stuka.target,"targetname");
	stuka thread smoke();
	while(1)
	{
		wait 20;
		level.plane_move = true;	
		stuka moveto(fly_to.origin,6,0,0);
		stuka waittill("movedone");
		level.plane_move = false;	
		stuka hide();
		stuka.origin = stuka_start;
		stuka show();
	}
}
	
smoke()
{
	while(1)
	{
		while(level.plane_move)
		{
			playfxontag(level._effect["smoke_plumeBG"], self, "tag_engine_left" );
			wait .1;
		}
		wait 0.01;
	}
}


und hier die _fx.gsc

Code einblendenCode angehängt. Klicke hier zum Ein-/Ausblenden

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
main()
{
	precacheFX();
}

precacheFX()
{
	level._effect["smoke_plumeBG"] = loadfx ("fx/smoke/smoke_plumeBG.efx");
}



Und das ist das Ergebnis
T.R.Graves
Super funktioniert einwandfrei. Das Ergebnis kann man unten hoffentlich gut erkennen.

[IMG][/IMG]
[IMG][/IMG]
[IMG][/IMG]

Als effect habe ich übrigens fx/fire/rocket_launch genommen.

Danke nochmal für den Wink mit dem Zaunfall.

Und noch eine Frage Wo finde ich die Tags der Modelle ?

Ciao
OLD MAN WITH GUN

Zitat:

Original von T.R.Graves
Und noch eine Frage Wo finde ich die Tags der Modelle ?
Die findest du in den Dateien im Ordner xmodelparts (in der iw_13.iwd). Wenn du die Dateien dann mit einen Texteditor öffnest, wirst du die Tags schon finden.