Subversion-Projekte sthq.gbs

Revision

Revision 880 | Details | Vergleich mit vorheriger | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
606 TickNSwist 1
//--------------------------------------------------------------------------------------
2
//
3
//  A Gate Two Birds And The Beautiful Sky Level Script File
4
//
665 lars 5
//  Level:		map10
880 lars 6
//  Script By:	DrBob & Others
606 TickNSwist 7
//  Geometry By:	Others
880 lars 8
//  Created on:	09/03/04
606 TickNSwist 9
//
880 lars 10
// Last Edited on:  $Date: 2007-10-03 14:57:12 +0200 (Mi, 03 Okt 2007) $
11
// Last Edited by:	$Author: lars $
606 TickNSwist 12
//
13
//--------------------------------------------------------------------------------------
243 drbob 14
 
606 TickNSwist 15
//The Cell Threads
16
void setupCellCin();
686 argyle 17
void setupBeachCin();
606 TickNSwist 18
void doCellCin();
243 drbob 19
 
606 TickNSwist 20
//The Credits Threads
21
void credits_cin();
243 drbob 22
 
606 TickNSwist 23
//The Beach Threads
24
void initTrees();
25
void flyShuttle();
26
void tide();
27
void beach_cin();
243 drbob 28
 
606 TickNSwist 29
//Other Threads
30
void skip_scene();
184 drbob 31
 
606 TickNSwist 32
//Variables
33
//This is treated as a boolean variable
34
float beach_run = 0;
35
//This is also treates as a boolean value
36
float skipthread_run = 0;
481 TickNSwist 37
 
606 TickNSwist 38
void main()
39
{
686 argyle 40
   	soundtrack( "/music/map10.mus");
606 TickNSwist 41
	beach_run = 0;
42
	//Prepare for cin mode
43
	freezeplayer();
44
	cinematic();
45
	letterbox( 0.1 );
46
 
686 argyle 47
	setupBeachCin();
48
 
606 TickNSwist 49
	//Do the cell cinematic
50
	setupCellCin();
51
	doCellCin();
52
 
53
	wait( 2 );
54
 
55
	//Credits
56
	credits_cin();
57
 
58
	wait( 2 );
59
 
686 argyle 60
	beach_run = 0;
606 TickNSwist 61
	if( beach_run == 0 ) {
62
		//Beach cinematic
63
		initTrees();
64
		thread tide();
65
		beach_cin();
66
 
67
		beach_run = 1;
68
	}
502 lars 69
}
138 argyle 70
 
686 argyle 71
void setupBeachCin()
72
{
73
	$stammheim2.ai_off();
74
	$stammheim2.anim( "bar_sitting_left" );
75
	$stammheim2.notsolid();
76
	$stammheim2.removeactorweapon( "CompressionRifle" );
77
}
78
 
606 TickNSwist 79
void skip_scene()
502 lars 80
{
606 TickNSwist 81
	if( beach_run == 0 ) {
82
		beach_run = 1;
83
		skipthread_run = 1;
84
 
85
		cam_fadeout( 2, 0, 0, 0, 1, 0 );
86
		wait( 1 );
87
 
88
		killthread( "credits_cin" );
89
		wait( 1 );
90
 
91
		//Hide the credits (menus)
92
		stuffcmd( "hidemenu credits-staff-gbs\n" );
93
		stuffcmd( "popmenu 0\n" );
94
		stuffcmd( "hidemenu credits-voice2-gbs\n" );
95
		stuffcmd( "popmenu 0\n" );
96
		stuffcmd( "hidemenu credits-voice1-gbs\n" );
97
		stuffcmd( "popmenu 0\n" );
98
		stuffcmd( "hidemenu credits-specialthanks-gbs\n" );
99
		stuffcmd( "popmenu 0\n" );
100
 
101
		beach_cin();
102
	}
502 lars 103
}
138 argyle 104
 
606 TickNSwist 105
void initTrees()
106
{
107
	float i;
108
	entity e;
109
	//Get all the trees and move them down
110
	for ( i = 1; i <= 18; i++ )
111
	{
112
		e = getentity ( "tree" + i );
113
		e.randomscale( 4.0, 5.5 );
114
		e.bind ( $tree_origin );
115
	}
116
	$tree_origin.speed( 500 );
117
	$tree_origin.moveDown( 100 );
525 TickNSwist 118
}
184 drbob 119
 
606 TickNSwist 120
void flyShuttle()
525 TickNSwist 121
{
606 TickNSwist 122
	//Make the shuttle fly around
123
	$shuttle.bind ( $shuttle_origin );
124
	$shuttle_origin.followpath( $shuttle_path, "normalangles" );
525 TickNSwist 125
}
126
 
606 TickNSwist 127
void tide()
525 TickNSwist 128
{
606 TickNSwist 129
	//This is a small thread to make the water ebb and flow
130
	$water.speed( 2 );
131
	while( 1 > 0 )
132
	{
133
		$water.moveDown( 20 );
134
		wait( 5 );
135
		$water.moveUp( 20 );
136
		wait( 5 );
137
	}
525 TickNSwist 138
}
139
 
606 TickNSwist 140
void beach_cin()
141
{
788 lars 142
 
606 TickNSwist 143
	//Setup the actors
144
	$stammheim2.ai_off();
686 argyle 145
	$stammheim2.anim( "bar_sitting_left" );
606 TickNSwist 146
	$stammheim2.notsolid();
147
	$beach_illia.ai_off();
461 TickNSwist 148
 
606 TickNSwist 149
	//Spawn the cameras
150
	spawn ( "Camera" , "targetname" , "cam1" );
151
	spawn ( "Camera" , "targetname" , "cam2" );
152
	spawn ( "Camera" , "targetname" , "cam3" );
153
	spawn ( "Camera" , "targetname" , "cam4" );
154
	spawn ( "Camera" , "targetname" , "cam5" );
155
	spawn ( "Camera" , "targetname" , "cam6" );
156
	spawn ( "Camera" , "targetname" , "cam7" );
461 TickNSwist 157
 
606 TickNSwist 158
	wait ( 0.5 );
461 TickNSwist 159
 
606 TickNSwist 160
	//Setup the cameras
161
	$cam1.follow( $beach_cam2 );
162
	$cam2.follow( $beach_cam3 );
163
	$cam3.follow( $beach_cam4 );
164
	$cam4.follow( $beach_cam_stevens );
165
	$cam5.follow( $beach_cam_stammheim2 );
166
	$cam7.follow( $beach_cam_illia );
461 TickNSwist 167
 
606 TickNSwist 168
	wait( 0.5 );
531 lars 169
 
606 TickNSwist 170
	//Start the ball rolling ;)
171
	$cam1.cut();
172
	wait( 1 );
173
	nointermission();
174
	cuecamera ( $cam1 );
175
	cam_fadein( 0.5, 0, 0, 0, 1, 0 );
138 argyle 176
 
606 TickNSwist 177
	wait( 5 );
243 drbob 178
 
606 TickNSwist 179
	//Show the 'Risa' text (menu)
800 lars 180
	//Show the 'Three months later' text (menu)
181
	stuffcmd( "showmenu 3monthslater\n" );
182
	wait( 1 );
183
	stuffcmd( "popmenu 1\n" );
184
	wait( 0.1 );
606 TickNSwist 185
	stuffcmd( "showmenu risa\n" );
800 lars 186
	wait( 4 );
606 TickNSwist 187
	stuffcmd( "popmenu 1\n" );
188
	wait( 0.1 );
138 argyle 189
 
606 TickNSwist 190
	cuecamera ( $cam2 );
191
	wait( 2 );
239 drbob 192
 
606 TickNSwist 193
	$beach_stammheim.ai_off();
194
	$beach_stammheim.walkto( "$go_to_ship" );
233 drbob 195
 
606 TickNSwist 196
	wait( 1 );
138 argyle 197
 
606 TickNSwist 198
	cam_fadeout( 2, 0, 0, 0, 1, 0 );
199
 
200
	wait( 2.5 );
233 drbob 201
 
606 TickNSwist 202
	cam_fadein( 1, 0, 0, 0, 1, 0 );
184 drbob 203
 
686 argyle 204
	//$stammheim2.show();
205
	//$stammheim2.solid();
606 TickNSwist 206
	$stammheim2.anim( "bar_sitting_left" );
138 argyle 207
 
606 TickNSwist 208
	cuecamera( $cam3 );
239 drbob 209
 
665 lars 210
	$stevens.playdialog("localization/sound/dialog/map10/stevens/ihope.mp3",1,10000,0);
606 TickNSwist 211
	waitfordialog($stevens);
138 argyle 212
 
606 TickNSwist 213
	wait( 1 );
686 argyle 214
	cuecamera( $cam5 );
212 drbob 215
 
216
 
665 lars 217
	$stammheim2.playdialog( "localization/sound/dialog/map10/stammheim/stayforever.mp3", 1, 10000, 0 );
606 TickNSwist 218
	waitfordialog( $stammheim2 );
233 drbob 219
 
606 TickNSwist 220
	wait( 1 );
233 drbob 221
 
686 argyle 222
	cuecamera( $cam4 );
223
 
665 lars 224
	$stevens.playdialog("localization/sound/dialog/map10/stevens/donotbestupid.mp3",1,10000,0);
606 TickNSwist 225
	waitfordialog($stevens);
186 drbob 226
 
606 TickNSwist 227
	wait( 1 );
138 argyle 228
 
665 lars 229
	$stevens.playdialog("localization/sound/dialog/map10/stevens/iknowyou.mp3",1,10000,0);
606 TickNSwist 230
	waitfordialog($stevens);
186 drbob 231
 
606 TickNSwist 232
	wait( 1 );
186 drbob 233
 
665 lars 234
	$stevens.playdialog("localization/sound/dialog/map10/stevens/nextmission.mp3",1,10000,0);
606 TickNSwist 235
	waitfordialog($stevens);
184 drbob 236
 
606 TickNSwist 237
	wait( 1 );
184 drbob 238
 
686 argyle 239
	//cuecamera( $cam5 );
529 lars 240
 
686 argyle 241
	wait( 1 );
184 drbob 242
 
665 lars 243
	$stevens.playdialog("localization/sound/dialog/map10/stevens/meetingpoint.mp3",1,10000,0);
606 TickNSwist 244
	waitfordialog($stevens);
184 drbob 245
 
606 TickNSwist 246
	thread flyShuttle();
184 drbob 247
 
606 TickNSwist 248
	$cam6.follow( $beach_cam5 );
249
	wait( 0.5 );
184 drbob 250
 
606 TickNSwist 251
 	cuecamera ( $cam6 );
252
	cam_fadein( 1, 0, 0, 0, 1, 0 );
253
	wait ( 5.95 );
184 drbob 254
 
606 TickNSwist 255
	trigger( "$bigBang3" );
782 lars 256
	trigger( "$exp_sound" );
257
	trigger( "$exp_sound0" );
258
	trigger( "$exp_sound1" );
259
	trigger( "$exp_sound2" );
184 drbob 260
 
606 TickNSwist 261
	$shuttle.hide();
262
	wait( 7 );
184 drbob 263
 
606 TickNSwist 264
	cuecamera ( $cam7 );
184 drbob 265
 
686 argyle 266
	wait( 2.8 );
267
 
665 lars 268
	$beach_illia.playdialog( "localization/sound/dialog/map10/illia/beautifulsky.mp3", 2, 10000, 0 );
606 TickNSwist 269
	waitfordialog( $beach_illia );
184 drbob 270
 
606 TickNSwist 271
	wait( 5 );
184 drbob 272
 
606 TickNSwist 273
	cam_fadeout( 2, 0, 0, 0, 1, 0 );
184 drbob 274
 
686 argyle 275
	wait( 1.5 );
276
 
606 TickNSwist 277
	//Show 'The End' text (menu)
278
	stuffcmd( "showmenu endgbs\n" );
279
	wait( 5 );
280
	stuffcmd( "popmenu 1\n" );
281
	wait( 0.1 );
184 drbob 282
 
606 TickNSwist 283
	wait( 1 );
184 drbob 284
 
606 TickNSwist 285
	//Disconnect
902 lars 286
	stuffcmd( "disconnect\n" );
287
//	stuffcmd( "map beta_ending\n" );
606 TickNSwist 288
}
184 drbob 289
 
606 TickNSwist 290
void setupCellCin()
291
{
292
	//Setup for the cell cinematic
293
	$guard1.ai_off();
294
	$guard2.ai_off();
295
	$guard3.ai_off();
296
	$guard4.ai_off();
297
	$illia_prisoner.ai_off();
298
	$illia_prisoner.morph( "exp_Nervous" );
299
	$illia_prisoner.removeactorweapon( "CompressionRifle" );
300
	$illia_prisoner.pushable( 0 );
301
	$illia_prisoner2.ai_off();
302
	$illia_prisoner2.anim( "idle" );
303
	$illia_prisoner2.removeactorweapon( "CompressionRifle" );
304
	$illia_prisoner2.hide();
305
	$illia_prisoner2.pushable( 0 );
306
	$illia_prisoner3.ai_off();
307
	$illia_prisoner3.removeactorweapon( "CompressionRifle" );
308
	$tebok.pushable( 0 );
309
	$tebok.ai_off();
310
	$tebok2.pushable( 0 );
311
	$tebok2.hide();
312
	$tebok2.ai_off();
686 argyle 313
	$stammheim2.ai_off();
314
	$stammheim.ai_off();
606 TickNSwist 315
}
184 drbob 316
 
606 TickNSwist 317
void doCellCin()
318
{
319
	//Spawn the cameras
320
	spawn ( "Camera" , "targetname" , "c_cam1" );
321
	spawn ( "Camera" , "targetname" , "c_cam2" );
322
	spawn ( "Camera" , "targetname" , "c_cam3" );
323
	spawn ( "Camera" , "targetname" , "c_cam6" );
324
	wait( 0.5 );
184 drbob 325
 
606 TickNSwist 326
	//Setup the cameras
327
	$c_cam1.follow( $cell_cam1 );
328
	$c_cam2.follow( $cell_cam2 );
329
	wait( 1 );
184 drbob 330
 
606 TickNSwist 331
	trigger( "$door" );
261 drbob 332
 
606 TickNSwist 333
	//Lights! Camera! Action!
334
	cuecamera ( $c_cam1 );
184 drbob 335
 
606 TickNSwist 336
	$guard1.walkto( "$mark3" , "walk" , 0 , -1 );
337
	wait( 0.5 );
338
	$illia_prisoner.walkto( "$mark1" , "walk" , 0 , -1 );
339
	wait( 1 );
340
	$guard2.walkto( "$mark4" , "walk" , 0 , -1 );
341
	wait( 5 );
184 drbob 342
 
606 TickNSwist 343
	$illia_prisoner.hide();
344
	$tebok.hide();
345
	$illia_prisoner2.show();
346
	$tebok2.show();
184 drbob 347
 
606 TickNSwist 348
	cuecamera ( $c_cam2 );
186 drbob 349
 
665 lars 350
	$tebok2.playdialog( "localization/sound/dialog/map10/Tebok/sitdown.mp3", 1, 10000, 0 );
606 TickNSwist 351
	waitfordialog( $tebok2 );
242 drbob 352
 
686 argyle 353
	//Guards are too brightly lit, better if they are not seen from here on
354
	$guard1.hide();
355
	$guard2.hide();
356
 
357
 
606 TickNSwist 358
	$illia_prisoner2.anim( "cin-m8_situp" );
242 drbob 359
 
606 TickNSwist 360
	wait( 1 );
361
 
665 lars 362
	$tebok2.playdialog( "localization/sound/dialog/map10/Tebok/starttelling.mp3", 1, 10000, 0 );
606 TickNSwist 363
	waitfordialog( $tebok2 );
364
 
665 lars 365
	$illia_prisoner2.playdialog( "localization/sound/dialog/map10/illia/withpleasure.mp3", 2, 10000, 0 );
606 TickNSwist 366
	waitfordialog( $illia_prisoner2 );
367
 
665 lars 368
	$illia_prisoner2.playdialog( "localization/sound/dialog/map10/illia/story.mp3", 2, 10000, 0 );
606 TickNSwist 369
	waitfordialog( $illia_prisoner2 );
370
 
665 lars 371
	$illia_prisoner2.playdialog( "localization/sound/dialog/map10/illia/everythingbegan.mp3", 2, 10000, 0 );
606 TickNSwist 372
 
373
	wait( 1 );
374
 
375
	cam_fadeout( 2, 0, 0, 0, 1, 0 );
376
 
377
	wait( 3 );
378
 
379
	$c_cam3.follow( $cell_cam3 );
380
 
381
	wait( 0.1 );
382
 
383
	cam_fadein( 2, 0, 0, 0, 1, 0 );
384
	cuecamera ( $c_cam3 );
385
 
665 lars 386
	$illia_prisoner2.playdialog( "localization/sound/dialog/map10/illia/thatishowigot.mp3", 2, 10000, 0 );
606 TickNSwist 387
	waitfordialog( $illia_prisoner2 );
388
 
389
	wait( 2 );
390
 
665 lars 391
	$tebok2.playdialog( "localization/sound/dialog/map10/Tebok/cooperation.mp3", 1, 10000, 0 );
606 TickNSwist 392
	waitfordialog( $tebok2 );
393
 
665 lars 394
	$tebok2.playdialog( "localization/sound/dialog/map10/Tebok/factremains.mp3", 1, 10000, 0 );
606 TickNSwist 395
	waitfordialog( $tebok2 );
396
 
665 lars 397
	$tebok2.playdialog( "localization/sound/dialog/map10/Tebok/executionis.mp3", 1, 10000, 0 );
606 TickNSwist 398
	waitfordialog( $tebok2 );
399
 
665 lars 400
	$tebok2.playdialog( "localization/sound/dialog/map10/Tebok/ifyourcooperation.mp3", 1, 10000, 0 );
606 TickNSwist 401
	waitfordialog( $tebok2 );
402
 
403
	wait( 2 );
404
 
405
	$c_cam6.follow( $cell_cam6, $guard4 );
406
 
665 lars 407
	$tebok2.playdialog( "localization/sound/dialog/map10/Tebok/followguard.mp3", 1, 10000, 0 );
606 TickNSwist 408
	waitfordialog( $tebok2 );
409
 
665 lars 410
	$tebok2.playdialog( "localization/sound/dialog/map10/Tebok/seeagain.mp3", 1, 10000, 0 );
606 TickNSwist 411
	waitfordialog( $tebok2 );
412
 
413
	wait( 0.1 );
414
 
415
	cuecamera ( $c_cam6 );
416
 
417
	$guard4.walkto( "final_mark1A" , "walk" , 0 , -1 );
418
	wait( 0.5 );
419
	$illia_prisoner3.walkto( "final_mark1B" , "walk" , 0 , -1 );
420
	wait( 0.5 );
421
	$guard3.walkto( "final_markB" , "walk" , 0 , -1 );
422
 
423
	wait( 3 );
424
	cam_fadeout( 2, 0, 0, 0, 1, 0 );
531 lars 425
}
606 TickNSwist 426
 
427
void credits_cin()
428
{
429
	skipthread( "skip_scene" );
430
	wait( 1 );
431
 
432
	//Setup for the credits cinematic
433
	$illia_prisoner.hide();
434
	$illia_prisoner.notsolid();
435
	$illia_prisoner2.hide();
436
	$illia_prisoner2.notsolid();
437
	$tebok2.hide();
438
	$tebok2.notsolid();
439
 
440
	//Ready the camera
441
	spawn( "Camera" , "targetname" , "credits_camera" );
442
	wait( 0.5 );
443
	$credits_camera.follow( $credits_cam, $interrogation_chair );
444
	$credits_camera.cut();
445
	cuecamera( $credits_camera );
446
	cam_fadein( 2, 0, 0, 0, 1, 0 );
447
 
448
	//In here, we need to make the credit menus come up
449
	if( skipthread_run == 0 ) {
450
		stuffcmd( "showmenu credits-staff-gbs\n" );
451
		wait( 8 );
452
		stuffcmd( "popmenu 1\n" );
453
		wait( 1 );
454
	}
455
 
456
	if( skipthread_run == 0 ) {
457
		stuffcmd( "showmenu credits-voice1-gbs\n" );
458
		wait( 8 );
459
		stuffcmd( "popmenu 1\n" );
460
		wait( 1 );
461
	}
462
 
463
	if( skipthread_run == 0 ) {
464
		stuffcmd( "showmenu credits-voice2-gbs\n" );
465
		wait( 8 );
466
		stuffcmd( "popmenu 1\n" );
467
		wait( 1 );
468
	}
469
 
470
	if( skipthread_run == 0 ) {
471
		stuffcmd( "showmenu credits-specialthanks-gbs\n" );
472
		wait( 8 );
473
		stuffcmd( "popmenu 1\n" );
474
		wait( 1 );
475
	}
476
 
477
	cam_fadeout( 2, 0, 0, 0, 1, 0 );
478
 
479
	skipthread( "" );
480
	wait( 1 );
665 lars 481
}