Advertisement
Guest User

Untitled

a guest
Jun 25th, 2017
56
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.60 KB | None | 0 0
  1. #include maps\mp\gametypes\_spawnlogic;
  2. #include maps\mp\_createdvar;
  3. #include common_scripts\utility;
  4. main()
  5. {
  6. precachemodel("c130_zoomrig");
  7. precachemodel("ac130_zom");
  8.  
  9. precacheShader( "ac130_overlay_25mm" );
  10. precacheShader( "ac130_overlay_40mm" );
  11. precacheShader( "ac130_overlay_105mm" );
  12.  
  13. precacheitem("ac130_105mm_mp");
  14. precacheitem("ac130_25mm_mp");
  15. precacheitem("ac130_40mm_mp");
  16. precacheitem("ac130_mp");
  17.  
  18. corners = GetEntArray("minimap_corner", "targetname");
  19.  
  20. level.ac130 = false;
  21. level.ac130_Weap = false;
  22. level.ac130_speed = createdvar( "nrm_ac130_speed" , 120, 0, 1000, "int" );
  23. level.Ac130_Cost = 10;
  24. level.AC130_Spam = 0;
  25. level.ac130_Offset = ( -100, 0, 0 );
  26. level.ac130_Angles = ( 0, -90, 40 );
  27.  
  28. level.MapCenter = VectorScale( corners[0] + corners[1], 0.5 );
  29.  
  30. thread OnConnected();
  31. thread Ac130_Trigger();
  32. }
  33.  
  34. OnConnected()
  35. {
  36. level endon("game_ended");
  37.  
  38. for( ;; )
  39. {
  40. level waittill("connected", player)
  41. player thread OnSpawned();
  42. }
  43. }
  44.  
  45. OnSpawned()
  46. {
  47. level endon("game_ended");
  48. self endon("disconnect");
  49.  
  50. for( ;; )
  51. {
  52. self waittill("spawned")
  53. self thread DoAc130();
  54. }
  55. }
  56.  
  57. DoAc130()
  58. {
  59. level endon("game ended")
  60. self endon("disconnect");
  61. self endon("death");
  62. self endon("joined_spectators");
  63.  
  64. for( ;; )
  65. {
  66. self waittill("weapon_change");
  67.  
  68. if( weapon == "ac130_mp" )
  69. self thread WaitForAc130Use();
  70. }
  71. }
  72.  
  73. WaitForAc130Use()
  74. {
  75. level endon("game_ended");
  76. self endon("disconnect");
  77. self endon("death");
  78. self endon("joined_spectators");
  79. self endon("weapon_changed");
  80.  
  81. self waittill("weapon_fired");
  82. self thread Ac130();
  83. }
  84.  
  85. Ac130()
  86. {
  87. level endon("game_ended");
  88. self endon("disconnect");
  89. self endon("death");
  90. self endon("joined_spectators");
  91.  
  92. if ( isDefined( level.ac130 ) && level.ac130 )
  93. {
  94. self giveWeapon( "ac130_105mm_mp" );
  95. self switchToWeapon( "ac130_105mm_mp" );
  96.  
  97. level.ac130 = spawn( "script_model", level.MapCenter );
  98. level.ac130 setModel( "c130_zoomrig" );
  99. level.ac130 hide();
  100.  
  101. self hide();
  102.  
  103. level.ac130_Weap = true;
  104.  
  105. self setAc130Vision(true);
  106. self LinkTo( level.ac130, "tag_player", ( 0, 0, 0 ), ( 0, 0, 0 ));
  107.  
  108. level.ac130_model = spawn( "script_model", self.origin );
  109. level.ac130_model setModel( "ac130_zom" );
  110. level.ac130_model LinkTo( level.ac130, "tag_player", level.ac130_Offset, level.ac130_Angles );
  111. level.ac130 rotateyaw( 720, level.ac130_speed);
  112.  
  113. wait level.ac130_speed;
  114.  
  115. self Unlink();
  116. self show();
  117. self thread Respawn();
  118. level.ac130 delete();
  119. level.ac130_model delete();
  120.  
  121. }
  122.  
  123. else if (level.ac130 )
  124. {
  125. self Unlink();
  126. self show();
  127. level.ac130_Weap = false;
  128. level.ac130 delete();
  129. }
  130. }
  131.  
  132. overlay()
  133. {
  134. level.ac130_overlay = newClientHudElem( self );
  135. level.ac130_overlay.x = 0;
  136. level.ac130_overlay.y = 0;
  137. level.ac130_overlay.alignX = "center";
  138. level.ac130_overlay.alignY = "middle";
  139. level.ac130_overlay.horzAlign = "center";
  140. level.ac130_overlay.vertAlign = "middle";
  141. level.ac130_overlay.foreground = true;
  142. level.ac130_overlay setshader ("ac130_overlay_105mm", 640, 480);
  143.  
  144. level.ac130_use = newClientHudElem( self );
  145. level.ac130_use.alignX = "center";
  146. level.ac130_use.alignY = "middle";
  147. level.ac130_use.alpha = 1;
  148. level.ac130_use.hideWhenInMenu = true;
  149. level.ac130_use.x = 324;
  150. level.ac130_use.y = 455;
  151. level.ac130_use settext ( "Press ^3[{+activate}]^7 to switch weapons." );
  152. level.ac130_use.font = "default";
  153. level.ac130_use.fontscale = 1.5;
  154.  
  155. wait level.ac130_speed;
  156.  
  157. level.ac130_overlay destroy();
  158. level.ac130_use destroy();
  159. }
  160.  
  161. changeWeapons()
  162. {
  163. if ( isDefined( level.ac130_Weap ) && level.ac130_Weap )
  164. {
  165. weapon = [];
  166.  
  167. weapon[0] = spawnstruct();
  168. weapon[0].overlay = "ac130_overlay_105mm";
  169. weapon[0].fov = "1";
  170. weapon[0].name = "105mm";
  171. weapon[0].sound = "ac130_105mm_fire";
  172. weapon[0].weapon = "ac130_105mm_mp";
  173.  
  174. weapon[1] = spawnstruct();
  175. weapon[1].overlay = "ac130_overlay_40mm";
  176. weapon[1].fov = "0.50";
  177. weapon[1].name = "40mm";
  178. weapon[1].sound = "ac130_40mm_fire";
  179. weapon[1].weapon = "ac130_40mm_mp";
  180.  
  181. weapon[2] = spawnstruct();
  182. weapon[2].overlay = "ac130_overlay_25mm";
  183. weapon[2].fov = "0.30";
  184. weapon[2].name = "25mm";
  185. weapon[2].sound = "ac130_25mm_fire";
  186. weapon[2].weapon = "ac130_25mm_mp";
  187.  
  188. currentWeapon = 0;
  189. level.currentWeapon = weapon[currentWeapon].name;
  190.  
  191. while(level.ac130_Weap)
  192. {
  193. while(level.ac130_Weap && !self useButtonPressed() )
  194. wait 0.05;
  195.  
  196. currentWeapon++;
  197. if (currentWeapon >= weapon.size)
  198. currentWeapon = 0;
  199. level.currentWeapon = weapon[currentWeapon].name;
  200.  
  201. level.ac130_overlay setShader (weapon[currentWeapon].overlay, 640, 480);
  202. self setClientDvar( "cg_fovscale", weapon[currentWeapon].fov );
  203. self takeAllWeapons();
  204. self giveWeapon( weapon[currentWeapon].weapon );
  205. self switchToWeapon( weapon[currentWeapon].weapon );
  206.  
  207. while(level.ac130_Weap && self useButtonPressed() )
  208. wait 0.05;
  209. }
  210. }
  211. }
  212.  
  213. Respawn()
  214. {
  215. level.ac130 = false;
  216. level.ac130_Weap = false;
  217. self [[level.onSpawnPlayer]]();
  218. wait 0.1;// If you Remove this you will FUCK EVERYTHING UP so leave it alone!
  219. self takeAllWeapons();
  220. self setAc130Vision(false);
  221. self setClientDvar("cg_fovscale", "1");
  222. self thread GiveWeaponsBack();
  223.  
  224. if ( isDefined( level.ac130_overlay ) && isDefined( level.ac130_use ) )
  225. {
  226. level.ac130_overlay destroy();
  227. level.ac130_use destroy();
  228. }
  229. }
  230.  
  231. WeaponsList()
  232. {
  233. self.weapons = self GetWeaponsList();
  234.  
  235. for( i = 0; i < self.weapons.size; i++ )
  236. self takeWeapon(self.weapons[i]);
  237. }
  238.  
  239. GiveWeaponsBack()
  240. {
  241. level endon("game_ended");
  242. self endon("disconnect");
  243. self endon("death");
  244. self endon("joined_spectators");
  245.  
  246. for( i = 0; i < self.weapons.size; i++ )
  247. {
  248. self giveWeapon( self.weapons[i] );
  249. primaryWeapons = self GetWeaponsListPrimaries();
  250. self SwitchToWeapon(primaryWeapons[1]);
  251. }
  252. }
  253.  
  254. SetAc130Vision(on)
  255. {
  256. if( isDefined( self ) )
  257. {
  258. if( on )
  259. {
  260. self setClientDvars(
  261. "r_filmtweakenable", "1",
  262. "r_filmusetweaks", "1",
  263. "r_filmtweakdesaturation", "1",
  264. "r_filmtweakdarktint", "2 2 2",
  265. "r_filmtweakbrightness", "0",
  266. "r_filmtweakcontrast", "1.5",
  267. "r_glowtweakenable", "1",
  268. "r_glowusetweaks", "1",
  269. "r_glowtweakbloomcutoff", "0",
  270. "r_glowtweakbloomdesaturation", "1",
  271. "r_glowtweakbloomintensity0", "2",
  272. "r_glowtweakradius0", "0.5",
  273. "r_glowtweakrayexpansion", "0",
  274. "r_glowtweakrayintensity", "0");
  275. }
  276. else
  277. {
  278. self setClientDvars(
  279. "r_filmtweakenable", "0",
  280. "r_filmusetweaks", "0",
  281. "r_glowtweakenable", "0",
  282. "r_glowusetweaks", "0");
  283. }
  284. }
  285. }
  286.  
  287. //Buy Trigger
  288.  
  289. Ac130_Trigger()
  290. {
  291. Ac130_buy = getentarray( "buy_ac130","targetname" );
  292.  
  293. if( isDefined( Ac130_buy ) )
  294. {
  295. for( i = 0; i < Ac130_buy.size; i++ )
  296. Ac130_buy[i] thread Bought_Ac130();
  297. }
  298. }
  299.  
  300. Bought_Ac130()
  301. {
  302.  
  303. while(1)
  304. {
  305. self waittill( "trigger", player );
  306.  
  307. if( player.score >= level.Ac130_Cost && !player.isZombie )
  308. {
  309. level.AC130_Spam+= 1;
  310. player.score -= level.Ac130_Cost;
  311. player giveWeapon( "ac130_mp" );
  312. player switchToWeapon( "ac130_mp" );
  313. }
  314.  
  315. else if( player.score < level.Ac130_Cost && !player.isZombie )
  316. {
  317. player iprintlnbold("You Need ^1" + ( level.Ac130_Cost - player.score ) + "^7 Points");
  318. player playLocalSound( "deny" );
  319. }
  320.  
  321. else if( player.isZombie )
  322. {
  323. player iprintlnbold("^1Zombies^7 Cant Fly, Silly!");
  324. player playLocalSound( "deny" );
  325. }
  326.  
  327. if( level.AC130_Spam >= 1 )
  328. {
  329. wait level.ac130_speed;
  330. level.AC130_Spam = 0;
  331. }
  332. }
  333. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement