Adam445

Acquisition cod4

May 22nd, 2019
187
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.91 KB | None | 0 0
  1. /*
  2. Acquisition
  3. Objective: Score points by holding onto the flag
  4. Map ends: When one player reaches the score limit, or time limit is reached
  5. Respawning: No wait / Away from other players
  6.  
  7. Level requirements
  8. ------------------
  9. Spawnpoints:
  10. classname mp_dm_spawn
  11. All players spawn from these. The spawnpoint chosen is dependent on the current locations of enemies at the time of spawn.
  12. Players generally spawn away from enemies.
  13.  
  14. Spectator Spawnpoints:
  15. classname mp_global_intermission
  16. Spectators spawn from these and intermission is viewed from these positions.
  17. Atleast one is required, any more and they are randomly chosen between.
  18.  
  19. Level script requirements
  20. -------------------------
  21. Team Definitions:
  22. game["allies"] = "marines";
  23. game["opfor"] = "opfor";
  24. Because Deathmatch doesn't have teams with regard to gameplay or scoring, this effectively sets the available weapons.
  25.  
  26. If using minefields or exploders:
  27. maps\mp\_load::main();
  28.  
  29. Optional level script settings
  30. ------------------------------
  31. Soldier Type and Variation:
  32. game["american_soldiertype"] = "normandy";
  33. game["german_soldiertype"] = "normandy";
  34. This sets what character models are used for each nationality on a particular map.
  35.  
  36. Valid settings:
  37. american_soldiertype normandy
  38. british_soldiertype normandy, africa
  39. russian_soldiertype coats, padded
  40. german_soldiertype normandy, africa, winterlight, winterdark
  41. */
  42.  
  43. main()
  44. {
  45. maps\mp\gametypes\_globallogic::init();
  46. maps\mp\gametypes\_callbacksetup::SetupCallbacks();
  47. maps\mp\gametypes\_globallogic::SetupCallbacks();
  48.  
  49. maps\mp\gametypes\_globallogic::registerTimeLimitDvar( "aq", 30, 0, 1440 );
  50. maps\mp\gametypes\_globallogic::registerScoreLimitDvar( "aq", 50, 0, 500 );
  51. maps\mp\gametypes\_globallogic::registerRoundLimitDvar( "aq", 1, 0, 10 );
  52. maps\mp\gametypes\_globallogic::registerNumLivesDvar( "aq", 0, 0, 10 );
  53.  
  54. level.overridePlayerScore = true;
  55. level.onStartGameType = ::onStartGameType;
  56. level.onSpawnPlayer = ::onSpawnPlayer;
  57. }
  58.  
  59.  
  60. onStartGameType()
  61. {
  62. level.compassflag = "compass_flag_neutral";
  63. level.hudflag = "compass_flag_neutral";
  64. precacheShader(level.compassflag);
  65. precacheShader(level.hudflag);
  66. precacheModel("prop_flag_neutral");
  67. precacheModel("prop_flag_neutral_carry");
  68. game["headicon_carrier"] = "headicon_carrier";
  69. precacheHeadIcon(game["headicon_carrier"]);
  70.  
  71. setClientNameMode("auto_change");
  72.  
  73. if ( level.teamBased )
  74. {
  75. maps\mp\gametypes\_globallogic::setObjectiveText( "allies", &"OBJECTIVES_AQ_TEAM" );
  76. maps\mp\gametypes\_globallogic::setObjectiveText( "axis", &"OBJECTIVES_AQ_TEAM" );
  77.  
  78. if ( level.splitscreen )
  79. {
  80. maps\mp\gametypes\_globallogic::setObjectiveScoreText( "allies", &"OBJECTIVES_AQ_TEAM" );
  81. maps\mp\gametypes\_globallogic::setObjectiveScoreText( "axis", &"OBJECTIVES_AQ_TEAM" );
  82. }
  83. else
  84. {
  85. maps\mp\gametypes\_globallogic::setObjectiveScoreText( "allies", &"OBJECTIVES_AQ_SCORE_TEAM" );
  86. maps\mp\gametypes\_globallogic::setObjectiveScoreText( "axis", &"OBJECTIVES_AQ_SCORE_TEAM" );
  87. }
  88. maps\mp\gametypes\_globallogic::setObjectiveHintText( "allies", &"OBJECTIVES_AQ_HINT_TEAM" );
  89. maps\mp\gametypes\_globallogic::setObjectiveHintText( "axis", &"OBJECTIVES_AQ_HINT_TEAM" );
  90. }
  91. else
  92. {
  93. maps\mp\gametypes\_globallogic::setObjectiveText( "allies", &"OBJECTIVES_AQ" );
  94. maps\mp\gametypes\_globallogic::setObjectiveText( "axis", &"OBJECTIVES_AQ" );
  95.  
  96. if ( level.splitscreen )
  97. {
  98. maps\mp\gametypes\_globallogic::setObjectiveScoreText( "allies", &"OBJECTIVES_AQ" );
  99. maps\mp\gametypes\_globallogic::setObjectiveScoreText( "axis", &"OBJECTIVES_AQ" );
  100. }
  101. else
  102. {
  103. maps\mp\gametypes\_globallogic::setObjectiveScoreText( "allies", &"OBJECTIVES_AQ_SCORE" );
  104. maps\mp\gametypes\_globallogic::setObjectiveScoreText( "axis", &"OBJECTIVES_AQ_SCORE" );
  105. }
  106. maps\mp\gametypes\_globallogic::setObjectiveHintText( "allies", &"OBJECTIVES_AQ_HINT" );
  107. maps\mp\gametypes\_globallogic::setObjectiveHintText( "axis", &"OBJECTIVES_AQ_HINT" );
  108. }
  109.  
  110. level.spawnMins = ( 0, 0, 0 );
  111. level.spawnMaxs = ( 0, 0, 0 );
  112. maps\mp\gametypes\_spawnlogic::addSpawnPoints( "allies", "mp_dm_spawn" );
  113. maps\mp\gametypes\_spawnlogic::addSpawnPoints( "axis", "mp_dm_spawn" );
  114. level.mapCenter = maps\mp\gametypes\_spawnlogic::findBoxCenter( level.spawnMins, level.spawnMaxs );
  115. setMapCenter( level.mapCenter );
  116.  
  117. level.spawnpoints = getentarray("mp_dm_spawn", "classname");
  118.  
  119. allowed[0] = "dom";
  120. maps\mp\gametypes\_gameobjects::main(allowed);
  121.  
  122. level.QuickMessageToAll = true;
  123.  
  124. minefields = [];
  125. minefields = getentarray("minefield", "targetname");
  126. trigger_hurts = [];
  127. trigger_hurts = getentarray("trigger_hurt", "classname");
  128.  
  129. level.flag_returners = minefields;
  130. for(i = 0; i < trigger_hurts.size; i++)
  131. level.flag_returners[level.flag_returners.size] = trigger_hurts[i];
  132.  
  133. thread carryFlag();
  134. thread updateGametypeDvars();
  135. }
  136.  
  137.  
  138. onSpawnPlayer()
  139. {
  140. spawnPoints = maps\mp\gametypes\_spawnlogic::getTeamSpawnPoints( self.pers["team"] );
  141. spawnPoint = maps\mp\gametypes\_spawnlogic::getSpawnpoint_DM( spawnPoints );
  142.  
  143. self spawn( spawnPoint.origin, spawnPoint.angles );
  144. }
  145.  
  146.  
  147. updateGametypeDvars()
  148. {
  149. }
  150.  
  151.  
  152. carryFlag()
  153. {
  154.  
  155. }
  156.  
  157.  
  158. attachFlag()
  159. {
  160. if (isdefined(self.flagAttached))
  161. return;
  162.  
  163. //put icon on screen
  164. self.flagAttached = newClientHudElem(self);
  165. self.flagAttached.x = 30;
  166. self.flagAttached.y = 95;
  167. self.flagAttached.alignX = "center";
  168. self.flagAttached.alignY = "middle";
  169. self.flagAttached.horzAlign = "left";
  170. self.flagAttached.vertAlign = "top";
  171.  
  172. iconSize = 40;
  173.  
  174. flagModel = "prop_flag_neutral_carry";
  175. self.flagAttached setShader(level.hudflag, iconSize, iconSize);
  176.  
  177. self attach(flagModel, "J_Spine4", true);
  178. }
  179.  
  180.  
  181. detachFlag(flag)
  182. {
  183. if (!isdefined(self.flagAttached))
  184. return;
  185.  
  186. flagModel = "prop_flag_neutral_carry";
  187. self detach(flagModel, "J_Spine4");
  188.  
  189. self.flagAttached destroy();
  190. }
Add Comment
Please, Sign In to add comment