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] Doppeltür (die man umschießen kann) » 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] Doppeltür (die man umschießen kann) 2 Bewertungen - Durchschnitt: 10,002 Bewertungen - Durchschnitt: 10,002 Bewertungen - Durchschnitt: 10,002 Bewertungen - Durchschnitt: 10,002 Bewertungen - Durchschnitt: 10,00
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Mapicted
Steuerzahler


Dabei seit: 10.04.2015
Beiträge: 200


Lampe [Tutorial] Doppeltür (die man umschießen kann) Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen



Script und Map by: Nightwing -*bM.oLLe OtZe~, Mapicted - *bM.jt~, OLD MAN WITH GUN



Bei dieser Doppeltür lassen sich beide Türblätter einzeln öffnen und schließen.
Sie öffnet sich jeweils in die entsprechende Richtung, also immer von einem weg.
Die Türen lassen sich mit einer Granate, C4 oder ein paar Schüssen umschiessen.
Dies kann man nur machen, wenn die Tür geschlossen ist, die Tür fällt auch wie beim Öffnen, je nachdem von welcher Seite man schießt, in die entsprechende Richtung.
Alles natürlich mit Sound um FX.

Um die Tür in Deine Map einzubauen solltest du erst dieses Tutorial angeschaut und verstanden haben: Klick

Hier eine Beispielmap mit der Tür und den Triggern: Beispielmap

Die Tür ist 512 we über dem Türrahmen und offen, damit auch die Kanten bei der Lichtberechnung ausgeleuchtet werden. Sie wird beim Mapstart an die richtige Stelle geschoben.

Wenn man die Tür in eine andere Richtung in die Map einbaut als in der Beispielmap, dann müssen manche Winkel im Script angepasst werden.

Der FX beim Umfallen der Tür muss jeweils mit den richtigen Koordinaten
- an welcher Stelle der FX in der Map spielen soll - angepasst werden.
Also immer da wo die Tür hinfällt
//PlayFX(damagefx, (301,546,-316));
Ich habe den"fx,dust/abrams_desk_dust" verwendet


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:
182:
183:
184:
185:
186:
187:
188:
189:
190:
191:
192:
193:
194:
195:
196:
197:
198:
199:
200:
201:
202:
203:
204:
205:
206:
207:
208:
209:
210:
211:
212:
213:
214:
215:
216:
217:
218:
219:
220:
221:
222:
223:
224:
225:
226:
227:
228:
229:
230:
231:
232:
233:
234:
235:
236:
237:
238:
239:
240:
241:
242:
243:
244:
245:
246:
247:
248:
249:
250:
251:
252:
253:
254:
255:
256:
257:
258:
259:
260:
261:
262:
263:
264:
265:
266:
267:
268:
269:
270:
271:
272:
273:
274:
275:
276:
277:
278:
279:
280:
281:
282:
283:
284:
285:
286:
287:
288:
289:
290:
291:
292:
293:
294:
295:
296:
297:
298:
299:
300:
301:
302:
303:
304:
305:
306:
307:
308:
309:
310:
311:
312:
313:
314:
315:
316:
317:
318:
319:
320:
321:
322:
323:
324:
325:
326:
327:
328:
329:
330:
331:
332:
333:
334:
335:
336:
337:
338:
339:
340:
341:
342:
343:
344:
345:
346:
347:
348:
349:
350:
351:
352:
353:
354:
355:
356:
357:
358:
359:
360:
361:
362:
363:
364:
365:
366:
367:
368:
369:
370:
371:
372:
373:
374:
375:
376:
377:
378:
379:
380:
381:
382:
383:
384:
385:
386:
387:
388:
389:
390:
391:
392:
393:
394:
395:
396:
397:
398:
399:
400:
401:
402:
403:
404:
405:
406:
407:
408:
409:
410:
411:
412:
413:
414:
415:
416:
417:
418:
419:
420:
421:
422:
423:
424:
425:
426:
427:
428:
429:
430:
431:
432:
433:
434:
435:
436:
437:
438:
439:
440:
441:
442:
443:
444:
445:
446:
447:
448:
449:
450:
451:
452:
453:
454:
455:
456:
457:
458:
459:
460:
461:
462:
463:
464:
465:
466:
467:
468:
469:
470:
471:
472:
473:
474:
475:
476:
477:
478:
479:
480:
481:
482:
483:
484:
485:
486:
487:
488:
489:
490:
491:
492:
493:
494:
495:
496:
497:
498:
499:
500:
501:
502:
503:
504:
505:
506:
507:
508:
509:
510:
511:
512:
513:
514:
515:
516:
517:
518:
519:
520:
521:
522:
523:
524:
525:
526:
527:
528:
529:
530:
531:
532:
533:
534:
535:
536:
537:
538:
539:
540:
541:
542:
543:
544:
545:
546:
547:
548:
549:
550:
551:
552:
553:
554:
555:
556:
557:
558:
559:
560:
561:
562:
563:
564:
565:
566:
567:
568:
569:
570:
571:
572:
573:
574:
575:
576:
577:
578:
579:
580:
581:
582:
583:
584:
585:
586:
587:
588:
   
main(){
	
	thread door_move();
	thread door1();
	thread door2();
	thread damage_door1();
	thread damage_door2();

}

door_move(){
	
	door1 = getent ("door1","targetname");
	door2 = getent ("door2","targetname");
	
	door1 rotateyaw(90,0.1,0,0);
	door1 movez(-512,0.1,0,0);

	door2 rotateyaw(-90,0.1,0,0);
	door2 movez(-512,0.1,0,0);
}

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 ("open_trigger_1_tuer_1","targetname");
	damage_door1_trigger_right = getent ("damage_trigger_1_tuer_1","targetname");
	damage_door1_trigger_left = getent ("damage_trigger_2_tuer_1","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;
				
				damage_door1_trigger_left TriggerOff();
				damage_door1_trigger_right TriggerOff();
				
				door1 rotateyaw(120,2,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 rotateyaw(-120,2,0.5,0.5);
					door1 playsound ("door_close");
					door1 waittill ("rotatedone");
					
					damage_door1_trigger_left TriggerOn();
					damage_door1_trigger_right TriggerOn();
					
					level.door1_open = false;
					level.door1_moving = false;
					
					thread door1_trigger_right();
					
					return;
				}
	
				else if (level.door1_direction == false){
		
					level.door1_moving = true;

					door1 rotateyaw(120,2,0.5,0.5);
					door1 playsound ("door_close");
					door1 waittill ("rotatedone");
					
					damage_door1_trigger_left TriggerOn();
					damage_door1_trigger_right TriggerOn();
					
					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 ("open_trigger_2_tuer_1","targetname");
	damage_door1_trigger_right = getent ("damage_trigger_1_tuer_1","targetname");
	damage_door1_trigger_left = getent ("damage_trigger_2_tuer_1","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;
				
				damage_door1_trigger_left TriggerOff();
				damage_door1_trigger_right TriggerOff();
			
				door1 rotateyaw(-120,2,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 rotateyaw(-120,2,0.5,0.5);
					door1 playsound ("door_close");
					door1 waittill ("rotatedone");
					
					damage_door1_trigger_left TriggerOn();
					damage_door1_trigger_right TriggerOn();
					
					level.door1_open = false;
					level.door1_moving = false;
					
					thread door1_trigger_left();
					
					return;
				}

				else if (level.door1_direction == false){
	
					level.door1_moving = true;

					door1 rotateyaw(120,2,0.5,0.5);
					door1 playsound ("door_close");
					door1 waittill ("rotatedone");
					
					damage_door1_trigger_left TriggerOn();
					damage_door1_trigger_right TriggerOn();
					
					level.door1_open = false;
					level.door1_moving = false;
					
					thread door1_trigger_left();
					
					return;
				}
			}
			
			else if (level.door1_moving == true){
	
				thread door1_trigger_left();
				
				return;
			}
		}
	}
}

door2(){

	level.door2_open = false;
	level.door2_moving = false;
	level.door2_direction = false;
	
	thread door2_trigger_right();
	thread door2_trigger_left();
}

door2_trigger_right(){

	door2 = getent ("door2","targetname");
	door2_trigger_right = getent ("open_trigger_1_tuer_2","targetname");
	damage_door2_trigger_right = getent ("damage_trigger_1_tuer_2","targetname");
	damage_door2_trigger_left = getent ("damage_trigger_2_tuer_2","targetname");

	while (1){
	
		door2_trigger_right waittill ("trigger");
		
		if (level.door2_open == false){
		
			if(level.door2_moving == false){
			
				level.door2_moving = true;
				level.door2_open = true;
				level.door2_direction = true;
				
				damage_door2_trigger_left TriggerOff();
				damage_door2_trigger_right TriggerOff();
				
				door2 rotateyaw(-120,2,0.5,0.5);
				door2 playsound ("door_open");
				door2 waittill ("rotatedone");
				
				level.door2_moving = false;
				
				thread door2_trigger_right();
				
				return;
			}
			
			else if (level.door2_moving == true){
			
				thread door2_trigger_right();
				
				return;
			}
		}
	
		else if(level.door2_open == true){
		
			if(level.door2_moving == false){
	
				if (level.door2_direction == true){
	
					level.door2_moving = true;
					
					door2 rotateyaw(120,2,0.5,0.5);
					door2 playsound ("door_close");
					door2 waittill ("rotatedone");
					
					damage_door2_trigger_left TriggerOn();
					damage_door2_trigger_right TriggerOn();
					
					level.door2_open = false;
					level.door2_moving = false;
					
					thread door2_trigger_right();
					
					return;
				}
	
				else if (level.door1_direction == false){
		
					level.door2_moving = true;
					
					door2 rotateyaw(-120,2,0.5,0.5);
					door2 playsound ("door_close");
					door2 waittill ("rotatedone");
					
					damage_door2_trigger_left TriggerOn();
					damage_door2_trigger_right TriggerOn();
					
					level.door2_open = false;
					level.door2_moving = false;
					
					thread door2_trigger_right();
					
					return;
				}
			}
		
			else if (level.door2_moving == true){
	
				thread door2_trigger_right();
				
				return;
			}
		}
	}
}

door2_trigger_left(){

	door2 = getent ("door2","targetname");
	door2_trigger_left = getent ("open_trigger_2_tuer_2","targetname");
	damage_door2_trigger_right = getent ("damage_trigger_1_tuer_2","targetname");
	damage_door2_trigger_left = getent ("damage_trigger_2_tuer_2","targetname");

	while (1){
	
		door2_trigger_left waittill ("trigger");
		
		if (level.door2_open == false){
		
			if(level.door2_moving == false){
			
				level.door2_moving = true;
				level.door2_open = true;
				level.door2_direction = false;
				
				damage_door2_trigger_left TriggerOff();
				damage_door2_trigger_right TriggerOff();
				
				door2 rotateyaw(120,2,0.5,0.5);
				door2 playsound ("door_open");
				door2 waittill ("rotatedone");
				
				level.door2_moving = false;
				
				thread door2_trigger_left();
				
				return;
			}
			
			else if (level.door2_moving == true){
			
				thread door2_trigger_left();
				
				return;
			}
		}
		
		else if(level.door2_open == true){
		
			if(level.door2_moving == false){

				if (level.door2_direction == true){

					level.door2_moving = true;
					
					door2 rotateyaw(120,2,0.5,0.5);
					door2 playsound ("door_close");
					door2 waittill ("rotatedone");
					
					damage_door2_trigger_left TriggerOn();
					damage_door2_trigger_right TriggerOn();
					
					level.door2_open = false;
					level.door2_moving = false;
					
					thread door2_trigger_left();
					
					return;
				}
				
				else if (level.door2_direction == false){
					
					level.door2_moving = true;
					
					door2 rotateyaw(-120,2,0.5,0.5);
					door2 playsound ("door_close");
					door2 waittill ("rotatedone");
					
					damage_door2_trigger_left TriggerOn();
					damage_door2_trigger_right TriggerOn();
					
					level.door2_open = false;
					level.door2_moving = false;
					
					thread door2_trigger_left();
					
					return;
				}
			}
			
			else if (level.door2_moving == true){
	
				thread door2_trigger_left();
				
				return;
			}
		}
	}
}

damage_door1(){

	thread damage_door1_trigger_right();
	thread damage_door1_trigger_left();
}

damage_door1_trigger_right(){

	damagefx = loadfx ("dust/abrams_desk_dust");
	door1 = getent ("door1","targetname");
	door1_trigger_right = getent ("open_trigger_1_tuer_1","targetname");
	door1_trigger_left = getent ("open_trigger_2_tuer_1","targetname");
	damage_door1_trigger_right = getent ("damage_trigger_1_tuer_1","targetname");
	damage_door1_trigger_left = getent ("damage_trigger_2_tuer_1","targetname");

	doorhealth = 300;
	door_ok = true;
	doordamage = 50;

	while(door_ok){
			
		damage_door1_trigger_right waittill ("damage", amount);
		doorhealth -= amount;
		
		if (doorhealth <= doordamage){
	
			door_ok = false;
			
			door1_trigger_right TriggerOff();
			door1_trigger_left TriggerOff();
			damage_door1_trigger_right TriggerOff();
			damage_door1_trigger_left TriggerOff();

			door1 rotateto((-90,90,5),0.5,0.3,0);
			door1 playsound("door_crush");	
			door1 waittill ("rotatedone");
			//PlayFX(damagefx, (301,546,-316));	
		}
	}
}

damage_door1_trigger_left(){

	damagefx = loadfx ("dust/abrams_desk_dust");
	door1 = getent ("door1","targetname");
	door1_trigger_right = getent ("open_trigger_1_tuer_1","targetname");
	door1_trigger_left = getent ("open_trigger_2_tuer_1","targetname");
	damage_door1_trigger_right = getent ("damage_trigger_1_tuer_1","targetname");
	damage_door1_trigger_left = getent ("damage_trigger_2_tuer_1","targetname");

	doorhealth = 300;
	door_ok = true;
	doordamage = 50;

	while(door_ok){
			
		damage_door1_trigger_left waittill ("damage", amount);
		doorhealth -= amount;
		
		if (doorhealth <= doordamage){
	
			door_ok = false;
			
			door1_trigger_right TriggerOff();
			door1_trigger_left TriggerOff();
			damage_door1_trigger_right TriggerOff();
			damage_door1_trigger_left TriggerOff();

			door1 rotateto((90,90,5),0.5,0.3,0);
			door1 playsound("door_crush");	
			door1 waittill ("rotatedone");
			//PlayFX(damagefx, (301,650,-316));	
		}
	}
}

damage_door2(){

	level.door2_damage = false;
	
	thread damage_door2_trigger_right();
	thread damage_door2_trigger_left();
}

damage_door2_trigger_right(){

	damagefx = loadfx ("dust/abrams_desk_dust");
	door2 = getent ("door2","targetname");
	door2_trigger_right = getent ("open_trigger_1_tuer_2","targetname");
	door2_trigger_left = getent ("open_trigger_2_tuer_2","targetname");
	damage_door2_trigger_right = getent ("damage_trigger_1_tuer_2","targetname");
	damage_door2_trigger_left = getent ("damage_trigger_2_tuer_2","targetname");

	doorhealth = 300;
	door_ok = true;
	doordamage = 50;

	while(door_ok){
			
		damage_door2_trigger_right waittill ("damage", amount);
		doorhealth -= amount;
		
		if (doorhealth <= doordamage){
	
			door_ok = false;
			
			door2_trigger_right TriggerOff();
			door2_trigger_left TriggerOff();
			damage_door2_trigger_right TriggerOff();
			damage_door2_trigger_left TriggerOff();

			door2 rotateto((90,-90,5),0.5,0.3,0);
			door2 playsound("door_crush");	
			door2 waittill ("rotatedone");
			//PlayFX(damagefx, (258,546,-316));	
		}
	}
}

damage_door2_trigger_left(){

	damagefx = loadfx ("dust/abrams_desk_dust");
	door2 = getent ("door2","targetname");
	door2_trigger_right = getent ("open_trigger_1_tuer_2","targetname");
	door2_trigger_left = getent ("open_trigger_2_tuer_2","targetname");
	damage_door2_trigger_right = getent ("damage_trigger_1_tuer_2","targetname");
	damage_door2_trigger_left = getent ("damage_trigger_2_tuer_2","targetname");
	
	doorhealth = 300;
	door_ok = true;
	doordamage = 50;

	while(door_ok){
			
		damage_door2_trigger_left waittill ("damage", amount);
		doorhealth -= amount;
		
		if (doorhealth <= doordamage){
	
			door_ok = false;
			
			door2_trigger_right TriggerOff();
			door2_trigger_left TriggerOff();
			damage_door2_trigger_right TriggerOff();
			damage_door2_trigger_left TriggerOff();
			
			door2 rotateto((-90,-90,5),0.5,0.3,0);
			door2 playsound("door_crush");	
			door2 waittill ("rotatedone");
			//PlayFX(damagefx, (258,650,-316));	
		}
	}
}

TriggerOff(){

	if(!isdefined (self.realOrigin))
		self.realOrigin = self.origin;
		
	if(self.origin == self.realorigin)
		self.origin += (0, 0, -10000);
}

TriggerOn(){

	if(isDefined(self.realOrigin))
		self.origin = self.realOrigin;
}



***

Direkt verlinken:
https://www.opferlamm-clan.de/wbb2/thread.php?threadid=10975

***

__________________
Fresh Beginnings!

Dieser Beitrag wurde 10 mal editiert, zum letzten Mal von Mapicted: 03.05.2008 15:47.

Mapicted ist offline Beiträge von Mapicted suchen Nehmen Sie Mapicted 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] Doppeltür (die man umschießen kann)

Impressum ||Datenschutzerklärung

Forensoftware: Wbb - WoltLab GmbH || zum Archiv