home *** CD-ROM | disk | FTP | other *** search
- //---------------------------------------------------------------------------------
- // Intro Cinematic Scripting
- //---------------------------------------------------------------------------------
- // Most of this sequence is controlled by the threads camera/camera2 that call the
- // necessary commands cronologically. Should be pretty easy to understand, since
- // it's very straight forward :)
-
- music aux1 none
- fadein 3.1 0 0 0
- wait .1
-
- // define the dialog file used for the intro cinematic
- setdialogscript dialog/dialog_introcinema.scr
-
- // initialize level setup, continue after that thread has been finished
- thread initialize_thread
- local.waitforthread = parm.previousthread
- waitForThread local.waitforthread
- thread skiplevel_thread
-
- wait 4.5
-
- //main camera thread
- thread camera_thread
- end
-
- //---
- initialize_thread:
-
- hud 0
- freezeplayer
- cueplayer
- @translate1 trans_angle 270
- @translate1 trans_mag 32
- $cam fixedposition
- $cam lookat $blade
- $cam2 moveto $jcidle
- $cam2 fixedposition
- $cam2 lookat $jc
- cuecamera $cam2
- $blade2 animate
- $blade2 hide
- $blade2 nextanim heligun
- $helifollow hide
- $helifollow notsolid
- $rotor bind $rotororigin
- $rotororigin bind $heli
- thread rotor1_thread
- $corridor_portal open
- $hc1 thread ignore_thread
- $hc2 thread ignore_thread
- $hc3 thread ignore_thread
- $jc thread ignore_thread
- $jc2 thread ignore_thread
- $blade thread ignore_thread
- $hc1 thread ignore_thread
- $hc2 thread ignore_thread
- $hc3 thread ignore_thread
- $hc4 thread ignore_thread
- $jc anim intro_sit_idle
- $jc2 anim intro_idle
- $heligun_origin bind $heli
- $blade2 bind $heligun_origin
- $heligun bind $heligun_origin
- $pigeon1 animate
- $pigeon2 animate
- $pigeon3 animate
- $pigeon4 animate
- $pigeon5 animate
- $pigeon1 nextanim pigeon_idle
- $pigeon2 nextanim pigeon_idle
- $pigeon3 nextanim pigeon_idle
- $pigeon4 nextanim pigeon_idle
- $pigeon5 nextanim pigeon_idle
- $lookatme hide
- $lookatme2 hide
- $jc2 hide
- $pigeon1 time .1
- $pigeon2 time .1
- $pigeon3 time .1
- $pigeon4 time .1
- $pigeon5 time .1
- $legdepigeon1 time .1
- $legdepigeon2 time .1
- $heli time .1
- $pigeon1 moveto $pigeon1start
- $pigeon2 moveto $pigeon2start
- $pigeon3 moveto $pigeon3start
- $pigeon4 moveto $pigeon4start
- $pigeon5 moveto $pigeon5start
- $heli moveto $start
- waitFor $pigeon1
- waitFor $pigeon2
- waitFor $pigeon3
- waitFor $pigeon4
- waitFor $pigeon5
- waitFor $heli
- end
-
-
- //---
- skiplevel_thread:
-
- $skiplevel_fake hide
- $skiplevel_fake ontrigger skiplevel_sequence
- pause
- end
-
- skiplevel_sequence:
- releaseplayer
- map intro
- end
-
-
- // This does not only control the camera, but also most of the other stuff going on
- //---
- camera_thread:
-
- wait 4
- $redlight lightstyle "Lssaa"
- music aux2 none
- trigger $alarm
- wait .4
- $jc thread jc_thread
- $chair time .6
- $chair moveNorth 16
- waitFor $chair
- wait .4
- $blade thread blade_thread
- cuecamera $cam
- wait 2
- trigger $alarm2
- music aux3 none
- $redlight2 lightstyle "LRssaa"
- wait 1.5
- $jc hide
- $jc2 show
- $cam2 moveto $jcwatch1
- $cam2 lookat $lookatme
- cuecamera $cam2
- wait .5
- thread dialog::intro_alarm1
- thread officedoor_thread
- wait 1
- music aux4 none
- wait 2
- $redlight lightstyle "La"
- $redlight2 lightstyle "Lm"
- trigger $alarm
- trigger $alarm2
- wait 5.2
- cuecamera $cam
- wait 2.9
- $cam2 moveto $jcwatch2
- $cam2 lookat $lookatme
- cuecamera $cam2
- wait 6.8
- cuecamera $cam
- thread translate_thread
- wait 2
- $cam2 moveto $jcwatch3
- $cam2 lookat $lookatme
- cuecamera $cam2
- wait 1.5
- $cam speed 2
- $cam nofixedposition
- $cam follow $campath1
- $cam watch $blade
- cuecamera $cam
- wait 2.8
- thread elev_thread
- $cam follow $blade
- wait 1.5
- $cam2 moveto $jcwatch4
- $cam2 lookat $lookatme
- cuecamera $cam2
- wait 6
- cuecamera $cam
- trigger $heliidle_sound
- wait 1
- thread out_door_thread
- $heli playsound vehicle/helicopt/idleloop.wav 4 1
- wait 4.5
- thread camera2_thread
- end
-
-
- //---
- camera2_thread:
-
- $cam2 moveto $jccamstart
- $cam2 nofixedposition
- $cam2 follow $jccamstart $helifollow
- cuecamera $cam2
- wait 1.5
- $jc2 thread jc2_thread
- thread sound_thread
- wait 1
- thread rotor2_thread
- wait 3
- thread dialog::intro_alarm2
- $helifollow bind $heli
- $heli speed 1.5
- $heli followpath $start
- wait 5
- $cam2 moveto $cam2start
- $cam2 speed 1.8
- $cam2 follow $cam2start $blade2
- wait 1.5
- thread pigeon3_thread
- wait 2
- fadeout 4 0 0 0
- wait 3
- thread pigeon2_thread
- wait 2
- releaseplayer
- map intro
- end
-
-
- //---
- sound_thread:
- $heli playsound vehicle/helicopt/powerup&loop.wav 4 1
- waitForSound vehicle/helicopt/powerup&loop.wav
- $heli playsound vehicle/helicopt/flyloop.wav 2 1
- end
-
-
- // override standard AI behaviour for all characters
- //---
- ignore_thread:
-
- local.self ignoreall
- pause
- goto ignore_thread
- end
-
-
- // Blade's character thread
- //---
- blade_thread:
-
- $blade ignoreall
- $blade anim 1hand_idle1
- wait 1.8
- $blade anim 1hand_idle2
- wait 1.8
- $blade anim 1hand_idle1
- wait 28.5
- $blade runto $bladepath1
- waitFor $blade
- $blade walkto $bladepath2
- waitFor $blade
- $blade runto $bladepath3
- waitFor $blade
- $blade runto $bladepath4
- waitFor $blade
- $blade runto $bladepath5
- waitFor $blade
- $blade runto $bladepath6
- waitFor $blade
- $blade anim 1hand_idle3
- wait 4
- $blade runto $bladepath7
- waitFor $blade
- wait 5
- $blade hide
- $blade remove
- $blade2 show
- end
-
-
- //---
- jc_thread:
-
- $jc anim intro_sit_to_stand
- end
-
-
- //---
- jc2_thread:
-
- $jc2 anim intro_walkover
- wait 1.4
- $jc2 anim intro_idle_window
- wait 7.5
- $jc2 anim intro_wave
- end
-
-
- // Have you ever danced with the devil in the pale moonlight?
- //---
- hc1_thread:
-
- wait 2
- $hc1 lookat $blade
- wait 1.5
- $hc1 walkto $hc1path2
- waitFor $hc1
- $hc1 lookat $blade
- $hc1 walkto $hc1path3
- waitFor $hc1
- $hc1 lookat $heli
- end
-
-
- //---
- hc2_thread:
-
- $hc2 walkto $hc2path2
- waitFor $hc2
- $hc2 walkto $hc2path3
- waitFor $hc2
- $hc2 lookat $heli
- end
-
-
- //---
- hc3_thread:
-
- $hc3 runto $hc3path1
- waitFor $hc3
- $hc3 runto $hc3path2
- waitFor $hc3
- end
-
-
- //---
- hc4_thread:
-
- wait 3
- $hc4 runto $hc4path
- waitFor $hc4
- end
-
-
- //---
- rotor1_thread:
-
- $rotor bind $rotororigin
- $rotororigin bind $heli
- wait .1
- $rotororigin time 2.2
- $rotororigin rotateY 90
- end
-
-
- //---
- rotor2_thread:
-
- $rotororigin time 3
- $rotororigin rotateYup 360
- waitFor $rotororigin
- $rotororigin time 2
- $rotororigin rotateYup 360
- waitFor $rotororigin
- $rotororigin time 1.5
- $rotororigin rotateYup 360
- waitFor $rotororigin
- $rotororigin time 1.2
- $rotororigin rotateYup 360
- waitFor $rotororigin
- $rotororigin time 0.9
- $rotororigin rotateYup 360
- waitFor $rotororigin
- $rotororigin time 0.7
- $rotororigin rotateYup 360
- waitFor $rotororigin
- $rotororigin time .5
- $rotororigin rotateYup 360
- waitFor $rotororigin
- $rotororigin rotateY 720
- end
-
-
- //---
- elev_thread:
-
- trigger $elevsound
- $elev_portal open
- $elev_door_right time .5
- $elev_door_left time .5
- $elev_glassdoor time .8
- $elev_door_right playsound environment/doors/pneu/smlpnu.wav 2 1
- $elev_door_right moveSouth 96
- $elev_door_left moveNorth 96
- wait .5
- $elev_glassdoor playsound environment/doors/metal/mtldoor1.wav 2 3
- $elev_glassdoor moveUp 128
- waitFor $elev_door_right
- waitFor $elev_door_left
- waitFor $elev_glassdoor
- end
-
-
- // stop translating textures to create illusion of elevator stopping
- //---
- translate_thread:
-
- wait 5
- local.translate = 32
-
- translate_loop:
- local.translate iflessequal 4 goto translate_end
- local.translate *= 0.8
- @translate1 trans_mag local.translate
- wait .1
- goto translate_loop
- end
-
- translate_end:
- @translate1 trans_mag 2
- wait .1
- @translate1 trans_mag 0
- end
-
-
- // Lethal Weapon 4 rules!
- //---
- out_door_thread:
-
- $hc2 thread hc2_thread
- wait 1.2
- thread pigeon_thread
- $hc1 thread hc1_thread
- $out_door_portal open
- $out_door_left time .5
- $out_door_right time .5
- $out_door_right playsound environment/doors/pneu/smlpnu.wav 2 1
- $out_door_left moveWest 96
- $out_door_right moveEast 96
- waitFor $out_door_left
- waitFor $out_door_right
- end
-
-
- //---
- officedoor_thread:
-
- $hc3 thread hc3_thread
- $hc4 thread hc4_thread
- wait 1
-
- $office_portal open
- $officedoor_left time .5
- $officedoor_right time .5
- $officedoor_right playsound environment/doors/pneu/smlpnu.wav 2 3
- $officedoor_left moveSouth 96
- $officedoor_right moveNorth 96
- waitFor $officedoor_left
- waitFor $officedoor_right
- wait 3
- $officedoor_left playsound environment/doors/pneu/smlpnu.wav 2 1
- $officedoor_right moveSouth 96
- $officedoor_left moveNorth 96
- waitFor $officedoor_right
- waitFor $officedoor_left
- $office_portal close
- end
-
-
- // Pigeons are scriptmodels
- //---
- pigeon_thread:
-
- wait 1
- $pigeon1 speed 10
- $pigeon2 speed 10
- $pigeon1 followpath $pigeon1start
- wait .3
- $pigeon2 followpath $pigeon2start
- $pigeon1 nextanim pigeon_takeoff
- $pigeon2 nextanim pigeon_takeoff
- wait 1
- $pigeon1 nextanim pigeon_flyfast
- $pigeon2 nextanim pigeon_flyfast
- wait 2
- $pigeon1 nextanim pigeon_fly
- $pigeon2 nextanim pigeon_fly
- wait .5
- $pigeon1 nextanim pigeon
- $pigeon2 nextanim pigeon
- wait .7
- $pigeon1 nextanim pigeon_walkA
- $pigeon2 nextanim pigeon_walkA
- wait .7
- $pigeon1 nextanim pigeon_idleA
- $pigeon2 nextanim pigeon_idleA
- end
-
-
- //---
- pigeon2_thread:
-
- $pigeon1 speed 15
- $pigeon2 speed 15
- $pigeon3 speed 15
- $pigeon4 speed 15
- $pigeon5 speed 15
- $pigeon1 followpath $pigeon1start2 normalangles
- $pigeon1 nextanim pigeon_takeoff
- wait .1
- $pigeon3 followpath $pigeon3start normalangles
- $pigeon3 nextanim pigeon_takeoff
- wait .1
- $pigeon4 followpath $pigeon4start normalangles
- $pigeon4 nextanim pigeon_takeoff
- wait .1
- $pigeon2 followpath $pigeon2start2 normalangles
- $pigeon2 nextanim pigeon_takeoff
- wait .1
- $pigeon5 followpath $pigeon5start normalangles
- $pigeon5 nextanim pigeon_takeoff
- wait .2
- $pigeon1 nextanim pigeon_flyfast
- wait .1
- $pigeon3 nextanim pigeon_flyfast
- wait .1
- $pigeon4 nextanim pigeon_takeoff
- wait .1
- $pigeon2 nextanim pigeon_takeoff
- wait .1
- $pigeon5 nextanim pigeon_takeoff
- wait 1.6
- $pigeon1 nextanim pigeon_fly
- wait .1
- $pigeon3 nextanim pigeon_fly
- wait .1
- $pigeon4 nextanim pigeon_takeoff
- wait .1
- $pigeon2 nextanim pigeon_takeoff
- wait .1
- $pigeon5 nextanim pigeon_takeoff
- wait 7
- $pigeon1 remove
- $pigeon2 remove
- $pigeon3 remove
- $pigeon4 remove
- $pigeon5 remove
- end
-
-
- //---
- pigeon3_thread:
-
- wait .6
- $ledgepigeon1 speed 60
- $ledgepigeon2 speed 60
- $ledgepigeon1 nextanim pigeon_takeoff
- $ledgepigeon2 nextanim pigeon_takeoff
- $ledgepigeon1 moveSouth 8 96
- $ledgepigeon1 moveEast 32
- $ledgepigeon2 moveEast 32
- $ledgepigeon1 moveUp 24
- $ledgepigeon2 moveUp 24
- waitFor $ledgepigeon1
- waitFor $ledgepigeon2
- $ledgepigeon1 nextanim pigeon_fly
- $ledgepigeon2 nextanim pigeon_fly
- $ledgepigeon1 speed 130
- $ledgepigeon2 speed 130
- $ledgepigeon1 moveEast 1024
- $ledgepigeon2 moveEast 1024
- $ledgepigeon1 moveUp 32
- //$ledgepigeon2 moveUp 32
- $ledgepigeon1 moveNorth 96
- $ledgepigeon2 moveNorth 128
- waitFor $ledgepigeon1
- waitFor $ledgepigeon2
- end
-
-
- //---
- heligun_rotate_thread:
-
- $heligun_origin time 2
-
- loop:
- $heligun_origin rotateYup 10
- waitFor $heligun_origin
- wait .5
- $heligun_origin rotateYdown 15
- waitFor $heligun_origin
- wait .8
- $heligun_origin rotateYup 5
- waitFor $heligun_origin
- wait 3
- goto loop
- end
-
-
- // Mission computer
- //start:
- //wait 5
- //local.missioncon string "%missioncon"
- //local.missioncon conlayout "jcx jcy string \"poop?\""
- //end
-
-
- //unused heli stuff
- //---
- //heli_thread:
-
- local.helispeed = 50
- local.helirange = 4
- //$heli speed 100
- //$heli bind $heliorigin
- $heli speed 1
- $heli followpath $start
- wait 10
- end
-
- //heli_loop:
- local.helispeed ifequal 50 thread heli_rotate1_thread
- $heliorigin speed local.helispeed
- $heliorigin moveUp local.helirange
- $heliorigin moveEast local.helirange
- waitFor $heliorigin
- local.helispeed ifgreaterequal 350 local.helispeed = 350
- local.helispeed ifgreaterequal 350 goto heliend
- local.helirange ifgreaterequal 80 local.helirange = 80
- local.helispeed += 50
- local.helirange *= 1.75
- goto heli_loop
- end
-
- heliend:
- thread heli_rotate1_thread
- $heliorigin speed 600
- $heliorigin moveEast 256
- $heliorigin moveUp 92
- waitFor $heliorigin
- thread heli_rotate2_thread
- $heliorigin moveEast 384
- $heliorigin moveUp 96
- waitFor $heliorigin
- thread heli_rotate3_thread
- $heliorigin moveEast 256
- $heliorigin moveUp 32
- $heliorigin moveNorth 48
- waitFor $heliorigin
- thread heli_rotate4_thread
- $heliorigin moveEast 256
- $heliorigin moveUp 16
- $heliorigin moveNorth 96
- $heliorigin rotateYup 10
- $heliorigin rotateZdown 10
- waitFor $heliorigin
- $heliorigin moveEast 256
- $heliorigin moveUp 24
- $heliorigin moveNorth 96
- $heliorigin rotateYup 10
- waitFor $heliorigin
- $heliorigin moveEast 256
- $heliorigin moveUp 32
- $heliorigin moveNorth 96
- $heliorigin rotateYup 10
- waitFor $heliorigin
- $heliorigin moveEast 192
- $heliorigin moveUp 32
- $heliorigin moveNorth 256
- $heliorigin rotateYup 10
- waitFor $heliorigin
- $heliorigin moveEast 128
- $heliorigin moveUp 32
- $heliorigin moveNorth 256
- $heliorigin rotateYup 10
- waitFor $heliorigin
- $heliorigin moveEast 192
- $heliorigin moveUp 32
- $heliorigin moveNorth 512
- $heliorigin rotateYup 7
- waitFor $heliorigin
- end
-
- //---
- //heli_rotate1_thread:
-
- $heli time 0.6
- $heli rotateXup 5
- waitFor $heli
- end
-
- //---
- //heli_rotate2_thread:
-
- $heli time 0.6
- $heliorigin rotateYup 4
- $heliorigin rotateZdown 4
- waitFor $heli
- end
-
- //---
- //heli_rotate3_thread:
-
- $heli time 0.6
- $heliorigin rotateYup 4
- $heliorigin rotateZdown 4
- $heli rotateXdown 1
- waitFor $heli
- end
-
- //---
- //heli_rotate4_thread:
-
- $heli time 0.6
- $heliorigin rotateYup 10
- $heliorigin rotateZdown 10
- $heli rotateXdown 2
- waitFor $heli
- end