Advertisement
Guest User

_music_and_dialog - Notesblok

a guest
Nov 19th, 2011
140
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 15.38 KB | None | 0 0
  1. #include common_scripts\utility;
  2. #include maps\mp\_utility;
  3. #include maps\mp\gametypes\_hud_util;
  4.  
  5. init()
  6. {
  7.  
  8. game["music"]["spawn_allies"] = maps\mp\gametypes\_teams::getTeamVoicePrefix( "allies" ) + "spawn_music";
  9. game["music"]["defeat_allies"] = maps\mp\gametypes\_teams::getTeamVoicePrefix( "allies" ) + "defeat_music";
  10. game["music"]["victory_allies"] = maps\mp\gametypes\_teams::getTeamVoicePrefix( "allies" ) + "victory_music";
  11. game["music"]["winning_allies"] = maps\mp\gametypes\_teams::getTeamVoicePrefix( "allies" ) + "winning_music";
  12. game["music"]["losing_allies"] = maps\mp\gametypes\_teams::getTeamVoicePrefix( "allies" ) + "losing_music";
  13. game["voice"]["allies"] = maps\mp\gametypes\_teams::getTeamVoicePrefix( "allies" ) + "1mc_";
  14.  
  15. game["music"]["spawn_axis"] = maps\mp\gametypes\_teams::getTeamVoicePrefix( "axis" ) + "spawn_music";
  16. game["music"]["defeat_axis"] = maps\mp\gametypes\_teams::getTeamVoicePrefix( "axis" ) + "defeat_music";
  17. game["music"]["victory_axis"] = maps\mp\gametypes\_teams::getTeamVoicePrefix( "axis" ) + "victory_music";
  18. game["music"]["winning_axis"] = maps\mp\gametypes\_teams::getTeamVoicePrefix( "axis" ) + "winning_music";
  19. game["music"]["losing_axis"] = maps\mp\gametypes\_teams::getTeamVoicePrefix( "axis" ) + "losing_music";
  20. game["voice"]["axis"] = maps\mp\gametypes\_teams::getTeamVoicePrefix( "axis" ) + "1mc_";
  21.  
  22. //game["music"]["defeat"] = "mp_defeat";
  23. //game["music"]["victory_spectator"] = "mp_defeat";
  24. //game["music"]["winning_time"] = "mp_time_running_out_winning";
  25. game["music"]["losing_time"] = "mp_time_running_out_losing";
  26. //game["music"]["winning_score"] = "mp_time_running_out_winning";
  27. //game["music"]["losing_score"] = "mp_time_running_out_losing";
  28. //game["music"]["victory_tie"] = "mp_defeat";
  29.  
  30. game["music"]["suspense"] = [];
  31. game["music"]["suspense"][game["music"]["suspense"].size] = "mp_suspense_01";
  32. game["music"]["suspense"][game["music"]["suspense"].size] = "mp_suspense_02";
  33. game["music"]["suspense"][game["music"]["suspense"].size] = "mp_suspense_03";
  34. game["music"]["suspense"][game["music"]["suspense"].size] = "mp_suspense_04";
  35. game["music"]["suspense"][game["music"]["suspense"].size] = "mp_suspense_05";
  36. game["music"]["suspense"][game["music"]["suspense"].size] = "mp_suspense_06";
  37.  
  38. game["dialog"]["mission_success"] = "mission_success";
  39. game["dialog"]["mission_failure"] = "mission_fail";
  40. game["dialog"]["mission_draw"] = "draw";
  41.  
  42. game["dialog"]["round_success"] = "encourage_win";
  43. game["dialog"]["round_failure"] = "encourage_lost";
  44. game["dialog"]["round_draw"] = "draw";
  45.  
  46. // status
  47. game["dialog"]["timesup"] = "timesup";
  48. game["dialog"]["winning_time"] = "winning";
  49. game["dialog"]["losing_time"] = "losing";
  50. game["dialog"]["winning_score"] = "winning_fight";
  51. game["dialog"]["losing_score"] = "losing_fight";
  52. game["dialog"]["lead_lost"] = "lead_lost";
  53. game["dialog"]["lead_tied"] = "tied";
  54. game["dialog"]["lead_taken"] = "lead_taken";
  55. game["dialog"]["last_alive"] = "lastalive";
  56.  
  57. game["dialog"]["boost"] = "boost";
  58.  
  59. if ( !isDefined( game["dialog"]["offense_obj"] ) )
  60. game["dialog"]["offense_obj"] = "boost";
  61. if ( !isDefined( game["dialog"]["defense_obj"] ) )
  62. game["dialog"]["defense_obj"] = "boost";
  63.  
  64. game["dialog"]["hardcore"] = "hardcore";
  65. game["dialog"]["highspeed"] = "highspeed";
  66. game["dialog"]["tactical"] = "tactical";
  67.  
  68. game["dialog"]["challenge"] = "challengecomplete";
  69. game["dialog"]["promotion"] = "promotion";
  70.  
  71. game["dialog"]["bomb_taken"] = "acheive_bomb";
  72. game["dialog"]["bomb_lost"] = "bomb_taken";
  73. game["dialog"]["bomb_defused"] = "bomb_defused";
  74. game["dialog"]["bomb_planted"] = "bomb_planted";
  75.  
  76. game["dialog"]["obj_taken"] = "securedobj";
  77. game["dialog"]["obj_lost"] = "lostobj";
  78.  
  79. game["dialog"]["obj_defend"] = "obj_defend";
  80. game["dialog"]["obj_destroy"] = "obj_destroy";
  81. game["dialog"]["obj_capture"] = "capture_obj";
  82. game["dialog"]["objs_capture"] = "capture_objs";
  83.  
  84. game["dialog"]["hq_located"] = "hq_located";
  85. game["dialog"]["hq_enemy_captured"] = "hq_captured";
  86. game["dialog"]["hq_enemy_destroyed"] = "hq_destroyed";
  87. game["dialog"]["hq_secured"] = "hq_secured";
  88. game["dialog"]["hq_offline"] = "hq_offline";
  89. game["dialog"]["hq_online"] = "hq_online";
  90.  
  91. game["dialog"]["move_to_new"] = "new_positions";
  92.  
  93. game["dialog"]["push_forward"] = "pushforward";
  94.  
  95. game["dialog"]["attack"] = "attack";
  96. game["dialog"]["defend"] = "defend";
  97. game["dialog"]["offense"] = "offense";
  98. game["dialog"]["defense"] = "defense";
  99.  
  100. game["dialog"]["halftime"] = "halftime";
  101. game["dialog"]["overtime"] = "overtime";
  102. game["dialog"]["side_switch"] = "switching";
  103.  
  104. game["dialog"]["flag_taken"] = "ourflag";
  105. game["dialog"]["flag_dropped"] = "ourflag_drop";
  106. game["dialog"]["flag_returned"] = "ourflag_return";
  107. game["dialog"]["flag_captured"] = "ourflag_capt";
  108. game["dialog"]["flag_getback"] = "getback_ourflag";
  109. game["dialog"]["enemy_flag_bringhome"] = "enemyflag_tobase";
  110. game["dialog"]["enemy_flag_taken"] = "enemyflag";
  111. game["dialog"]["enemy_flag_dropped"] = "enemyflag_drop";
  112. game["dialog"]["enemy_flag_returned"] = "enemyflag_return";
  113. game["dialog"]["enemy_flag_captured"] = "enemyflag_capt";
  114.  
  115. game["dialog"]["got_flag"] = "achieve_flag";
  116. game["dialog"]["dropped_flag"] = "lost_flag";
  117. game["dialog"]["enemy_got_flag"] = "enemy_has_flag";
  118. game["dialog"]["enemy_dropped_flag"] = "enemy_dropped_flag";
  119.  
  120. game["dialog"]["capturing_a"] = "capturing_a";
  121. game["dialog"]["capturing_b"] = "capturing_b";
  122. game["dialog"]["capturing_c"] = "capturing_c";
  123. game["dialog"]["captured_a"] = "capture_a";
  124. game["dialog"]["captured_b"] = "capture_c";
  125. game["dialog"]["captured_c"] = "capture_b";
  126.  
  127. game["dialog"]["securing_a"] = "securing_a";
  128. game["dialog"]["securing_b"] = "securing_b";
  129. game["dialog"]["securing_c"] = "securing_c";
  130. game["dialog"]["secured_a"] = "secure_a";
  131. game["dialog"]["secured_b"] = "secure_b";
  132. game["dialog"]["secured_c"] = "secure_c";
  133.  
  134. game["dialog"]["losing_a"] = "losing_a";
  135. game["dialog"]["losing_b"] = "losing_b";
  136. game["dialog"]["losing_c"] = "losing_c";
  137. game["dialog"]["lost_a"] = "lost_a";
  138. game["dialog"]["lost_b"] = "lost_b";
  139. game["dialog"]["lost_c"] = "lost_c";
  140.  
  141. game["dialog"]["enemy_taking_a"] = "enemy_take_a";
  142. game["dialog"]["enemy_taking_b"] = "enemy_take_b";
  143. game["dialog"]["enemy_taking_c"] = "enemy_take_c";
  144. game["dialog"]["enemy_has_a"] = "enemy_has_a";
  145. game["dialog"]["enemy_has_b"] = "enemy_has_b";
  146. game["dialog"]["enemy_has_c"] = "enemy_has_c";
  147.  
  148. game["dialog"]["lost_all"] = "take_positions";
  149. game["dialog"]["secure_all"] = "positions_lock";
  150.  
  151. game["dialog"]["destroy_sentry"] = "dest_sentrygun";
  152. game["music"]["nuke_music"] = "nuke_music";
  153.  
  154. game["dialog"]["sentry_gone"] = "sentry_gone";
  155. game["dialog"]["sentry_destroyed"] = "sentry_destroyed";
  156. game["dialog"]["ti_gone"] = "ti_cancelled";
  157. game["dialog"]["ti_destroyed"] = "ti_blocked";
  158.  
  159. game["dialog"]["ims_destroyed"] = "ims_destroyed";
  160. game["dialog"]["lbguard_destroyed"] = "lbguard_destroyed";
  161. game["dialog"]["ballistic_vest_destroyed"] = "ballistic_vest_destroyed";
  162. game["dialog"]["remote_sentry_destroyed"] = "remote_sentry_destroyed";
  163. game["dialog"]["sam_destroyed"] = "sam_destroyed";
  164. game["dialog"]["sam_gone"] = "sam_destroyed";
  165.  
  166. level thread onPlayerConnect();
  167. level thread onLastAlive();
  168. level thread musicController();
  169. level thread onGameEnded();
  170. level thread onRoundSwitch();
  171. }
  172.  
  173.  
  174. onPlayerConnect()
  175. {
  176. for(;;)
  177. {
  178. level waittill ( "connected", player );
  179.  
  180. player thread onPlayerSpawned();
  181. player thread finalKillcamMusic();
  182. }
  183. }
  184.  
  185.  
  186. onPlayerSpawned()
  187. {
  188. self endon ( "disconnect" );
  189.  
  190. self waittill( "spawned_player" );
  191.  
  192. if ( !level.splitscreen || level.splitscreen && !isDefined( level.playedStartingMusic ) )
  193. {
  194. self playLocalSound( game["music"]["spawn_" + self.team] );
  195.  
  196.  
  197. if ( level.splitscreen )
  198. level.playedStartingMusic = true;
  199. }
  200.  
  201. if ( isDefined( game["dialog"]["gametype"] ) && (!level.splitscreen || self == level.players[0]) )
  202. {
  203. if ( isDefined( game["dialog"]["allies_gametype"] ) && self.team == "allies" )
  204. self leaderDialogOnPlayer( "allies_gametype" );
  205. else if ( isDefined( game["dialog"]["axis_gametype"] ) && self.team == "axis" )
  206. self leaderDialogOnPlayer( "axis_gametype" );
  207. else
  208. self leaderDialogOnPlayer( "gametype" );
  209. }
  210.  
  211. gameFlagWait( "prematch_done" );
  212.  
  213. if ( self.team == game["attackers"] )
  214. self leaderDialogOnPlayer( "offense_obj", "introboost" );
  215. else
  216. self leaderDialogOnPlayer( "defense_obj", "introboost" );
  217. }
  218.  
  219.  
  220. onLastAlive()
  221. {
  222. level endon ( "game_ended" );
  223.  
  224. level waittill ( "last_alive", player );
  225.  
  226. if ( !isAlive( player ) )
  227. return;
  228.  
  229. player leaderDialogOnPlayer( "last_alive" );
  230. }
  231.  
  232.  
  233. onRoundSwitch()
  234. {
  235. level waittill ( "round_switch", switchType );
  236.  
  237. switch( switchType )
  238. {
  239. case "halftime":
  240. foreach ( player in level.players )
  241. player leaderDialogOnPlayer( "halftime" );
  242. break;
  243. case "overtime":
  244. foreach ( player in level.players )
  245. player leaderDialogOnPlayer( "overtime" );
  246. break;
  247. default:
  248. foreach ( player in level.players )
  249. player leaderDialogOnPlayer( "side_switch" );
  250. break;
  251. }
  252. }
  253.  
  254.  
  255. onGameEnded()
  256. {
  257. level thread roundWinnerDialog();
  258. level thread gameWinnerDialog();
  259.  
  260. level waittill ( "game_win", winner );
  261.  
  262. if ( isDefined( level.nukeDetonated ) )
  263. {
  264. if ( !level.splitScreen )
  265. playSoundOnPlayers( game["music"]["nuke_music"] );
  266. else
  267. level.players[0] playLocalSound( game["music"]["nuke_music"] );
  268.  
  269. return;
  270. }
  271.  
  272. if ( level.teamBased )
  273. {
  274. if ( level.splitscreen )
  275. {
  276. if ( winner == "allies" )
  277. playSoundOnPlayers( game["music"]["victory_allies"], "allies" );
  278. else if ( winner == "axis" )
  279. playSoundOnPlayers( game["music"]["victory_axis"], "axis" );
  280. else
  281. playSoundOnPlayers( game["music"]["nuke_music"] );
  282. }
  283. else
  284. {
  285. if ( winner == "allies" )
  286. {
  287. playSoundOnPlayers( game["music"]["victory_allies"], "allies" );
  288. playSoundOnPlayers( game["music"]["defeat_axis"], "axis" );
  289. }
  290. else if ( winner == "axis" )
  291. {
  292. playSoundOnPlayers( game["music"]["victory_axis"], "axis" );
  293. playSoundOnPlayers( game["music"]["defeat_allies"], "allies" );
  294. }
  295. else
  296. {
  297. playSoundOnPlayers( game["music"]["nuke_music"] );
  298. }
  299. }
  300. }
  301. else
  302. {
  303. foreach ( player in level.players )
  304. {
  305. if( player isSplitscreenPlayer() && !player isSplitscreenPlayerPrimary() )
  306. continue;
  307.  
  308. if ( player.pers["team"] != "allies" && player.pers["team"] != "axis" )
  309. player playLocalSound( game["music"]["nuke_music"] );
  310. else if ( isDefined( winner ) && isPlayer( winner ) && player == winner )
  311. player playLocalSound( game["music"]["victory_" + player.pers["team"] ] );
  312. else if ( !level.splitScreen )
  313. player playLocalSound( game["music"]["defeat_" + player.pers["team"] ] );
  314. }
  315. }
  316. }
  317.  
  318.  
  319. roundWinnerDialog()
  320. {
  321. level waittill ( "round_win", winner );
  322.  
  323. delay = level.roundEndDelay / 4;
  324. if ( delay > 0 )
  325. wait ( delay );
  326.  
  327. if ( !isDefined( winner ) || isPlayer( winner ) || isDefined( level.nukeDetonated ) )
  328. return;
  329.  
  330. if ( winner == "allies" )
  331. {
  332. leaderDialog( "round_success", "allies" );
  333. leaderDialog( "round_failure", "axis" );
  334. }
  335. else if ( winner == "axis" )
  336. {
  337. leaderDialog( "round_success", "axis" );
  338. leaderDialog( "round_failure", "allies" );
  339. }
  340. }
  341.  
  342.  
  343. gameWinnerDialog()
  344. {
  345. level waittill ( "game_win", winner );
  346.  
  347. delay = level.postRoundTime / 2;
  348. if ( delay > 0 )
  349. wait ( delay );
  350.  
  351. if ( !isDefined( winner ) || isPlayer( winner ) || isDefined( level.nukeDetonated ) )
  352. return;
  353.  
  354. if ( winner == "allies" )
  355. {
  356. leaderDialog( "mission_success", "allies" );
  357. leaderDialog( "mission_failure", "axis" );
  358. }
  359. else if ( winner == "axis" )
  360. {
  361. leaderDialog( "mission_success", "axis" );
  362. leaderDialog( "mission_failure", "allies" );
  363. }
  364. else
  365. {
  366. leaderDialog( "mission_draw" );
  367. }
  368. }
  369.  
  370.  
  371. musicController()
  372. {
  373. level endon ( "game_ended" );
  374.  
  375. if ( !level.hardcoreMode )
  376. thread suspenseMusic();
  377.  
  378. level waittill ( "match_ending_soon", reason );
  379. assert( isDefined( reason ) );
  380.  
  381. if ( getWatchedDvar( "roundlimit" ) == 1 || game["roundsPlayed"] == (getWatchedDvar( "roundlimit" ) - 1) )
  382. {
  383. if ( !level.splitScreen )
  384. {
  385. if ( reason == "time" )
  386. {
  387. if ( level.teamBased )
  388. {
  389. if ( game["teamScores"]["allies"] > game["teamScores"]["axis"] )
  390. {
  391. if ( !level.hardcoreMode )
  392. {
  393. playSoundOnPlayers( game["music"]["winning_allies"], "allies" );
  394. playSoundOnPlayers( game["music"]["losing_axis"], "axis" );
  395. }
  396.  
  397. leaderDialog( "winning_time", "allies" );
  398. leaderDialog( "losing_time", "axis" );
  399. }
  400. else if ( game["teamScores"]["axis"] > game["teamScores"]["allies"] )
  401. {
  402. if ( !level.hardcoreMode )
  403. {
  404. playSoundOnPlayers( game["music"]["winning_axis"], "axis" );
  405. playSoundOnPlayers( game["music"]["losing_allies"], "allies" );
  406. }
  407.  
  408. leaderDialog( "winning_time", "axis" );
  409. leaderDialog( "losing_time", "allies" );
  410. }
  411. }
  412. else
  413. {
  414. if ( !level.hardcoreMode )
  415. playSoundOnPlayers( game["music"]["losing_time"] );
  416.  
  417. leaderDialog( "timesup" );
  418. }
  419. }
  420. else if ( reason == "score" )
  421. {
  422. if ( level.teamBased )
  423. {
  424. if ( game["teamScores"]["allies"] > game["teamScores"]["axis"] )
  425. {
  426. if ( !level.hardcoreMode )
  427. {
  428. playSoundOnPlayers( game["music"]["winning_allies"], "allies" );
  429. playSoundOnPlayers( game["music"]["losing_axis"], "axis" );
  430. }
  431.  
  432. leaderDialog( "winning_score", "allies" );
  433. leaderDialog( "losing_score", "axis" );
  434. }
  435. else if ( game["teamScores"]["axis"] > game["teamScores"]["allies"] )
  436. {
  437. if ( !level.hardcoreMode )
  438. {
  439. playSoundOnPlayers( game["music"]["winning_axis"], "axis" );
  440. playSoundOnPlayers( game["music"]["losing_allies"], "allies" );
  441. }
  442.  
  443. leaderDialog( "winning_score", "axis" );
  444. leaderDialog( "losing_score", "allies" );
  445. }
  446. }
  447. else
  448. {
  449. winningPlayer = maps\mp\gametypes\_gamescore::getHighestScoringPlayer();
  450. losingPlayers = maps\mp\gametypes\_gamescore::getLosingPlayers();
  451. excludeList[0] = winningPlayer;
  452.  
  453. if ( !level.hardcoreMode )
  454. {
  455. winningPlayer playLocalSound( game["music"]["winning_" + winningPlayer.pers["team"] ] );
  456.  
  457. foreach ( otherPlayer in level.players )
  458. {
  459. if ( otherPlayer == winningPlayer )
  460. continue;
  461.  
  462. otherPlayer playLocalSound( game["music"]["losing_" + otherPlayer.pers["team"] ] );
  463. }
  464. }
  465.  
  466. winningPlayer leaderDialogOnPlayer( "winning_score" );
  467. leaderDialogOnPlayers( "losing_score", losingPlayers );
  468. }
  469. }
  470.  
  471. level waittill ( "match_ending_very_soon" );
  472. leaderDialog( "timesup" );
  473. }
  474. }
  475. else
  476. {
  477. if ( !level.hardcoreMode )
  478. playSoundOnPlayers( game["music"]["losing_allies"] );
  479.  
  480. leaderDialog( "timesup" );
  481. }
  482. }
  483.  
  484.  
  485. suspenseMusic()
  486. {
  487. level endon ( "game_ended" );
  488. level endon ( "match_ending_soon" );
  489.  
  490. numTracks = game["music"]["suspense"].size;
  491. for ( ;; )
  492. {
  493. wait ( randomFloatRange( 60, 120 ) );
  494.  
  495. playSoundOnPlayers( game["music"]["suspense"][randomInt(numTracks)] );
  496. }
  497. }
  498.  
  499.  
  500. finalKillcamMusic()
  501. {
  502. self waittill ( "showing_final_killcam" );
  503.  
  504. // self playLocalSound( game["music"]["winning"] );
  505. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement