bewegte effekte

steinacker
moin,

ich hab mich jetzt mal an die bewegten effekte gemacht in BadMan's tutorial effecte einfügen teil E
und bekomme nur script fehler angezeigt.
ich habe jetzt meinen tag_origin den targetname wolke01 gegeben und das script aus den raw-daten verwendet, aber da bekomme ich den gleichen fehler: undefined is not an object

und hier das script (angepasst)

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:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
main()
{


	level._effect[ "meteor" ] = loadfx( "test_fx/meteor" );
	
	level._effect[ "wolke" ] = loadfx( "test_fx/wolke" );



thread meteor01();

}

//    Meteor


meteor01()
{
  meteor = getent ("wolke01","targetname");


		meteor thread meteor_fx();

	
while(1)
  {

//	meteor movex (-2000, 10);
	meteor movez (200, 10);

	meteor waittill("movedone");

	
	
//	meteor movex (2000, .025);
	meteor movez (-200, .025);
	
	meteor waittill("movedone");



  }
}

//    Effekte:


meteor_fx()
{
  while(1)
  {
    playfxontag (level._effect["meteor"], self , "tag_origin");
    wait 0.1; // muss dann der Effektdauer angepasst werden, damit es nach einem Loop aussieht
  }
}

Marvin
also wenn das ein eigenes script ist würde ich sagen die zeile: thread meteor01(); muss raus,
bin mir aber nicht sicher.
OLD MAN WITH GUN

Zitat:

Original von steinacker
aber da bekomme ich den gleichen fehler: undefined is not an object
Was auch vollkommen logisch ist.
Ein misc_model hat keinen targetname, also kann der Script auch kein Objekt mit diesem targetname finden und getent ("wolke01","targetname"); liefert undefined zurück.
Mach aus dem misc_model mal ein script_model, dann klappts auch mit dem Nachbarn, ähh... Script.
steinacker
wenn ich das model umwandel in ein script_brushmodel, kommt der runtime error
type struct is not an entity
OLD MAN WITH GUN

Zitat:

Original von steinacker
wenn ich das model umwandel in ein script_brushmodel, kommt der runtime error
type struct is not an entity
Weil ein script_brushmodel auch kein script_model ist.

Ein script_model ist ein normales xmodel, welches sich durch einen Script beeinflussen lässt (im Gegensatz zu einem misc_model)
Ein script_brushmodel sind ein oder mehrere brushes die sich durch einen Script beeinflussen lassen (im Gegensatz zu normalen brushes).
A
steinacker
script_model... wer lesen kann iss klar im vorteil Freude

ich bekomm aber mit dem script_model den gleichen fehler

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

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
main()
{
	fx1 = getent ("test77","targetname");

	level._effect[ "FX01" ] = loadfx( "fire/ground_fire_med_nosmoke" );

	while(1)
	{
		playfxontag (level._effect["FX01"], self , "tag_origin");
		wait 0.1; // muss dann der Effektdauer angepasst werden, damit es nach einem Loop aussieht
	}
}

OLD MAN WITH GUN
main()
{
fx1 = getent ("test77","targetname");

level._effect[ "FX01" ] = loadfx( "fire/ground_fire_med_nosmoke" );

while(1)
{
playfxontag (level._effect["FX01"], fx1 , "tag_origin");
wait 0.1; // muss dann der Effektdauer angepasst werden, damit es nach einem Loop aussieht
}
}

Man sollte dann den Effekt auch an dem Entity abspielen, was man mit getent geholt hat Augenzwinkern
self wäre das entity, welches den gesamten Thread aufgerufen hat aber nicht fx1.
steinacker
das mit fx1 anstatt mit self hatte ich auch schonmal ausprobiert, allerdings nicht mit einem script_model
aber jetzt wird schonmal der effekt abgespielt, zwar etwas komischer als okinol und auch anders wenn sich die entfernung ändert aber dat funz nun