Opferlamm-Clan Board
www.opferlamm-clan.de
Verantwortlich für diese bösen Machenschaften: siehe Impressum

Registrierung Kalender Mitgliederliste Suche Häufig gestellte Fragen Zur Startseite

Opferlamm-Clan Board » Call of Duty 4 » Call of Duty 4 - Mapping » CoD4-Mapping-Hilfe » Effekte bewegen (erledigt) » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen Effekte bewegen (erledigt) 1 Bewertungen - Durchschnitt: 10,001 Bewertungen - Durchschnitt: 10,001 Bewertungen - Durchschnitt: 10,001 Bewertungen - Durchschnitt: 10,001 Bewertungen - Durchschnitt: 10,00
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
BadMan
Turnbeutelvergesser


images/avatars/avatar-1043.jpg


Dabei seit: 31.01.2008
Beiträge: 278


Effekte bewegen (erledigt) Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

So hab auch ma wieder ne frage und zwar hab ich einen Effekt mit einem „script_origin“ „targetname– fx1“ und folgendem Skript eingebunden

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:
movelight1(){


	lamp = getent("lampmove2","targetname");
	trig = getent ("lightswitch1", "targetname");
	glow = getent ("fx1","targetname");
	
	
	level._effect[ "beacon_glow" ] = loadfx( "misc/aircraft_light_wingtip_green" );
	maps\mp\_fx::loopfx("beacon_glow", (glow.origin), 3, (glow.origin) + (0, 0, 90));
	
	
	while(1){
	
		trig waittill("trigger");
		

		
		lamp movez(20,2);
		glow movez(20,2);
		lamp rotateyaw(270,2,0,0);
		glow rotateyaw(270,2,0,0);
		lamp waittill("movedone");

		
		
		trig waittill("trigger");
		lamp movez(-20,2);
		glow movez(-20,2);
		lamp rotateyaw(-270,2,0,0);
		glow rotateyaw(-270,2,0,0);
		lamp waittill("movedone");

	}
}


Klappt auch soweit alles nur bewegt sich der script origin nicht hat da jemand ne Lösung wie ich den script origin alleine bewegen oder wie hier irgendwie an die Lampe binden kann oder is das gar nicht möglich

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von BadMan: 29.08.2008 01:17.

BadMan ist offline E-Mail an BadMan senden Beiträge von BadMan suchen Nehmen Sie BadMan in Ihre Freundesliste auf
steinacker
Milupa-Fan


images/avatars/avatar-1080.gif


Dabei seit: 13.03.2008
Beiträge: 662


Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

also irgendwie kapier ich das nich
ich hab heute schonmal was dazu gepoustet und nu fehlt das verwirrt
oder war da der böse admin am werk Teufel
noja jedenfalls könntest du mal versuchen mit dem befehl linkto deinen script_origin an deine lampe zu hängen, so wie das nightwing bei der schnellbahn das mal gepoustet hat

elevator2 linkto (elevatormodel2);

__________________
Steinacker, Hans Adam - der letzte Scharfrichter von Bad Mergentheim
der mit der Schärfe eines Schwertes richtende grosses Grinsen
steinacker ist offline E-Mail an steinacker senden Beiträge von steinacker suchen Nehmen Sie steinacker in Ihre Freundesliste auf
BadMan
Turnbeutelvergesser


images/avatars/avatar-1043.jpg


Dabei seit: 31.01.2008
Beiträge: 278


Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Das hab ich auch schon mal probiert hab’s aber nochma getestet was mich wundert is das bei oben dem Skript keine Fehlermeldung kommt allerdings bewegt sich trotzdem nur die Lampe

Wenn ich ein anderes Skript nehme

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:
fan_spin(){

	rotate_obj = getentarray("lampmove2","targetname");
	glow = getent("fx1","targetname");

	
	
	level._effect[ "beacon_glow" ] = loadfx( "misc/aircraft_light_wingtip_green" );
	maps\mp\_fx::loopfx("beacon_glow", (glow.origin), 3, (glow.origin) + (0, 0, 90));	
	
	
	if(isdefined(rotate_obj)){
	
		for(i=0;i<rotate_obj.size;i++){
		
			rotate_obj[i] thread ra_rotate();
		}
	}
	
	glow linkto(rotate_obj);
	}


ra_rotate(){

	if (!isdefined(self.speed) || self.speed == 0)
		self.speed = 5;
		
	if (!isdefined(self.script_noteworthy))
		self.script_noteworthy = "y";

	while(1){
	
		
		if (self.script_noteworthy == "y")
			self rotateYaw(360,self.speed);
			
		else if (self.script_noteworthy == "x")
			self rotateRoll(360,self.speed);
			
		else if (self.script_noteworthy == "z")
			self rotatePitch(360,self.speed);
			
		wait ((self.speed)-0.1); 
	}
}



Bekomme ich die Fehlermeldung

„Not an entity“ in der Zeile „glow linkto (rotate_obj);“
BadMan ist offline E-Mail an BadMan senden Beiträge von BadMan suchen Nehmen Sie BadMan in Ihre Freundesliste auf
OLD MAN WITH GUN
... sehr viel alleine


images/avatars/avatar-798.gif


Dabei seit: 01.05.2006
Beiträge: 2.305


RE: Effekte bewegen Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Das script_origin wird sich schon bewegen, nur der Effekt nicht, da Effekte nicht bewegt werden können. Der wird da abgespielt, wo sich das script_origin befand, als der Effekt aufgerufen wurde (egal, wo sich das script_origin danach hinbewegt).

Um eine Bewegung eines Effektes zu simulieren bedarf es da schon ein wenig mehr.
Zuerst sollte man den Effekt so abspielen, das er nicht eigenständig als Schleife abgespielt wird (die muss man in diesem Fall scripten).

Dann nimmt man statt eines script_origin das xmodel tag_origin (ist ein unscheinbares kleines Dreieck, welches einen TAG besitzt, an dem man einen Effekt per playfxontag abspielen lassen kann).

Müsste dann in etwa so aussehen:

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:
movelight1()
{
  lamp = getent("lampmove2","targetname");
  trig = getent ("lightswitch1", "targetname");
  glow = getent ("fx1","targetname"); //das wäre dann das xmodel tag_origin als script_model
	
  //muss gegen einen Effekt getauscht werden, der nur einmal abgespielt wird und nicht selber einen Loop hat) 
  level._effect[ "beacon_glow" ] = loadfx( "misc/aircraft_light_wingtip_green" );

  glow thread let_it_glow();
	
  while(1)
  {
    trig waittill("trigger");
				
    lamp movez(20,2);
    glow movez(20,2);
    lamp rotateyaw(270,2,0,0);
    glow rotateyaw(270,2,0,0);
    lamp waittill("movedone");

    trig waittill("trigger");
    lamp movez(-20,2);
    glow movez(-20,2);
    lamp rotateyaw(-270,2,0,0);
    glow rotateyaw(-270,2,0,0);
    lamp waittill("movedone");
  }
}

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



__________________

Da die Lichtgeschwindigkeit höher ist als die Schallgeschwindigkeit,
hält man so manchen für einen hellen Kopf, bis man ihn reden hört.

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von OLD MAN WITH GUN: 22.07.2008 16:27.

OLD MAN WITH GUN ist offline Beiträge von OLD MAN WITH GUN suchen Nehmen Sie OLD MAN WITH GUN in Ihre Freundesliste auf
BadMan
Turnbeutelvergesser


images/avatars/avatar-1043.jpg


Dabei seit: 31.01.2008
Beiträge: 278


Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

AHA hab mir so was schon gedacht so bewegt sich das ganze auch aber nur mit move nicht mit rotate und auch nur in eine Richtung also Z und X geht nicht gibt’s da noch ne Lösung oder ist mehr nicht möglich

Und natürlich den allergrößten dank an dich OMWG was würden wir nur ohne dich machen
BadMan ist offline E-Mail an BadMan senden Beiträge von BadMan suchen Nehmen Sie BadMan in Ihre Freundesliste auf
steinacker
Milupa-Fan


images/avatars/avatar-1080.gif


Dabei seit: 13.03.2008
Beiträge: 662


Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

zum drehen kannst du auch mal diese befehle versuchen

fan1 rotateRoll( 360, 5, 0, 0 );
fan2 rotateyaw( 360, 5, 0, 0 );
fan3 rotatePitch( 360, 5, 0, 0 );

das sind die drei ringe, die ich in der mp_voyager4 um die "spawnboxen" gemacht hab

rotateRoll = x-achse
rotateyaw = y-achse
rotatePitch = z-achse

bin mir da aber grad nich so sicher, mit den achsen

__________________
Steinacker, Hans Adam - der letzte Scharfrichter von Bad Mergentheim
der mit der Schärfe eines Schwertes richtende grosses Grinsen
steinacker ist offline E-Mail an steinacker senden Beiträge von steinacker suchen Nehmen Sie steinacker in Ihre Freundesliste auf
OLD MAN WITH GUN
... sehr viel alleine


images/avatars/avatar-798.gif


Dabei seit: 01.05.2006
Beiträge: 2.305


Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Link das tag_origin model an das Lampenmodel, dann sollte es eigentlich alle Bewegungen mitmachen. Und du sparst die die doppelten Befehle für move usw. (sollte eigentlich gehen)

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:
movelight1()
{
  lamp = getent("lampmove2","targetname");
  trig = getent ("lightswitch1", "targetname");
  glow = getent ("fx1","targetname"); //das wäre dann das xmodel tag_origin als script_model
	
  //muss gegen einen Effekt getauscht werden, der nur einmal abgespielt wird und nicht selber einen Loop hat) 
  level._effect[ "beacon_glow" ] = loadfx( "misc/aircraft_light_wingtip_green" );

  glow thread let_it_glow();
  glow linkto(lamp);
	
  while(1)
  {
    trig waittill("trigger");
				
    lamp movez(20,2);
    lamp rotateyaw(270,2,0,0);
    lamp waittill("movedone");

    trig waittill("trigger");
    lamp movez(-20,2);
    lamp rotateyaw(-270,2,0,0);
    lamp waittill("movedone");
  }
}

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



__________________

Da die Lichtgeschwindigkeit höher ist als die Schallgeschwindigkeit,
hält man so manchen für einen hellen Kopf, bis man ihn reden hört.

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von OLD MAN WITH GUN: 22.07.2008 22:00.

OLD MAN WITH GUN ist offline Beiträge von OLD MAN WITH GUN suchen Nehmen Sie OLD MAN WITH GUN in Ihre Freundesliste auf
BadMan
Turnbeutelvergesser


images/avatars/avatar-1043.jpg


Dabei seit: 31.01.2008
Beiträge: 278


Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Wunderbar funzt und passt so besser zur Lampe das obere Skript geht auch unterschied mit linkto ist der Mittelpunkt der dreung ist mitte Lampen model. ohne mitte Effekt was mit bei der kleinen grünen Leuchtkugel nicht gleich aufgefallen ist aber mit nachdenken und anderem Effekt doch logisch nachvollziehbar Bin doof...

Aber hab noch was gibt es noch was anderes außer playfxontag um einen loopeffekt zu spielen oder so http://www.infinityward.com/Script/ ist nicht mehr da sonst hätte ich da ja ma nachgesehen hoffe die seite ist bald wieder online

Und noch was wofür sind denn tag_laser und tag_flash modelle der flash läst sich auf jeden fall so nutzen wie origin aber da läst sich doch bestimmt was anderes mit anstellen und was ist überhaupt ein Tag verwirrt
BadMan ist offline E-Mail an BadMan senden Beiträge von BadMan suchen Nehmen Sie BadMan in Ihre Freundesliste auf
bangingbernie
Alter Sack ;-)


images/avatars/avatar-1034.jpg


Dabei seit: 20.05.2005
Beiträge: 2.372


Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Die Skriptseite findest Du HIER.

__________________

bangingbernie ist offline E-Mail an bangingbernie senden Homepage von bangingbernie Beiträge von bangingbernie suchen Nehmen Sie bangingbernie in Ihre Freundesliste auf
Nightwing
Padawan ;-)


images/avatars/avatar-1617.jpg


Dabei seit: 15.01.2007
Beiträge: 4.858


Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

oder hier: Klick

__________________

Nightwing ist offline E-Mail an Nightwing senden Homepage von Nightwing Beiträge von Nightwing suchen Nehmen Sie Nightwing in Ihre Freundesliste auf
BadMan
Turnbeutelvergesser


images/avatars/avatar-1043.jpg


Dabei seit: 31.01.2008
Beiträge: 278


Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Dank euech werde mal schauen ob ich was finde
BadMan ist offline E-Mail an BadMan senden Beiträge von BadMan suchen Nehmen Sie BadMan in Ihre Freundesliste auf
BadMan
Turnbeutelvergesser


images/avatars/avatar-1043.jpg


Dabei seit: 31.01.2008
Beiträge: 278


Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

So neues problem hab ma nen aufzug gemacht mit 2 lichtern rot und grün nach oben leuchtet grün nach unten rot klapt auch ohne fehler

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:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
main()
{
level._effect[ "fx_on" ] = loadfx( "test_fx/auf_on" );
level._effect[ "fx_off" ] = loadfx( "test_fx/auf_off" );
level.elevatorDown = true;
level.elevatorMoving = false;
thread elevator_start();
}

elevator_start()
{
elevator = getentarray ("01trig","targetname");
if ( isdefined(elevator) )
for (i = 0; i < elevator.size; i++)
elevator[i] thread elevator_think();
}

elevator_think()
{
while (1)
{
self waittill ("trigger");
if (!level.elevatorMoving)
thread elevator_move();
}
}

elevator_move()
{
elevatormodel = getent ("01", "targetname");
fx1 = getent ("01fx01","targetname");
fx2 = getent ("01fx02","targetname");
level.elevatorMoving = true;
speed = 1.1;
height =128;



fx1 linkto(elevatormodel);
fx2 linkto(elevatormodel);


if (level.elevatorDown) {

//elevatormodel playsound ("elevator");

fx1 thread fx1();
elevatormodel movez (height, speed);
elevatormodel waittill ("movedone");
level.elevatorDown = false;

}

else
{

//elevatormodel playsound ("elevator");

fx2 thread fx2();
elevatormodel movez (height - (height * 2), speed);
elevatormodel waittill ("movedone");
level.elevatorDown = true;
}
level.elevatorMoving = false;
}



fx1()
{
  while(1)
  {
  if (!level.elevatorMoving)
		return;
    playfxontag (level._effect["fx_on"], self , "tag_origin");
    wait 0.1; // muss dann der Effektdauer angepasst werden, damit es nach einem Loop aussieht

  }

}


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



nur wollte ich eigentlich das wenn der aufzug steht grün leuchtet und bei der fahrt rot erstma zumindest

also meine frage gibt es da ne möglichkeit ohne das ganze skript zu endern problem is halt fx1 linkto aufzug da man sonst nen dreieck in der luft hat
BadMan ist offline E-Mail an BadMan senden Beiträge von BadMan suchen Nehmen Sie BadMan in Ihre Freundesliste auf
BadMan
Turnbeutelvergesser


images/avatars/avatar-1043.jpg


Dabei seit: 31.01.2008
Beiträge: 278


Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

so habe das problem gelöst


Zitat:

main()
{

fx2 = getent ("01fx02","targetname");

level._effect[ "fx_on" ] = loadfx( "test_fx/auf_off" );
level._effect[ "fx_off" ] = loadfx( "test_fx/auf_on" );

level.elevatorDown = true;
level.elevatorstand = true;
level.elevatorMoving = false;
thread elevator_start();

fx2 thread fx2();
}

elevator_start()
{
elevator = getentarray ("01trig","targetname");
if ( isdefined(elevator) )
for (i = 0; i < elevator.size; i++)
elevator[i] thread elevator_think();
}

elevator_think()
{
elevatormodel = getent ("01", "targetname");

while (1)
{
self waittill ("trigger");
if (!level.elevatorMoving)
thread elevator_move();
}
}

elevator_move()
{
elevatormodel = getent ("01", "targetname");
fx1 = getent ("01fx01","targetname");
fx2 = getent ("01fx02","targetname");

level.elevatorMoving = true;
speed = 5;
height =360;



fx1 linkto(elevatormodel);
fx2 linkto(elevatormodel);


if (level.elevatorDown) {

//elevatormodel playsound ("elevator");
level.elevatorstand = false;
fx1 thread fx1();
elevatormodel movez (height, speed);
elevatormodel waittill ("movedone");
level.elevatorDown = false;
level.elevatorstand = true;
fx2 thread fx2();
}

else
{

//elevatormodel playsound ("elevator");
level.elevatorstand = false;
fx1 thread fx1();
elevatormodel movez (height - (height * 2), speed);
elevatormodel waittill ("movedone");
level.elevatorDown = true;
level.elevatorstand = true;
fx2 thread fx2();
}
level.elevatorMoving = false;
}



fx1()
{
while(1)
{
if (!level.elevatorMoving)
return;

playfxontag (level._effect["fx_on"], self , "tag_origin");
wait 0.122; // muss dann der Effektdauer angepasst werden, damit es nach einem Loop aussieht

}

}


fx2()
{
while(1)
{
if (!level.elevatorstand)
return;

playfxontag (level._effect["fx_off"], self , "tag_origin");
wait 0.122; // muss dann der Effektdauer angepasst werden, damit es nach einem Loop aussieht

}
}



findet ihr übrigens auch in der testmap von hier
BadMan ist offline E-Mail an BadMan senden Beiträge von BadMan suchen Nehmen Sie BadMan in Ihre Freundesliste auf
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Opferlamm-Clan Board » Call of Duty 4 » Call of Duty 4 - Mapping » CoD4-Mapping-Hilfe » Effekte bewegen (erledigt)

Impressum ||Datenschutzerklärung

Forensoftware: Wbb - WoltLab GmbH || zum Archiv