home *** CD-ROM | disk | FTP | other *** search
/ Hacker 9 / HACKER09.ISO / Games / Sin.exe / DATA / base / Pak0.pak / maps / intro_start.scr < prev    next >
Text File  |  1998-07-26  |  14KB  |  711 lines

  1. //---------------------------------------------------------------------------------
  2. // Intro Cinematic Scripting
  3. //---------------------------------------------------------------------------------
  4. // Most of this sequence is controlled by the threads camera/camera2 that call the
  5. // necessary commands cronologically. Should be pretty easy to understand, since
  6. // it's very straight forward :)
  7.  
  8. music aux1 none
  9. fadein 3.1 0 0 0
  10. wait .1
  11.  
  12. // define the dialog file used for the intro cinematic
  13. setdialogscript dialog/dialog_introcinema.scr
  14.  
  15. // initialize level setup, continue after that thread has been finished
  16. thread initialize_thread
  17. local.waitforthread = parm.previousthread
  18. waitForThread local.waitforthread
  19. thread skiplevel_thread
  20.  
  21. wait 4.5
  22.  
  23. //main camera thread
  24. thread camera_thread
  25. end
  26.  
  27. //---
  28. initialize_thread:
  29.  
  30. hud 0
  31. freezeplayer
  32. cueplayer
  33. @translate1 trans_angle 270
  34. @translate1 trans_mag 32
  35. $cam fixedposition
  36. $cam lookat $blade
  37. $cam2 moveto $jcidle
  38. $cam2 fixedposition
  39. $cam2 lookat $jc
  40. cuecamera $cam2
  41. $blade2 animate
  42. $blade2 hide
  43. $blade2 nextanim heligun
  44. $helifollow hide
  45. $helifollow notsolid
  46. $rotor bind $rotororigin
  47. $rotororigin bind $heli
  48. thread rotor1_thread
  49. $corridor_portal open
  50. $hc1 thread ignore_thread
  51. $hc2 thread ignore_thread
  52. $hc3 thread ignore_thread
  53. $jc thread ignore_thread
  54. $jc2 thread ignore_thread
  55. $blade thread ignore_thread
  56. $hc1 thread ignore_thread
  57. $hc2 thread ignore_thread
  58. $hc3 thread ignore_thread
  59. $hc4 thread ignore_thread
  60. $jc anim intro_sit_idle
  61. $jc2 anim intro_idle
  62. $heligun_origin bind $heli
  63. $blade2 bind $heligun_origin
  64. $heligun bind $heligun_origin
  65. $pigeon1 animate
  66. $pigeon2 animate
  67. $pigeon3 animate
  68. $pigeon4 animate
  69. $pigeon5 animate
  70. $pigeon1 nextanim pigeon_idle
  71. $pigeon2 nextanim pigeon_idle
  72. $pigeon3 nextanim pigeon_idle
  73. $pigeon4 nextanim pigeon_idle
  74. $pigeon5 nextanim pigeon_idle
  75. $lookatme hide
  76. $lookatme2 hide
  77. $jc2 hide
  78. $pigeon1 time .1
  79. $pigeon2 time .1
  80. $pigeon3 time .1
  81. $pigeon4 time .1
  82. $pigeon5 time .1
  83. $legdepigeon1 time .1
  84. $legdepigeon2 time .1
  85. $heli time .1
  86. $pigeon1 moveto $pigeon1start
  87. $pigeon2 moveto $pigeon2start
  88. $pigeon3 moveto $pigeon3start
  89. $pigeon4 moveto $pigeon4start
  90. $pigeon5 moveto $pigeon5start
  91. $heli moveto $start
  92. waitFor $pigeon1
  93. waitFor $pigeon2
  94. waitFor $pigeon3
  95. waitFor $pigeon4
  96. waitFor $pigeon5
  97. waitFor $heli
  98. end
  99.  
  100.  
  101. //---
  102. skiplevel_thread:
  103.  
  104. $skiplevel_fake hide
  105. $skiplevel_fake ontrigger skiplevel_sequence
  106. pause
  107. end
  108.  
  109. skiplevel_sequence:
  110. releaseplayer
  111. map intro
  112. end
  113.  
  114.  
  115. // This does not only control the camera, but also most of the other stuff going on
  116. //---
  117. camera_thread:
  118.  
  119. wait 4
  120. $redlight lightstyle "Lssaa"
  121. music aux2 none
  122. trigger $alarm
  123. wait .4
  124. $jc thread jc_thread
  125. $chair time .6
  126. $chair moveNorth 16
  127. waitFor $chair
  128. wait .4
  129. $blade thread blade_thread
  130. cuecamera $cam
  131. wait 2
  132. trigger $alarm2
  133. music aux3 none
  134. $redlight2 lightstyle "LRssaa"
  135. wait 1.5
  136. $jc hide
  137. $jc2 show
  138. $cam2 moveto $jcwatch1
  139. $cam2 lookat $lookatme
  140. cuecamera $cam2
  141. wait .5
  142. thread dialog::intro_alarm1
  143. thread officedoor_thread
  144. wait 1
  145. music aux4 none
  146. wait 2
  147. $redlight lightstyle "La"
  148. $redlight2 lightstyle "Lm"
  149. trigger $alarm
  150. trigger $alarm2
  151. wait 5.2
  152. cuecamera $cam
  153. wait 2.9
  154. $cam2 moveto $jcwatch2
  155. $cam2 lookat $lookatme
  156. cuecamera $cam2
  157. wait 6.8
  158. cuecamera $cam
  159. thread translate_thread
  160. wait 2
  161. $cam2 moveto $jcwatch3
  162. $cam2 lookat $lookatme
  163. cuecamera $cam2
  164. wait 1.5
  165. $cam speed 2
  166. $cam nofixedposition
  167. $cam follow $campath1
  168. $cam watch $blade
  169. cuecamera $cam
  170. wait 2.8
  171. thread elev_thread
  172. $cam follow $blade
  173. wait 1.5
  174. $cam2 moveto $jcwatch4
  175. $cam2 lookat $lookatme
  176. cuecamera $cam2
  177. wait 6
  178. cuecamera $cam
  179. trigger $heliidle_sound
  180. wait 1
  181. thread out_door_thread
  182. $heli playsound vehicle/helicopt/idleloop.wav 4 1
  183. wait 4.5
  184. thread camera2_thread
  185. end
  186.  
  187.  
  188. //---
  189. camera2_thread:
  190.  
  191. $cam2 moveto $jccamstart
  192. $cam2 nofixedposition
  193. $cam2 follow $jccamstart $helifollow
  194. cuecamera $cam2
  195. wait 1.5
  196. $jc2 thread jc2_thread
  197. thread sound_thread
  198. wait 1
  199. thread rotor2_thread
  200. wait 3
  201. thread dialog::intro_alarm2
  202. $helifollow bind $heli
  203. $heli speed 1.5
  204. $heli followpath $start
  205. wait 5
  206. $cam2 moveto $cam2start
  207. $cam2 speed 1.8
  208. $cam2 follow $cam2start $blade2
  209. wait 1.5
  210. thread pigeon3_thread
  211. wait 2
  212. fadeout 4 0 0 0
  213. wait 3
  214. thread pigeon2_thread
  215. wait 2
  216. releaseplayer
  217. map intro
  218. end
  219.  
  220.  
  221. //---
  222. sound_thread:
  223. $heli playsound vehicle/helicopt/powerup&loop.wav 4 1
  224. waitForSound vehicle/helicopt/powerup&loop.wav 
  225. $heli playsound vehicle/helicopt/flyloop.wav 2 1
  226. end
  227.  
  228.  
  229. // override standard AI behaviour for all characters
  230. //---
  231. ignore_thread:
  232.  
  233. local.self ignoreall
  234. pause
  235. goto ignore_thread
  236. end
  237.  
  238.  
  239. // Blade's character thread
  240. //---
  241. blade_thread:
  242.  
  243. $blade ignoreall
  244. $blade anim 1hand_idle1
  245. wait 1.8
  246. $blade anim 1hand_idle2
  247. wait 1.8
  248. $blade anim 1hand_idle1
  249. wait 28.5
  250. $blade runto $bladepath1
  251. waitFor $blade
  252. $blade walkto $bladepath2
  253. waitFor $blade
  254. $blade runto $bladepath3
  255. waitFor $blade
  256. $blade runto $bladepath4
  257. waitFor $blade
  258. $blade runto $bladepath5
  259. waitFor $blade
  260. $blade runto $bladepath6
  261. waitFor $blade
  262. $blade anim 1hand_idle3
  263. wait 4
  264. $blade runto $bladepath7
  265. waitFor $blade
  266. wait 5
  267. $blade hide
  268. $blade remove
  269. $blade2 show
  270. end
  271.  
  272.  
  273. //---
  274. jc_thread:
  275.  
  276. $jc anim intro_sit_to_stand
  277. end
  278.  
  279.  
  280. //---
  281. jc2_thread:
  282.  
  283. $jc2 anim intro_walkover
  284. wait 1.4
  285. $jc2 anim intro_idle_window
  286. wait 7.5
  287. $jc2 anim intro_wave
  288. end
  289.  
  290.  
  291. // Have you ever danced with the devil in the pale moonlight?
  292. //---
  293. hc1_thread:
  294.  
  295. wait 2
  296. $hc1 lookat $blade
  297. wait 1.5
  298. $hc1 walkto $hc1path2
  299. waitFor $hc1
  300. $hc1 lookat $blade
  301. $hc1 walkto $hc1path3
  302. waitFor $hc1
  303. $hc1 lookat $heli
  304. end
  305.  
  306.  
  307. //---
  308. hc2_thread:
  309.  
  310. $hc2 walkto $hc2path2
  311. waitFor $hc2
  312. $hc2 walkto $hc2path3
  313. waitFor $hc2
  314. $hc2 lookat $heli
  315. end
  316.  
  317.  
  318. //---
  319. hc3_thread:
  320.  
  321. $hc3 runto $hc3path1
  322. waitFor $hc3
  323. $hc3 runto $hc3path2
  324. waitFor $hc3
  325. end
  326.  
  327.  
  328. //---
  329. hc4_thread:
  330.  
  331. wait 3
  332. $hc4 runto $hc4path
  333. waitFor $hc4
  334. end
  335.  
  336.  
  337. //---
  338. rotor1_thread:
  339.  
  340. $rotor bind $rotororigin
  341. $rotororigin bind $heli
  342. wait .1
  343. $rotororigin time 2.2
  344. $rotororigin rotateY 90
  345. end
  346.  
  347.  
  348. //---
  349. rotor2_thread:
  350.  
  351. $rotororigin time 3
  352. $rotororigin rotateYup 360
  353. waitFor $rotororigin
  354. $rotororigin time 2
  355. $rotororigin rotateYup 360
  356. waitFor $rotororigin
  357. $rotororigin time 1.5
  358. $rotororigin rotateYup 360
  359. waitFor $rotororigin
  360. $rotororigin time 1.2
  361. $rotororigin rotateYup 360
  362. waitFor $rotororigin
  363. $rotororigin time 0.9
  364. $rotororigin rotateYup 360
  365. waitFor $rotororigin
  366. $rotororigin time 0.7
  367. $rotororigin rotateYup 360
  368. waitFor $rotororigin
  369. $rotororigin time .5
  370. $rotororigin rotateYup 360
  371. waitFor $rotororigin
  372. $rotororigin rotateY 720
  373. end
  374.  
  375.  
  376. //---
  377. elev_thread:
  378.  
  379. trigger $elevsound
  380. $elev_portal open
  381. $elev_door_right time .5
  382. $elev_door_left time .5
  383. $elev_glassdoor time .8
  384. $elev_door_right playsound environment/doors/pneu/smlpnu.wav 2 1
  385. $elev_door_right moveSouth 96
  386. $elev_door_left moveNorth 96
  387. wait .5
  388. $elev_glassdoor playsound environment/doors/metal/mtldoor1.wav 2 3
  389. $elev_glassdoor moveUp 128
  390. waitFor $elev_door_right
  391. waitFor $elev_door_left
  392. waitFor $elev_glassdoor
  393. end
  394.  
  395.  
  396. // stop translating textures to create illusion of elevator stopping
  397. //---
  398. translate_thread:
  399.  
  400. wait 5
  401. local.translate = 32
  402.  
  403. translate_loop:
  404. local.translate iflessequal 4 goto translate_end
  405. local.translate *= 0.8
  406. @translate1 trans_mag local.translate
  407. wait .1
  408. goto translate_loop
  409. end
  410.  
  411. translate_end:
  412. @translate1 trans_mag 2
  413. wait .1
  414. @translate1 trans_mag 0
  415. end
  416.  
  417.  
  418. // Lethal Weapon 4 rules!
  419. //---
  420. out_door_thread:
  421.  
  422. $hc2 thread hc2_thread
  423. wait 1.2
  424. thread pigeon_thread
  425. $hc1 thread hc1_thread
  426. $out_door_portal open
  427. $out_door_left time .5
  428. $out_door_right time .5
  429. $out_door_right playsound environment/doors/pneu/smlpnu.wav 2 1
  430. $out_door_left moveWest 96
  431. $out_door_right moveEast 96
  432. waitFor $out_door_left
  433. waitFor $out_door_right
  434. end
  435.  
  436.  
  437. //---
  438. officedoor_thread:
  439.  
  440. $hc3 thread hc3_thread
  441. $hc4 thread hc4_thread
  442. wait 1
  443.  
  444. $office_portal open
  445. $officedoor_left time .5
  446. $officedoor_right time .5
  447. $officedoor_right playsound environment/doors/pneu/smlpnu.wav 2 3
  448. $officedoor_left moveSouth 96
  449. $officedoor_right moveNorth 96
  450. waitFor $officedoor_left
  451. waitFor $officedoor_right
  452. wait 3
  453. $officedoor_left playsound environment/doors/pneu/smlpnu.wav 2 1
  454. $officedoor_right moveSouth 96
  455. $officedoor_left moveNorth 96
  456. waitFor $officedoor_right
  457. waitFor $officedoor_left
  458. $office_portal close
  459. end
  460.  
  461.  
  462. // Pigeons are scriptmodels
  463. //---
  464. pigeon_thread:
  465.  
  466. wait 1
  467. $pigeon1 speed 10
  468. $pigeon2 speed 10
  469. $pigeon1 followpath $pigeon1start
  470. wait .3
  471. $pigeon2 followpath $pigeon2start
  472. $pigeon1 nextanim pigeon_takeoff
  473. $pigeon2 nextanim pigeon_takeoff
  474. wait 1
  475. $pigeon1 nextanim pigeon_flyfast
  476. $pigeon2 nextanim pigeon_flyfast
  477. wait 2
  478. $pigeon1 nextanim pigeon_fly
  479. $pigeon2 nextanim pigeon_fly
  480. wait .5
  481. $pigeon1 nextanim pigeon
  482. $pigeon2 nextanim pigeon
  483. wait .7
  484. $pigeon1 nextanim pigeon_walkA
  485. $pigeon2 nextanim pigeon_walkA
  486. wait .7
  487. $pigeon1 nextanim pigeon_idleA
  488. $pigeon2 nextanim pigeon_idleA
  489. end
  490.  
  491.  
  492. //---
  493. pigeon2_thread:
  494.  
  495. $pigeon1 speed 15
  496. $pigeon2 speed 15
  497. $pigeon3 speed 15
  498. $pigeon4 speed 15
  499. $pigeon5 speed 15
  500. $pigeon1 followpath $pigeon1start2 normalangles
  501. $pigeon1 nextanim pigeon_takeoff
  502. wait .1
  503. $pigeon3 followpath $pigeon3start normalangles
  504. $pigeon3 nextanim pigeon_takeoff
  505. wait .1
  506. $pigeon4 followpath $pigeon4start normalangles
  507. $pigeon4 nextanim pigeon_takeoff
  508. wait .1
  509. $pigeon2 followpath $pigeon2start2 normalangles
  510. $pigeon2 nextanim pigeon_takeoff
  511. wait .1
  512. $pigeon5 followpath $pigeon5start normalangles
  513. $pigeon5 nextanim pigeon_takeoff
  514. wait .2
  515. $pigeon1 nextanim pigeon_flyfast
  516. wait .1
  517. $pigeon3 nextanim pigeon_flyfast
  518. wait .1
  519. $pigeon4 nextanim pigeon_takeoff
  520. wait .1
  521. $pigeon2 nextanim pigeon_takeoff
  522. wait .1
  523. $pigeon5 nextanim pigeon_takeoff
  524. wait 1.6
  525. $pigeon1 nextanim pigeon_fly
  526. wait .1
  527. $pigeon3 nextanim pigeon_fly
  528. wait .1
  529. $pigeon4 nextanim pigeon_takeoff
  530. wait .1
  531. $pigeon2 nextanim pigeon_takeoff
  532. wait .1
  533. $pigeon5 nextanim pigeon_takeoff
  534. wait 7
  535. $pigeon1 remove
  536. $pigeon2 remove
  537. $pigeon3 remove
  538. $pigeon4 remove
  539. $pigeon5 remove
  540. end
  541.  
  542.  
  543. //---
  544. pigeon3_thread:
  545.  
  546. wait .6
  547. $ledgepigeon1 speed 60
  548. $ledgepigeon2 speed 60
  549. $ledgepigeon1 nextanim pigeon_takeoff
  550. $ledgepigeon2 nextanim pigeon_takeoff
  551. $ledgepigeon1 moveSouth 8 96
  552. $ledgepigeon1 moveEast 32
  553. $ledgepigeon2 moveEast 32
  554. $ledgepigeon1 moveUp 24
  555. $ledgepigeon2 moveUp 24
  556. waitFor $ledgepigeon1
  557. waitFor $ledgepigeon2
  558. $ledgepigeon1 nextanim pigeon_fly
  559. $ledgepigeon2 nextanim pigeon_fly
  560. $ledgepigeon1 speed 130
  561. $ledgepigeon2 speed 130
  562. $ledgepigeon1 moveEast 1024
  563. $ledgepigeon2 moveEast 1024
  564. $ledgepigeon1 moveUp 32
  565. //$ledgepigeon2 moveUp 32
  566. $ledgepigeon1 moveNorth 96
  567. $ledgepigeon2 moveNorth 128
  568. waitFor $ledgepigeon1
  569. waitFor $ledgepigeon2
  570. end
  571.  
  572.  
  573. //---
  574. heligun_rotate_thread:
  575.  
  576. $heligun_origin time 2
  577.  
  578. loop:
  579. $heligun_origin rotateYup 10
  580. waitFor $heligun_origin
  581. wait .5
  582. $heligun_origin rotateYdown 15
  583. waitFor $heligun_origin
  584. wait .8
  585. $heligun_origin rotateYup 5
  586. waitFor $heligun_origin
  587. wait 3
  588. goto loop
  589. end
  590.  
  591.  
  592. // Mission computer
  593. //start:
  594. //wait 5
  595. //local.missioncon string "%missioncon"
  596. //local.missioncon conlayout "jcx jcy string \"poop?\""
  597. //end
  598.  
  599.  
  600. //unused heli stuff
  601. //---
  602. //heli_thread:
  603.  
  604. local.helispeed = 50
  605. local.helirange = 4
  606. //$heli speed 100
  607. //$heli bind $heliorigin
  608. $heli speed 1
  609. $heli followpath $start
  610. wait 10
  611. end
  612.  
  613. //heli_loop:
  614. local.helispeed ifequal 50 thread heli_rotate1_thread
  615. $heliorigin speed local.helispeed
  616. $heliorigin moveUp local.helirange
  617. $heliorigin moveEast local.helirange
  618. waitFor $heliorigin
  619. local.helispeed ifgreaterequal 350 local.helispeed = 350
  620. local.helispeed ifgreaterequal 350 goto heliend
  621. local.helirange ifgreaterequal 80 local.helirange = 80
  622. local.helispeed += 50
  623. local.helirange *= 1.75
  624. goto heli_loop
  625. end
  626.  
  627. heliend:
  628. thread heli_rotate1_thread
  629. $heliorigin speed 600
  630. $heliorigin moveEast 256
  631. $heliorigin moveUp 92
  632. waitFor $heliorigin
  633. thread heli_rotate2_thread
  634. $heliorigin moveEast 384
  635. $heliorigin moveUp 96
  636. waitFor $heliorigin
  637. thread heli_rotate3_thread
  638. $heliorigin moveEast 256
  639. $heliorigin moveUp 32
  640. $heliorigin moveNorth 48
  641. waitFor $heliorigin
  642. thread heli_rotate4_thread
  643. $heliorigin moveEast 256
  644. $heliorigin moveUp 16
  645. $heliorigin moveNorth 96
  646. $heliorigin rotateYup 10
  647. $heliorigin rotateZdown 10
  648. waitFor $heliorigin
  649. $heliorigin moveEast 256
  650. $heliorigin moveUp 24
  651. $heliorigin moveNorth 96
  652. $heliorigin rotateYup 10
  653. waitFor $heliorigin
  654. $heliorigin moveEast 256
  655. $heliorigin moveUp 32
  656. $heliorigin moveNorth 96
  657. $heliorigin rotateYup 10
  658. waitFor $heliorigin
  659. $heliorigin moveEast 192
  660. $heliorigin moveUp 32
  661. $heliorigin moveNorth 256
  662. $heliorigin rotateYup 10
  663. waitFor $heliorigin
  664. $heliorigin moveEast 128
  665. $heliorigin moveUp 32
  666. $heliorigin moveNorth 256
  667. $heliorigin rotateYup 10
  668. waitFor $heliorigin
  669. $heliorigin moveEast 192
  670. $heliorigin moveUp 32
  671. $heliorigin moveNorth 512
  672. $heliorigin rotateYup 7
  673. waitFor $heliorigin
  674. end
  675.  
  676. //---
  677. //heli_rotate1_thread:
  678.  
  679. $heli time 0.6
  680. $heli rotateXup 5
  681. waitFor $heli
  682. end
  683.  
  684. //---
  685. //heli_rotate2_thread:
  686.  
  687. $heli time 0.6
  688. $heliorigin rotateYup 4
  689. $heliorigin rotateZdown 4
  690. waitFor $heli
  691. end
  692.  
  693. //---
  694. //heli_rotate3_thread:
  695.  
  696. $heli time 0.6
  697. $heliorigin rotateYup 4
  698. $heliorigin rotateZdown 4
  699. $heli rotateXdown 1
  700. waitFor $heli
  701. end
  702.  
  703. //---
  704. //heli_rotate4_thread:
  705.  
  706. $heli time 0.6
  707. $heliorigin rotateYup 10
  708. $heliorigin rotateZdown 10
  709. $heli rotateXdown 2
  710. waitFor $heli
  711. end