Door Sound (Tür öffnen mit eigenem Sound)

-tiger-
Hier im cod2 Forum habe ich ein Tutorial gefunden wie man per Skript eine Tür öffnet. Und ich habe nach dem Tutorial die Tür erstellt, sie funktioniert einwandfrei. Nun zu mein Problem, ich würde gerne der Tür eine Sound verpassen, sobald man die Tür öffnet das ein Sound abgespielt wird. In das Skript habe ich eine Zeile eingefügt.

Zitat:

door1 playsound ("door_cargo_container_push_open");

Aber wenn ich ingame die Tür öffne wird mir eine fehlermeldung angezeigt, Error: Missing Soundalias "door_cargo_container_push_open".

Zitat:

main()
{
thread door1();
}

door1()
{
level.door1_open = false;
level.door1_moving = false;
level.door1_direction = false;
thread door1_trigger_right();
thread door1_trigger_left();
}

door1_trigger_right()
{
door1 = getent ("door1","targetname");
door1_trigger_right = getent ("door1_trigger_right","targetname");
while (1)
{
door1_trigger_right waittill ("trigger");
if (level.door1_open == false)
{
if(level.door1_moving == false)
{
level.door1_moving = true;
level.door1_open = true;
level.door1_dierection = true;
door1 rotateyaw (90,2);
door1 playsound ("door_cargo_container_push_open");
door1 waittill ("rotatedone");
level.door1_moving = false;
thread door1_trigger_right();
return;
}
else if (level.door1_moving == true)
{
thread door1_trigger_right();
return;
}
}
else if(level.door1_open == true)
{
if(level.door1_moving == false)
{
if (level.door1_dierection == true)
{
level.door1_moving = true;
door1 rotateyaw (-90,2);
door1 playsound ("door_cargo_container_push_open");
door1 waittill ("rotatedone");
level.door1_open = false;
level.door1_moving = false;
thread door1_trigger_right();
return;
}
else if (level.door1_dierection == false)
{
level.door1_moving = true;
door1 rotateyaw (90,2);
door1 playsound ("door_cargo_container_push_open");
door1 waittill ("rotatedone");
level.door1_open = false;
level.door1_moving = false;
thread door1_trigger_right();
return;
}
}
else if (level.door1_moving == true)
{
thread door1_trigger_right();
return;
}
}
}
}

door1_trigger_left()
{
door1 = getent ("door1","targetname");
door1_trigger_left = getent ("door1_trigger_left","targetname");
while (1)
{
door1_trigger_left waittill ("trigger");
if (level.door1_open == false)
{
if(level.door1_moving == false)
{
level.door1_moving = true;
level.door1_open = true;
level.door1_dierection = false;
door1 rotateyaw (-90,2);
door1 playsound ("door_cargo_container_push_open");
door1 waittill ("rotatedone");
level.door1_moving = false;
thread door1_trigger_left();
return;
}
else if (level.door1_moving == true)
{
thread door1_trigger_left();
return;
}
}
else if(level.door1_open == true)
{
if(level.door1_moving == false)
{
if (level.door1_dierection == true)
{
level.door1_moving = true;
door1 rotateyaw (-90,2);
door1 playsound ("door_cargo_container_push_open");
door1 waittill ("rotatedone");
level.door1_open = false;
level.door1_moving = false;
thread door1_trigger_left();
return;
}
else if (level.door1_dierection == false)
{
level.door1_moving = true;
door1 rotateyaw (90,2);
door1 playsound ("door_cargo_container_push_open");
door1 waittill ("rotatedone");
level.door1_open = false;
level.door1_moving = false;
thread door1_trigger_left();
return;
}
}
else if (level.door1_moving == true)
{
thread door1_trigger_left();
return;
}
}
}
}


Und nun hoffe ich das mir da einer weiterhelfen kann.

Oh sorry,sehe ja gerade das hier das falsche forum ist, müsste vielleicht verschoben werden. Augen rollen
-tiger-
Ich konnte das Problem selber lösen, es lag an der soundalias Datei. Der Sound Ordner muss den gleichen Namen haben wie die soundalias Datei, zb. doorani > doorani.csv . Ich wollte erst ein Sound aus cod4 nehmen aber so ging es nicht.

Und ich habe für Tests eine Beispielmap mit Prefab erstellt.

doorani
-tiger-
Hallo,

ich bin es noch mal, habe ein neues Problem. Und zwar habe ich eine zweite Tür eingefügt mit anderen Targetname und diese habe ich auch in das zweite skipt angegeben. aber sobald ich die map testen will wird mir eine Fehlermeldung angezeigt.

Und ich bin noch nicht so gut im skripten, deshalb würde ich gerne wissen woran das liegt.
yoda
Wenn Du bei so einem Fehler die Konsole mit UMSCHALTTASTE + ^ öffnest, kriegst Du eine detailiertere Meldung, die auch einen Hinweis darauf geben sollte, wo der Fehler zu suchen ist.
OLD MAN WITH GUN

Zitat:

Original von -tiger-
Und zwar habe ich eine zweite Tür eingefügt mit anderen Targetname und diese habe ich auch in das zweite skipt angegeben. aber sobald ich die map testen will wird mir eine Fehlermeldung angezeigt.
Da wird beim vergeben des targetnames wohl irgendwo was schief gelaufen sein. Die Fehlermeldung sagt, das es mehr als ein Entity mit dem selben targetname gibt und das geht dann mit getent nicht (damit kann nur ein Entity verarbeitet werden).

Edit: Und ändere mal deinen Hinttext zu "Press [Use] to open the door." Liest sich weitaus angenehmer Augenzwinkern
-tiger-
@yoda

Danke für den Tip so kann man genauer sehen wo der Fehler ist. Kannst ja dein cod2 Tür Tütorial für cod4 schreiben, wie du siehst geht es auch in cod4 Freude

@OLD MAN WITH GUN

Du hast mal wieder Recht gehabt, es lag daran das der Trigger und das brushmodel von der ersten Tür den gleichen Namen hatte. Ich habe mich Dumm und Dämlich gesucht und es nicht gefunden. Den Hinttext habe ich entfernt Symbol muss reichen. grosses Grinsen
Nightwing
Hab auch mal ne Runde an nem Doorscript gebastelt, nur ein kleineres Problem damit. Nennen wir es Denkblockade...

Es handelt sich um eine Falltür, die von 2 Seiten geöffnet werden kann. Player A steht oben und drückt [USE], Player B steht unten im Tunnel und drückt [USE], während sich die Tür noch bewegt. Dadurch ändert diese ihren Nullpunkt und schliesst nicht mehr sauber, trotz einem waittill("rotatedone"); im Script...

Die Prints sind dazu da, am Bildschirm zu Sehen, was das Script macht. In den letzten Print springt er gar nicht rein...

Irgendwie sollte ich da noch ne while(1) Abfrage reinbringen (statt der else Schleife), die abcheckt, wie die Tür steht, und falls nötig korrigiert, dazu weiss ich aber nicht, wie ich angeben kann, wo der Nullpunkt der Tür ist...

Danke für Hilfe.

Hier das Script:

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:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
door(){

	doortriggers_1 = getentarray("klaptrig1","targetname");
	doortriggers_2 = getentarray("klaptrig2","targetname");
	
	for(i = 0; i < doortriggers_1.size; i++)
		doortriggers_1[i] thread door_think_1();
		
	for(i = 0; i < doortriggers_2.size; i++)
		doortriggers_2[i] thread door_think_2();
}

door_think_1(){

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

door_think_2(){

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

door_move_1(){

	self.doormoving = true;
	
	if(self.doorclosed){
	
		self.doormodel rotateroll(-90,3.5,0.5,0.5);
		self.doormodel playsound ("door_open");
//		iprintlnbold ("^2door_move_1_open");
		self.doormodel waittill("rotatedone");
		
		self.doorclosed = false;
		
		wait 5;
		
		self.doormodel rotateroll(90,3.5,0.5,0.5);
		self.doormodel playsound ("door_close");
//		iprintlnbold ("^1door_move_1_close_if");
		self.doormodel waittill("rotatedone");
		
		self.doorclosed = true;
	}
	
	else{
	
		self.doormodel rotateroll(90,3.5,0.5,0.5);
		self.doormodel playsound ("door_close");
//		iprintlnbold ("^3door_move_1_close_else");
		self.doormodel waittill("rotatedone");
		
		self.doorclosed = true;
	}
		
	self.doormoving = false;
}

door_move_2(){

	self.doormoving = true;
	
	if(self.doorclosed){
	
		self.doormodel rotateroll(90,3.5,0.5,0.5);
		self.doormodel playsound ("door_open");
//		iprintlnbold ("^2door_move_2_open");
		self.doormodel waittill("rotatedone");
		
		self.doorclosed = false;
		
		wait 5;
		
		self.doormodel rotateroll(-90,3.5,0.5,0.5);
		self.doormodel playsound ("door_close");
//		iprintlnbold ("^1door_move_2_close_if");
		self.doormodel waittill("rotatedone");
		
		self.doorclosed = true;
	}
	
	else{
	
		self.doormodel rotateroll(-90,3.5,0.5,0.5);
		self.doormodel playsound ("door_close");
//		iprintlnbold ("^3door_move_2_close_else");
		self.doormodel waittill("rotatedone");
		
		self.doorclosed = true;
	}
		
	self.doormoving = false;
}



ToM
OLD MAN WITH GUN
Dein Script ist für 2 Trigger die sich auf eine Tür beziehen auch extrem ungünstig (da laut diesem Script jede Tür quasi 2x als Entity abgefragt wird und es sich für den Script damit eigentlich um 2 verschiedene Türen handelt und nicht um ein und die selbe).

Benutze lieber den CoD2 Script, den -tiger- oben verlinkt hat, da ist eine Tür auch wirklich eine Tür und der zweite Trigger funktioniert nicht, solange die Tür sich bewegt.
Nightwing
Okay danke OMWG, das formatier ich mal schnell und trag die Trigger ein, mal sehen.

ToM

Nachtrag:

Dieses Script mag mich nicht...

Bekomme diese 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:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
******* script runtime error *******
undefined is not an entity: (file 'maps/mp/_door.gsc', line 33)
    door1 rotateroll(90,3.5,0.5,0.5);
    *
Error: started from:
(file 'maps/mp/_door.gsc', line 23)
  door1_trigger_right waittill ("trigger");
                      *
Error: ************************************

******* script runtime error *******
undefined is not an entity: (file 'maps/mp/_door.gsc', line 34)
    door1 playsound ("door_open");
    *
Error: started from:
(file 'maps/mp/_door.gsc', line 23)
  door1_trigger_right waittill ("trigger");
                      *
Error: ************************************

******* script runtime error *******
undefined is not an object: (file 'maps/mp/_door.gsc', line 35)
    door1 waittill ("rotatedone");
    *
Error: started from:
(file 'maps/mp/_door.gsc', line 23)
  door1_trigger_right waittill ("trigger");
                      *
Error: ************************************

******* script runtime error *******
undefined is not an entity: (file 'maps/mp/_door.gsc', line 60)
     door1 rotateroll(-90,3.5,0.5,0.5);
     *
Error: started from:
(file 'maps/mp/_door.gsc', line 23)
  door1_trigger_right waittill ("trigger");
                      *
Error: ************************************

******* script runtime error *******
undefined is not an entity: (file 'maps/mp/_door.gsc', line 61)
     door1 playsound ("door_close");
     *
Error: started from:
(file 'maps/mp/_door.gsc', line 23)
  door1_trigger_right waittill ("trigger");
                      *
Error: ************************************

******* script runtime error *******
undefined is not an object: (file 'maps/mp/_door.gsc', line 62)
     door1 waittill ("rotatedone");
     *
Error: started from:
(file 'maps/mp/_door.gsc', line 23)
  door1_trigger_right waittill ("trigger");
                      *
Error: ************************************

******* script runtime error *******
undefined is not an entity: (file 'maps/mp/_door.gsc', line 116)
    door1 rotateroll(-90,3.5,0.5,0.5);
    *
Error: started from:
(file 'maps/mp/_door.gsc', line 106)
  door1_trigger_left waittill ("trigger");
                     *
Error: ************************************

******* script runtime error *******
undefined is not an entity: (file 'maps/mp/_door.gsc', line 117)
    door1 playsound ("door_open");
    *
Error: started from:
(file 'maps/mp/_door.gsc', line 106)
  door1_trigger_left waittill ("trigger");
                     *
Error: ************************************

******* script runtime error *******
undefined is not an object: (file 'maps/mp/_door.gsc', line 118)
    door1 waittill ("rotatedone");
    *
Error: started from:
(file 'maps/mp/_door.gsc', line 106)
  door1_trigger_left waittill ("trigger");
                     *
Error: ************************************

******* script runtime error *******
undefined is not an entity: (file 'maps/mp/_door.gsc', line 159)
     door1 rotateroll(90,3.5,0.5,0.5);
     *
Error: started from:
(file 'maps/mp/_door.gsc', line 106)
  door1_trigger_left waittill ("trigger");
                     *
Error: ************************************

******* script runtime error *******
undefined is not an entity: (file 'maps/mp/_door.gsc', line 160)
     door1 playsound ("door_open");
     *
Error: started from:
(file 'maps/mp/_door.gsc', line 106)
  door1_trigger_left waittill ("trigger");
                     *
Error: ************************************

******* script runtime error *******
undefined is not an object: (file 'maps/mp/_door.gsc', line 161)
     door1 waittill ("rotatedone");
     *
Error: started from:
(file 'maps/mp/_door.gsc', line 106)
  door1_trigger_left waittill ("trigger");
                     *
Error: ************************************



Hier das Script:

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:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
146:
147:
148:
149:
150:
151:
152:
153:
154:
155:
156:
157:
158:
159:
160:
161:
162:
163:
164:
165:
166:
167:
168:
169:
170:
171:
172:
173:
174:
175:
176:
177:
178:
179:
180:
181:
main(){

	thread door1();
}

door1(){

	level.door1_open = false;
	level.door1_moving = false;
	level.door1_direction = false;
	
	thread door1_trigger_right();
	thread door1_trigger_left();
}

door1_trigger_right(){

	door1 = getent ("door1","targetname");
	door1_trigger_right = getent ("klaptrig1","targetname");
	
	while (1){
	
		door1_trigger_right waittill ("trigger");
		
		if (level.door1_open == false){
		
			if(level.door1_moving == false){
			
				level.door1_moving = true;
				level.door1_open = true;
				level.door1_direction = true;
				
				door1 rotateroll(90,3.5,0.5,0.5);
				door1 playsound ("door_open");
				door1 waittill ("rotatedone");
				
				level.door1_moving = false;
				
				thread door1_trigger_right();
				
				return;
			}
			
			else if (level.door1_moving == true){
			
				thread door1_trigger_right();
				
				return;
			}
		}
	
		else if(level.door1_open == true){
		
			if(level.door1_moving == false){
	
				if (level.door1_direction == true){
	
					level.door1_moving = true;
					
					door1 rotateroll(-90,3.5,0.5,0.5);
					door1 playsound ("door_close");
					door1 waittill ("rotatedone");
					
					level.door1_open = false;
					level.door1_moving = false;
					
					thread door1_trigger_right();
					
					return;
				}
	
				else if (level.door1_direction == false){
		
					level.door1_moving = true;
					
					door1 rotateroll(90,3.5,0.5,0.5);
					door1 playsound ("door_open");
					door1 waittill ("rotatedone");
					
					level.door1_open = false;
					level.door1_moving = false;
					
					thread door1_trigger_right();
					
					return;
				}
			}
		
			else if (level.door1_moving == true){
	
				thread door1_trigger_right();
				
				return;
			}
		}
	}
}

door1_trigger_left(){

	door1 = getent ("door1","targetname");
	door1_trigger_left = getent ("klaptrig2","targetname");
	
	while (1){
	
		door1_trigger_left waittill ("trigger");
		
		if (level.door1_open == false){
		
			if(level.door1_moving == false){
			
				level.door1_moving = true;
				level.door1_open = true;
				level.door1_direction = false;
				
				door1 rotateroll(-90,3.5,0.5,0.5);
				door1 playsound ("door_open");
				door1 waittill ("rotatedone");
				
				level.door1_moving = false;
				
				thread door1_trigger_left();
				
				return;
			}
			
			else if (level.door1_moving == true){
			
				thread door1_trigger_left();
				
				return;
			}
		}
		
		else if(level.door1_open == true){
		
			if(level.door1_moving == false){

				if (level.door1_direction == true){

					level.door1_moving = true;
					
					door1 rotateroll(-90,3.5,0.5,0.5);
					door1 playsound ("door_close");
					door1 waittill ("rotatedone");
					
					level.door1_open = false;
					level.door1_moving = false;
					
					thread door1_trigger_left();
					
					return;
				}

				else if (level.door1_direction == false){
	
					level.door1_moving = true;
					
					door1 rotateroll(90,3.5,0.5,0.5);
					door1 playsound ("door_open");
					door1 waittill ("rotatedone");
					
					level.door1_open = false;
					level.door1_moving = false;
					
					thread door1_trigger_left();
					
					return;
				}
			}
			
			else if (level.door1_moving == true){
	
				thread door1_trigger_left();
				
				return;
			}
		}
	}
}

OLD MAN WITH GUN

Zitat:

Original von Nightwing
Nachtrag:

Dieses Script mag mich nicht...

Bekomme diese Fehler:

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

code:
1:
2:
3:
******* script runtime error *******
undefined is not an entity: (file 'maps/mp/_door.gsc', line 33)
    door1 rotateroll(90,3.5,0.5,0.5);



door1 ist nicht definiert, was nichts anderes bedeutet, das der targetname der Tür im Script nicht mit dem targetname in deiner Map übereinstimmt (somit wird für door1 nichts gefunden und door1 bleibt undefiniert).
Nightwing
Ich kenn den Radiant nicht, ein Buch mit 7 Siegeln für mich. Aber jetzt hats voll KLACK gemacht. Da war vom Mapper kein targetname "door1" vergeben, nur verbunden. So konnte das Script ja net tun.

Naja, mit sowas hatt ich beim Admiral Mod nicht zu Kämpfen, da warens andere Dämonen Augenzwinkern

Danke OMWG

ToM
steinacker
@ tiger:
könntest du die sound.csv (doorani) und das bild mal so pousten, dass ich mir das auch anschauen kann?
ich wäre auch mal daran interessiert wie das mit den sounds gemacht wird.

@nightwing:
kleiner tip:
ein while(1) ist keine abfrage, mit der (1) wird eine endlosschleife ausgeführt, die in diesem fall durch das aufrufen des unterprogramms door_move_1 (); "abgebrochen" wird

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

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
while (1)
{
	
		self waittill("trigger"); //wartet, bis der trigger betätigt wird
		
		if(!self.doormoving) // wenn die türe sich nicht(!) bewegt
			self thread door_move_1(); //dann starte das unterprogramm door_move_1();
}

Nightwing
Jo danke, das ist eigentlich schon klar. Mich hat die fehlende Zuweisung durcheinandergebracht. Aber nun funzt das feini grosses Grinsen

ToM
steinacker
@ tiger:
könntest du die sound.csv (doorani) und das bild mal so pousten, dass ich mir das auch anschauen kann?
ich wäre auch mal daran interessiert wie das mit den sounds gemacht wird.

@nightwing:
kleiner tip:
ein while(1) ist keine abfrage, mit der (1) wird eine endlosschleife ausgeführt, die in diesem fall durch das aufrufen des unterprogramms door_move_1 (); "abgebrochen" wird

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

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
while (1)
{
	
	self waittill("trigger"); //wartet, bis der trigger betätigt wird
		
	if(!self.doormoving) // wenn die türe sich nicht(!) bewegt
		self thread door_move_1(); //dann starte das unterprogramm door_move_1();
}



ein "else" kann ohne ein vorhergehendes "if" nicht sein

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

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
if(level.door1_moving == false) //wenn sich die türe nicht bewegt
{
....
}
else if (level.door1_moving == true) //ansonsten, wenn sich die türe bewegt
{
...
}

steinacker
@ tiger:
könntest du die sound.csv (doorani) und das bild mal so pousten, dass ich mir das auch anschauen kann?
ich wäre auch mal daran interessiert wie das mit den sounds gemacht wird.

@nightwing:
kleiner tip:
ein while(1) ist keine abfrage, mit der (1) wird eine endlosschleife ausgeführt, die in diesem fall durch das aufrufen des unterprogramms door_move_1 (); "abgebrochen" wird

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

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
while (1)
{
	
	self waittill("trigger"); //wartet, bis der trigger betätigt wird
		
	if(!self.doormoving) // wenn die türe sich nicht(!) bewegt
		self thread door_move_1(); //dann starte das unterprogramm door_move_1();
}



ein "else" kann ohne ein vorhergehendes "if" nicht sein

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

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
if(self.doorclosed) //abfrage, ob die türe geschlossen ist (in ruhestellung)
{
....
}
else //ansonsten, (mach das was hier steht)
{
...
}



eine abfrage mit:

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

code:
1:
2:
3:
if(level.door1_moving == false)


funktioniert nicht, weil false in diesem fall eine variable ist, die du vorher definieren must wie z.b.

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

code:
1:
2:
3:
doortrigger = getentarray("doortrig","targetname");


hier wird ein array definiert, das 2 variablen mit dem namen "doortrig" und "targetname" aufnimmt
Nightwing
Danke fürs ausführliche, die Grundsätze sind mir jedoch klar. Mir fehlte nur der Zusammenhang zwischen door1 und dem Script. Da door1 im Radiant nicht zugewiesen war und ich vom Radiant nicht nen blassen Schimmer hab, hatte ich das Problem. Mit Scripts hab ich weniger Probleme, ausser ich denk kompliziert Augenzwinkern

ToM
-tiger-
Oh Sorry habe in den letzten Tagen an meiner Seite rum geschraubt. Links sollten wieder gehen.

Zitat:

könntest du die sound.csv (doorani) und das bild mal so pousten, dass ich mir das auch anschauen kann?
ich wäre auch mal daran interessiert wie das mit den sounds gemacht wird.


Klar kein Problem, lade dir die Beispielmap runter da ist alle dabei was du brauchst.

doorani
steinacker
jou danke...
OLD MAN WITH GUN

Zitat:

Original von steinacker
funktioniert nicht, weil false in diesem fall eine variable ist, die du vorher definieren must wie z.b.

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

code:
1:
2:
3:
doortrigger = getentarray("doortrig","targetname");


hier wird ein array definiert, das 2 variablen mit dem namen "doortrig" und "targetname" aufnimmt
So ganz stimmt das nicht. Hier wird vielmehr ein array mit dem Namen doortrigger definiert und gleichzeitig werden diesem array alle entities mit dem targetname doortrig zugewiesen. Damit doortrigger dann überhaupt definiert wird (und nicht 'undefined' ist) müssen auf der Map 1+n entities mit dem targetname doortrig vorhanden sein.
steinacker
danke für die genauere erklärung
meine c / c++ kentnisse sind etwas eingerostet