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-Tutorials / Wiki » [Tutorial] Drehtür einbauen » 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 [Tutorial] Drehtür einbauen
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Marvin
Turnbeutelvergesser


images/avatars/avatar-114.gif


Dabei seit: 08.02.2009
Beiträge: 455


Lampe [Tutorial] Drehtür einbauen Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Habe heute herausgefunden wie man eine Drehtür in seine Map einbaut.

Es funktioniert fast genauso wie eine Normale Tür.

Nachteile: Es dreht sich nur wenn ein Player im Trigger steht.
Anmerkung von steinacker:

Zitat:


Original von steinacker
wenn die türe sich ständig drehen soll, wie das bei manchen kaufhäusern usw. der fall ist, dann kannst du auch das script vom ventilator dafür nehmen

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:
 main()
{
	fan1 = getEnt( "door1" , "targetname" ); //türe1
	fan2 = getEnt( "door2" , "targetname" ); //türe2

	while (1)
	{
		fan1 rotateyaw( 360, 5, 0, 0 );
		fan2 rotateyaw( 360, 5, 0, 0 );

		wait 4.9; 
	}
} 



den trigger zum auslösen lässt du weg (wird nicht benötigt) und der türe gibst du den targetname door1
2. türe: door2
3. türe: door3
usw. (script dann jeweils erweitern)

Legen wir mal los.

Schritt 1:

Macht eine Neue Map und baut eine Drehtür mit Vier Blättern. Macht sie Breit genug damit der Player dort reinpasst.
Das könnte dann in etwa so aussehen. Die Drehtür habe ich rot markiert:

(klick mich)

Lasse alle Teile deiner Tür markiert und mache einen rechtsklick ins 2d Fenster.
Nun wählst du script --> brushmodel. Wähle die Tür mit ESC ab und baue einen großen Brush um die Drehtür.
Mache einen rechtsklick in die 2d Ansicht und wähle trigger --> multiple; Nun wird der Brush die Trigger-Textur annehmen.
Öffne das entity Menü mit der Taste "N" und vergib diesen Wert:

Key: targetname
Value: activator


Nun wählst du zu erst deinen Trigger aus und dann ein Teil von deiner Tür. Drücke die Taste "W" und die
gesammte Tür wird ausgewählt. Sie ist nun mit deinem Trigger verknüpft. Das ganze sollte dann ungefähr so aussehen:

(klick mich)

Verbindung und Eintrag sind rot gekennzeichnet.

Speichert die Map im Ordner: cod4mod/map_sorce/Prefabs/misc_models unter dem Namen dreh_tuer ab.

Schritt 2:

Öffne deine Map und mache einen rechtsklick in der 2d Ansicht wo die Drehtür hin soll.
Nun wählst du misc --> prefab und gehst in den Ordner misc_models. Gebt in der Suchleiste ein: dreh_tuer.map und drücke auf öffnen.
Nun sollte die Tür erscheinen. Ziehe sie an die richtige Stelle und speichere deine Map.
Nun zum scriptteil. Erzeuge im Ordner cod4mod/raw/maps/mp ein neues Textdokument. Nenn es dann. _dreh_tuer.gsc;
Öffne die _dreh_tuer.gsc mit dem Editor und füge das _doorscript hier ein. Ich habe noch einiges abgeändert sodass
es sich an die Drehtür anpasst:

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

	doortriggers = getentarray("activator","targetname");

	for(i = 0; i < doortriggers.size; i++)
		doortriggers[i] thread door_think();
}


door_think(){

	self.doormoving = false;
	self.doorclosed = true;
	self.doormodel = getent(self.target, "targetname");
	
	while (1){
	
		self waittill("trigger");
		
		if(!self.doormoving)
			self thread door_move();
	}
}

door_move(){

	self.doormoving = true;
	
	if(self.doorclosed){
	
		self.doormodel rotateyaw(-90,1,0.5,0.5);
		self.doormodel waittill("rotatedone");
		self.doorclosed = false;
	}
	
	else{
	
		self.doormodel rotateyaw(-90,1,0.5,0.5);
		self.doormodel waittill("rotatedone");
		self.doorclosed = true;
	}
	
	self.doormoving = false;
} 



Speichere es ab und füge diesen Eintrag in die Mapname.gsc ein:
maps\mp\_dreh_tuer::main();

Und zwar über der Zeile:
maps\mp\_load::main();

Das ganze sollte dann ungefähr so aussehen:

Zitat:


main()
{

maps\mp\_dreh_tuer::main();
maps\mp\_load::main();

ambientPlay("ambient_backlot_ext");

game["allies"] = "sas";
game["axis"] = "russian";
game["attackers"] = "allies";
game["defenders"] = "axis";
game["allies_soldiertype"] = "urban";
game["axis_soldiertype"] = "woodland";

setdvar( "r_specularcolorscale", "1" );

setdvar("r_glowbloomintensity0",".25");
setdvar("r_glowbloomintensity1",".25");
setdvar("r_glowskybleedintensity0",".3");
setdvar("compassmaxrange","1800");

}



Gehe nun auf Compile Tools/ Level Compiling wähle deine Map und mache Update Zone File. Trage das auf der rechten Seite ein:

rawfile,maps/mp_dreh_tuer.gsc

Drücke unten auf save und führe diese Schritte aus:

"Compile BSP" , "Build Fast File" und "Run selected Map"

Fertig. Die Drehtür sollte sich drehen

Viel Spaß damit, wünscht euch: Marvin Augenzwinkern

__________________
Wenn ihr Lust habt schaut mal auf meinem YouTube Channel vorbei, dort werden vorallem Gaming Videos hochgeladen:
http://www.youtube.com/user/PackyGames?feature=mhee

Ich freue mich auf euere Kommentare und / oder Feedback.
Wenns euch gefällt lasst ein Abo da smile

Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von Marvin: 25.03.2009 18:01.

Marvin ist offline Beiträge von Marvin suchen Nehmen Sie Marvin in Ihre Freundesliste auf
Ph3n0m PoWeR
Turnbeutelvergesser


images/avatars/avatar-1392.jpg


Dabei seit: 16.01.2009
Beiträge: 292


Drehtür 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 Drehtür ist gut, das Script funktioniert. Ich habe für meine Map ein kleines Elektronikgeschäft gebaut, wo eine wunderbar verarbeitete Drehtür den Eingangsbereich schmückt.

__________________
Mera dil hai hindustani.


Ph3n0m PoWeR ist offline E-Mail an Ph3n0m PoWeR senden Homepage von Ph3n0m PoWeR Beiträge von Ph3n0m PoWeR suchen Nehmen Sie Ph3n0m PoWeR 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

wenn die türe sich ständig drehen soll, wie das bei manchen kaufhäusern usw. der fall ist, dann kannst du auch das script vom ventilator dafür nehmen

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

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
main()
{
	fan1 = getEnt( "door1" , "targetname" ); //türe1
	fan2 = getEnt( "door2" , "targetname" ); //türe2

	while (1)
	{
		fan1 rotateyaw( 360, 5, 0, 0 );
		fan2 rotateyaw( 360, 5, 0, 0 );

		wait 4.9; 
	}
}


den trigger zum auslösen lässt du weg (wird nicht benötigt) und der türe gibst du den targetname door1
2. türe: door2
3. türe: door3
usw. (script dann jeweils erweitern)

__________________
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
Marvin
Turnbeutelvergesser


images/avatars/avatar-114.gif


Dabei seit: 08.02.2009
Beiträge: 455


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

@steinacker, danke für den tipp, das hatte ich auch schon im Sinn aber ich dachte dass
man dafür ein xmodel benötigt und das kann man nach meinen erkenntnissen nur
mit dem maya Programm oder mit dem Asset Manager erstellen. Maya habe ich nicht und
mit dem Asset Manager kenne ich mich nicht aus. grosses Grinsen
Aber danke werde es mal ausprobieren. Augenzwinkern

mfg Marvin

Edit: Okay steinacker hat funktioniert, werde deinen Tipp oben im Tut. posten wenn das OK ist. Augenzwinkern

__________________
Wenn ihr Lust habt schaut mal auf meinem YouTube Channel vorbei, dort werden vorallem Gaming Videos hochgeladen:
http://www.youtube.com/user/PackyGames?feature=mhee

Ich freue mich auf euere Kommentare und / oder Feedback.
Wenns euch gefällt lasst ein Abo da smile

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Marvin: 25.03.2009 17:57.

Marvin ist offline Beiträge von Marvin suchen Nehmen Sie Marvin 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

hab mal kurz was gebaschdelt:



das script dazu:

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

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
main()
{
	fan1 = getEnt( "door1" , "targetname" );

	while (1)
	{
		fan1 rotateyaw( 360, 8, 0, 0 );

		wait 4.9; 
	}
}


jetzt kannst du dein tut erweitern Augenzwinkern

__________________
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
Marvin
Turnbeutelvergesser


images/avatars/avatar-114.gif


Dabei seit: 08.02.2009
Beiträge: 455


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

cool sowas habe ich auch schonmal gesehen. Nur so ne Drehtüre kriege ich net hin. Bin doof...

Steinacker's Mapping = 1+^^

Daumen hoch

__________________
Wenn ihr Lust habt schaut mal auf meinem YouTube Channel vorbei, dort werden vorallem Gaming Videos hochgeladen:
http://www.youtube.com/user/PackyGames?feature=mhee

Ich freue mich auf euere Kommentare und / oder Feedback.
Wenns euch gefällt lasst ein Abo da smile
Marvin ist offline Beiträge von Marvin suchen Nehmen Sie Marvin in Ihre Freundesliste auf
Marvin
Turnbeutelvergesser


images/avatars/avatar-114.gif


Dabei seit: 08.02.2009
Beiträge: 455


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

Okay, irgendetwas stimmt mit deinem script nicht. Ich habe in meiner Map SAS vs. Speznaz aber
wenn ich jetzt dein script einfüge drehen sich zwar meine Drehtüren aber ich habe plötzlich
Marines vs. Opfor und meine Effekte werden auch nicht mehr abgespielt,
nur wenn ich das script rausnehme wird alles wieder so wie vorher.
verwirrt Unglaublich... verwirrt

__________________
Wenn ihr Lust habt schaut mal auf meinem YouTube Channel vorbei, dort werden vorallem Gaming Videos hochgeladen:
http://www.youtube.com/user/PackyGames?feature=mhee

Ich freue mich auf euere Kommentare und / oder Feedback.
Wenns euch gefällt lasst ein Abo da smile
Marvin ist offline Beiträge von Marvin suchen Nehmen Sie Marvin 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

das kommt drauf an, wie du das script einbindest
wenn du das in deine map.gsc schreibst, darf die "funktion" nicht main heissen
wenn du das script in eine extra datei packst, dann muss die erste "funktion" main heissen

eingebunden in deine map.gsc

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:
main()
{
	//hier dein mapZeugs




	//am ende das script aufrufen
	thread revolving_door();
}

revolving_door()
{

	fan1 = getEnt( "door1" , "targetname" );

	while (1)
	{
		fan1 rotateyaw( 360, 8, 0, 0 );

		wait 4.9; 
	}
}



aufruf in einer eigenen datei z.b. _revolving_door.gsc

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

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
main()
{
	maps\mp\_load::main();
	maps\mp\_revolving_door::main();


	//hier dein mapZeugs

}



__________________
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
Marvin
Turnbeutelvergesser


images/avatars/avatar-114.gif


Dabei seit: 08.02.2009
Beiträge: 455


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

Danke, hab's jetzt dierekt in die mapname.gsc gemacht. Nun bin ich mir aber nicht sicher
ob das so richtig ist wenn ich zwei Drehtüren haben möchte:

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:
main()
{
        maps\mp\_breakable_windows::main();
        maps\mp\_move_sensor::main();
        maps\mp\_rolldoor::main();
        maps\mp\_leak::main();
        maps\mp\mp_mfc_mastermap_01_door_02::main();
        maps\mp\mp_mfc_mastermap_01_door_01::main();
        maps\mp\mp_mfc_mastermap_01_fx::main();
        maps\mp\_light_move::main();
        maps\mp\_explosive_barrels::main();
        maps\mp\_load::main();
	
	ambientPlay("ambient_cargoshipmp_ext");
	
	game["allies"] = "sas";
	game["axis"] = "russian";
	game["attackers"] = "axis";
	game["defenders"] = "allies";
	game["allies_soldiertype"] = "urban";
	game["axis_soldiertype"] = "woodland";
	
	setdvar( "r_specularcolorscale", "1" );
	
	setdvar("r_glowbloomintensity0",".25");
	setdvar("r_glowbloomintensity1",".25");
	setdvar("r_glowskybleedintensity0",".3");
	setdvar("compassmaxrange","1800");

        thread revolving_door();
}

revolving_door()
{

        fan2 = getEnt( "door2" , "targetname" );
        fan1 = getEnt( "door1" , "targetname" );

	while (1)
	{
         fan2 rotateyaw( 360, 8, 0, 0 );
	fan1 rotateyaw( 360, 8, 0, 0 );

		wait 4.9; 
	}
}



Edit: Okay ist so richtig hat fnktioniert, aber habe was lustiges entdeckt: Bei der Drehtür für
den Ausgang habe ich eine Scheibe vergessen. ROFL 2

__________________
Wenn ihr Lust habt schaut mal auf meinem YouTube Channel vorbei, dort werden vorallem Gaming Videos hochgeladen:
http://www.youtube.com/user/PackyGames?feature=mhee

Ich freue mich auf euere Kommentare und / oder Feedback.
Wenns euch gefällt lasst ein Abo da smile

Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von Marvin: 25.03.2009 20:23.

Marvin ist offline Beiträge von Marvin suchen Nehmen Sie Marvin in Ihre Freundesliste auf
Dr. jekyll
Weichei


Dabei seit: 07.03.2009
Beiträge: 8


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

hi,
ich habe schon alles versucht, aber ich krieg es trotzdem nicht hin!
ich habe das Tutorial so wie beschrieben befolgt, nur anstatt drehtuer habe ich revolving_door benutzt.

Nun kommt bei mir die Fehlermeldung:
Script runtime error
(see console for details*)
undefined is not an entity

Was mache is falsch oder habe ich vergessen?
ps: * wie kann ich die details sehen?
Dr. jekyll ist offline Beiträge von Dr. jekyll suchen Nehmen Sie Dr. jekyll in Ihre Freundesliste auf
klinter
Ha Ho He Hertha BSC


images/avatars/avatar-1120.gif


Dabei seit: 27.06.2008
Beiträge: 235


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

Zitat:

wie kann ich die details sehen?


shift + ^ drücken


mfg klinter
klinter ist offline Beiträge von klinter suchen Nehmen Sie klinter 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

undefined is not an entity
das script kann kein entity (script_brushmodel) mit dem targetname door1 oder door2 in deiner map finden
wenn du das vorgeschlagene script von mir benutzt, dann muss deine türe in der map den targetname door1 haben die zweite door2 usw.

__________________
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
Dr. jekyll
Weichei


Dabei seit: 07.03.2009
Beiträge: 8


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

ich habe diesen script hier benutzt und so umgeschrieben:


main()
{
fan1 = getEnt( "revolving_ door1" , "targetname" );

while (1)
{
fan1 rotateyaw( 360, 8, 0, 0 );

wait 4.9;
}
}

und denn trigger im radianten habe ich auch revolving_door1 genannt. oder muss ich das script_brushmodel auch revolving_door nennen?
Dr. jekyll ist offline Beiträge von Dr. jekyll suchen Nehmen Sie Dr. jekyll 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

wenn du den targetnamen revolving_door1 benutzt, muss deine drehtüre in der map den gleichen namen haben
tatrgetname: revolving_door1
und den trigger brauchst du hier nicht, weil sich die türe ständig dreht, ohne dass man [use] drücken muss

__________________
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
Dr. jekyll
Weichei


Dabei seit: 07.03.2009
Beiträge: 8


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

Endlich. Es funktioniert auch bei mir. Ein Fehler war, dass ich noch den Trigger drinne hatte und der andere Fehler war, dass ich die Drehtür wie oben beschreiben, als Prefab gebaut habe. Ich habe einfach ohne das Prefab die Drehtuer eingesetzt.
Dr. jekyll ist offline Beiträge von Dr. jekyll suchen Nehmen Sie Dr. jekyll 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-Tutorials / Wiki » [Tutorial] Drehtür einbauen

Impressum ||Datenschutzerklärung

Forensoftware: Wbb - WoltLab GmbH || zum Archiv