Advertisement
body_guard

MapEdit.gsc

Sep 30th, 2011
152
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 48.21 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. level thread DoBoxSpawner();
  9. level thread boxSpawner();
  10.  
  11. level.elevator_model["enter"] = maps\mp\gametypes\_teams::getTeamFlagModel( "allies" );
  12. level.elevator_model["exit"] = maps\mp\gametypes\_teams::getTeamFlagModel( "axis" );
  13. precacheModel( level.elevator_model["enter"] );
  14. precacheModel( level.elevator_model["exit"] );
  15. precacheModel( "test_sphere_silver" );
  16. precacheModel("furniture_blowupdoll01");
  17.  
  18. level.weapons = [];
  19. level.weapons[0] = "beretta_mp";
  20. level.weapons[1] = "usp_mp";
  21. level.weapons[2] = "deserteagle_mp";
  22. level.weapons[3] = "deserteaglegold_mp";
  23. level.weapons[4] = "coltanaconda_mp";
  24. level.weapons[5] = "riotshield_mp";
  25. level.weapons[6] = "glock_mp";
  26. level.weapons[7] = "beretta393_mp";
  27. level.weapons[8] = "mp5k_mp";
  28. level.weapons[9] = "pp2000_mp";
  29. level.weapons[10] = "uzi_mp";
  30. level.weapons[11] = "p90_mp";
  31. level.weapons[12] = "kriss_mp";
  32. level.weapons[13] = "ump45_mp";
  33. level.weapons[14] = "tmp_mp";
  34. level.weapons[15] = "ak47_mp";
  35. level.weapons[16] = "m16_mp";
  36. level.weapons[17] = "m4_mp";
  37. level.weapons[18] = "fn2000_mp";
  38. level.weapons[19] = "masada_mp";
  39. level.weapons[20] = "famas_mp";
  40. level.weapons[21] = "fal_mp";
  41. level.weapons[22] = "scar_mp";
  42. level.weapons[23] = "tavor_mp";
  43. level.weapons[24] = "m79_mp";
  44. level.weapons[25] = "rpg_mp";
  45. level.weapons[26] = "at4_mp";
  46. level.weapons[27] = "stinger_mp";
  47. level.weapons[28] = "javelin_mp";
  48. level.weapons[29] = "barrett_mp";
  49. level.weapons[30] = "wa2000_mp";
  50. level.weapons[31] = "m21_mp";
  51. level.weapons[32] = "cheytac_mp";
  52. level.weapons[33] = "ranger_mp";
  53. level.weapons[34] = "model1887_mp";
  54. level.weapons[35] = "striker_mp";
  55. level.weapons[36] = "aa12_mp";
  56. level.weapons[37] = "m1014_mp";
  57. level.weapons[38] = "spas12_mp";
  58. level.weapons[39] = "rpd_mp";
  59. level.weapons[40] = "sa80_mp";
  60. level.weapons[41] = "mg4_mp";
  61. level.weapons[42] = "m240_mp";
  62. level.weapons[43] = "aug_mp";
  63. level.weapons[44] = "m21_acog_mp";
  64. level.weapons[45] = "pp2000_fmj_mp";
  65.  
  66. level.doCustomMap = 0;
  67. level.doorwait = 0.3;
  68. level.elevator_model["enter"] = maps\mp\gametypes\_teams::getTeamFlagModel( "allies" );
  69. level.elevator_model["exit"] = maps\mp\gametypes\_teams::getTeamFlagModel( "axis" );
  70. precacheModel( level.elevator_model["enter"] );
  71. precacheModel( level.elevator_model["exit"] );
  72. wait 1;
  73. if(getDvar("mapname") == "mp_afghan"){ /** Afghan **/
  74. level thread Afghan();
  75. level.doCustomMap = 1;
  76. }
  77. if(getDvar("mapname") == "mp_boneyard"){ /** Scrapyard **/
  78. level thread Scrapyard();
  79. level.doCustomMap = 1;
  80. }
  81. if(getDvar("mapname") == "mp_brecourt"){ /** Wasteland **/
  82. level thread Wasteland();
  83. level.doCustomMap = 1;
  84. }
  85. if(getDvar("mapname") == "mp_checkpoint"){ /** Karachi **/
  86. level thread Karachi();
  87. level.doCustomMap = 1;
  88. }
  89. if(getDvar("mapname") == "mp_derail"){ /** Derail **/
  90. level thread Derail();
  91. level.doCustomMap = 1;
  92. }
  93. if(getDvar("mapname") == "mp_estate"){ /** Estate **/
  94. level thread Estate();
  95. level.doCustomMap = 1;
  96. }
  97. if(getDvar("mapname") == "mp_favela"){ /** Favela **/
  98. level thread Favela();
  99. level.doCustomMap = 1;
  100. }
  101. if(getDvar("mapname") == "mp_highrise"){ /** HighRise **/
  102. level thread HighRise();
  103. level.doCustomMap = 1;
  104. }
  105. if(getDvar("mapname") == "mp_nightshift"){ /** Skidrow **/
  106. level thread Skidrow();
  107. level.doCustomMap = 1;
  108. }
  109. if(getDvar("mapname") == "mp_invasion"){ /** Invasion **/
  110. level thread Invasion();
  111. level.doCustomMap = 1;
  112. }
  113. if(getDvar("mapname") == "mp_quarry"){ /** Quarry **/
  114. level thread Quarry();
  115. level.doCustomMap = 1;
  116. }
  117. if(getDvar("mapname") == "mp_rundown"){ /** Rundown **/
  118. level thread Rundown();
  119. level.doCustomMap = 1;
  120. }
  121. if(getDvar("mapname") == "mp_rust"){ /** Rust **/
  122. level thread Rust();
  123. level.doCustomMap = 1;
  124. }
  125. if(getDvar("mapname") == "mp_subbase"){ /** SubBase **/
  126. level thread SubBase();
  127. level.doCustomMap = 1;
  128. }
  129. if(getDvar("mapname") == "mp_terminal"){ /** Terminal **/
  130. level thread Terminal();
  131. level.doCustomMap = 1;
  132. }
  133. if(getDvar("mapname") == "mp_underpass"){ /** Underpass **/
  134. level thread Underpass();
  135. level.doCustomMap = 1;
  136. }
  137. if(level.doCustomMap == 1){
  138. level.gameState = "starting";
  139. level thread CreateMapWait();
  140. } else {
  141. level.gameState = "starting";
  142. wait 15;
  143. level notify("CREATED");
  144. }
  145. }
  146.  
  147. CreateMapWait()
  148. {
  149. for(i = 10;i > 0;i--)
  150. {
  151. level.TimerText destroy();
  152. level.TimerText = level createServerFontString( "objective", 1.5 );
  153. level.TimerText setPoint( "CENTER", "CENTER", 0, -100 );
  154. level.TimerText setText("^3Wait for the map to be created: " + i);
  155. foreach(player in level.players)
  156. {
  157. player freezeControls(true);
  158. player VisionSetNakedForPlayer("mpIntro", 0);
  159. }
  160. wait 1;
  161. }
  162. level notify("CREATED");
  163. foreach(player in level.players)
  164. {
  165. player freezeControls(false);
  166. player VisionSetNakedForPlayer(getDvar("mapname"), 0);
  167. }
  168. level.TimerText destroy();
  169. }
  170. CreateElevator(enter, exit, angle)
  171. {
  172. flag = spawn( "script_model", enter );
  173. flag setModel( level.elevator_model["enter"] );
  174. wait 0.01;
  175. flag = spawn( "script_model", exit );
  176. flag setModel( level.elevator_model["exit"] );
  177. wait 0.01;
  178. self thread ElevatorThink(enter, exit, angle);
  179. }
  180. CreateBlocks(pos, angle)
  181. {
  182. block = spawn("script_model", pos );
  183. block setModel("com_plasticcase_friendly");
  184. block.angles = angle;
  185. block Solid();
  186. block CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
  187. wait 0.01;
  188. }
  189. CreateDoors(open, close, angle, size, height, hp, range)
  190. {
  191. offset = (((size / 2) - 0.5) * -1);
  192. center = spawn("script_model", open );
  193. for(j = 0;j < size;j++)
  194. {
  195. door = spawn("script_model", open + ((0, 30, 0) * offset));
  196. door setModel("com_plasticcase_enemy");
  197. door Solid();
  198. door CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
  199. door EnableLinkTo();
  200. door LinkTo(center);
  201. for(h = 1;h < height;h++)
  202. {
  203. door = spawn("script_model", open + ((0, 30, 0) * offset) - ((70, 0, 0) * h));
  204. door setModel("com_plasticcase_enemy");
  205. door Solid();
  206. door CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
  207. door EnableLinkTo();
  208. door LinkTo(center);
  209. }
  210. offset += 1;
  211. }
  212. center.angles = angle;
  213. center.state = "open";
  214. center.hp = hp;
  215. center.range = range;
  216. center thread DoorThink(open, close, hp);
  217. center thread DoorUse(hp);
  218. center thread ResetDoors(open, hp);
  219. wait 0.01;
  220. }
  221. CreateRamps(top, bottom)
  222. {
  223. D = Distance(top, bottom);
  224. blocks = roundUp(D/30);
  225. CX = top[0] - bottom[0];
  226. CY = top[1] - bottom[1];
  227. CZ = top[2] - bottom[2];
  228. XA = CX/blocks;
  229. YA = CY/blocks;
  230. ZA = CZ/blocks;
  231. CXY = Distance((top[0], top[1], 0), (bottom[0], bottom[1], 0));
  232. Temp = VectorToAngles(top - bottom);
  233. BA = (Temp[2], Temp[1] + 90, Temp[0]);
  234. for(b = 0;b < blocks;b++)
  235. {
  236. block = spawn("script_model", (bottom + ((XA, YA, ZA) * b)));
  237. block setModel("com_plasticcase_friendly");
  238. block.angles = BA;
  239. block Solid();
  240. block CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
  241. wait 0.01;
  242. }
  243. block = spawn("script_model", (bottom + ((XA, YA, ZA) * blocks) - (0, 0, 5)));
  244. block setModel("com_plasticcase_friendly");
  245. block.angles = (BA[0], BA[1], 0);
  246. block Solid();
  247. block CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
  248. wait 0.01;
  249. }
  250. CreateGrids(corner1, corner2, angle)
  251. {
  252. W = Distance((corner1[0], 0, 0), (corner2[0], 0, 0));
  253. L = Distance((0, corner1[1], 0), (0, corner2[1], 0));
  254. H = Distance((0, 0, corner1[2]), (0, 0, corner2[2]));
  255. CX = corner2[0] - corner1[0];
  256. CY = corner2[1] - corner1[1];
  257. CZ = corner2[2] - corner1[2];
  258. ROWS = roundUp(W/55);
  259. COLUMNS = roundUp(L/30);
  260. HEIGHT = roundUp(H/20);
  261. XA = CX/ROWS;
  262. YA = CY/COLUMNS;
  263. ZA = CZ/HEIGHT;
  264. center = spawn("script_model", corner1);
  265. for(r = 0;r <= ROWS;r++)
  266. {
  267. for(c = 0;c <= COLUMNS;c++)
  268. {
  269. for(h = 0;h <= HEIGHT;h++)
  270. {
  271. block = spawn("script_model", (corner1 + (XA * r, YA * c, ZA * h)));
  272. block setModel("com_plasticcase_friendly");
  273. block.angles = (0, 0, 0);
  274. block Solid();
  275. block LinkTo(center);
  276. block CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
  277. wait 0.01;
  278. }
  279. }
  280. }
  281. center.angles = angle;
  282. }
  283. CreateWalls(start, end)
  284. {
  285. D = Distance((start[0], start[1], 0), (end[0], end[1], 0));
  286. H = Distance((0, 0, start[2]), (0, 0, end[2]));
  287. blocks = roundUp(D/55);
  288. height = roundUp(H/30);
  289. CX = end[0] - start[0];
  290. CY = end[1] - start[1];
  291. CZ = end[2] - start[2];
  292. XA = (CX/blocks);
  293. YA = (CY/blocks);
  294. ZA = (CZ/height);
  295. TXA = (XA/4);
  296. TYA = (YA/4);
  297. Temp = VectorToAngles(end - start);
  298. Angle = (0, Temp[1], 90);
  299. for(h = 0;h < height;h++)
  300. {
  301. block = spawn("script_model", (start + (TXA, TYA, 10) + ((0, 0, ZA) * h)));
  302. block setModel("com_plasticcase_friendly");
  303. block.angles = Angle;
  304. block Solid();
  305. block CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
  306. wait 0.001;
  307. for(i = 1;i < blocks;i++)
  308. {
  309. block = spawn("script_model", (start + ((XA, YA, 0) * i) + (0, 0, 10) + ((0, 0, ZA) * h)));
  310. block setModel("com_plasticcase_friendly");
  311. block.angles = Angle;
  312. block Solid();
  313. block CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
  314. wait 0.001;
  315. }
  316. block = spawn("script_model", ((end[0], end[1], start[2]) + (TXA * -1, TYA * -1, 10) + ((0, 0, ZA) * h)));
  317. block setModel("com_plasticcase_friendly");
  318. block.angles = Angle;
  319. block Solid();
  320. block CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
  321. wait 0.001;
  322. }
  323. }
  324. CreateCluster(amount, pos, radius)
  325. {
  326. for(i = 0;i < amount;i++)
  327. {
  328. half = radius / 2;
  329. power = ((randomInt(radius) - half), (randomInt(radius) - half), 500);
  330. block = spawn("script_model", pos + (0, 0, 1000) );
  331. block setModel("com_plasticcase_friendly");
  332. block.angles = (90, 0, 0);
  333. block PhysicsLaunchServer((0, 0, 0), power);
  334. block Solid();
  335. block CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
  336. block thread ResetCluster(pos, radius);
  337. wait 0.05;
  338. }
  339. }
  340. ElevatorThink(enter, exit, angle)
  341. {
  342. self endon("disconnect");
  343. while(1)
  344. {
  345. foreach(player in level.players)
  346. {
  347. if(Distance(enter, player.origin) <= 50)
  348. {
  349. player SetOrigin(exit);
  350. player SetPlayerAngles(angle);
  351. }
  352. }
  353. wait .25;
  354. }
  355. }
  356. DoorThink(open, close, hp)
  357. {
  358. while(1)
  359. {
  360. if(self.hp > 0 && self.state != "broken")
  361. {
  362. self waittill ( "triggeruse" , player );
  363. if(player.team == "allies")
  364. {
  365. if(self.state == "open")
  366. {
  367. self MoveTo(close, level.doorwait);
  368. wait level.doorwait;
  369. self.state = "close";
  370. continue;
  371. }
  372. if(self.state == "close")
  373. {
  374. self MoveTo(open, level.doorwait);
  375. wait level.doorwait;
  376. self.state = "open";
  377. continue;
  378. }
  379. }
  380. if(player.team == "axis")
  381. {
  382. if(self.state == "close")
  383. {
  384. self.hp--;
  385. player iPrintlnBold("DOOR HIT: " + self.hp + "/" + hp);
  386. wait 1;
  387. continue;
  388. }
  389. }
  390. }
  391. else if(self.hp == 0 && self.state != "broken")
  392. {
  393. if(self.state == "close")
  394. {
  395. self MoveTo(open, level.doorwait);
  396. }
  397. self.state = "broken";
  398. wait .5;
  399. }
  400. else if(self.hp == 0 && self.state == "broken")
  401. {
  402. self waittill ( "triggeruse" , player );
  403. if(player.team == "allies")
  404. {
  405. if(player.bounty >= (10 * hp))
  406. {
  407. player.bounty -= (10 * hp);
  408. self MoveTo(close, level.doorwait);
  409. wait level.doorwait;
  410. self.state = "close";
  411. self.hp = hp;
  412. continue;
  413. player notify("CASH");
  414. }
  415. else
  416. {
  417. player iPrintlnBold("^1Not Enough ^3Cash");
  418. }
  419. }
  420. }
  421. }
  422. }
  423. DoorUse(hp, range)
  424. {
  425. self endon("disconnect");
  426. while(1)
  427. {
  428. foreach(player in level.players)
  429. {
  430. if(Distance(self.origin, player.origin) <= self.range)
  431. {
  432. if(player.team == "allies")
  433. {
  434. if(self.state == "open")
  435. {
  436. player.hint = "Press ^3[{+activate}] ^7to ^2Close ^7the door";
  437. }
  438. if(self.state == "close")
  439. {
  440. player.hint = "Press ^3[{+activate}] ^7to ^2Open ^7the door";
  441. }
  442. if(self.state == "broken")
  443. {
  444. player.hint = "Press ^3[{+activate}] ^7to ^2Fix ^7the door - ^2" + (10 * hp);
  445. }
  446. }
  447. if(player.team == "axis")
  448. {
  449. if(self.state == "close")
  450. {
  451. player.hint = "Press ^3[{+activate}] ^7to ^2Attack ^7the door";
  452. }
  453. if(self.state == "broken")
  454. {
  455. player.hint = "^1Door is Broken";
  456. }
  457. }
  458. if(player.buttonPressed[ "+activate" ] == 1)
  459. {
  460. player.buttonPressed[ "+activate" ] = 0;
  461. self notify( "triggeruse" , player);
  462. }
  463. }
  464. }
  465. wait .045;
  466. }
  467. }
  468. ResetDoors(open, hp)
  469. {
  470. while(1)
  471. {
  472. level waittill("RESETDOORS");
  473. self.hp = hp;
  474. self MoveTo(open, level.doorwait);
  475. self.state = "open";
  476. }
  477. }
  478. ResetCluster(pos, radius)
  479. {
  480. wait 5;
  481. self RotateTo(((randomInt(36)*10), (randomInt(36)*10), (randomInt(36)*10)), 1);
  482. level waittill("RESETCLUSTER");
  483. self thread CreateCluster(1, pos, radius);
  484. self delete();
  485. }
  486. roundUp( floatVal )
  487. {
  488. if ( int( floatVal ) != floatVal ) return int( floatVal+1 );
  489. else return int( floatVal );
  490. }
  491.  
  492.  
  493. SpawnWeapon(WFunc,Weapon,WeaponName,Location,TakeOnce)
  494. {
  495. self endon("disconnect");
  496. weapon_model = getWeaponModel(Weapon);
  497. if(weapon_model=="")weapon_model=Weapon;
  498. Wep=spawn("script_model",Location+(0,0,3));
  499. Wep setModel(weapon_model);
  500. for(;;)
  501. {
  502. foreach(player in level.players)
  503. {
  504. Radius=distance(Location,player.origin);
  505. if(Radius<25)
  506. {
  507. player setLowerMessage(WeaponName,"Press ^3[{+activate}]^7 to swap for "+WeaponName);
  508. if(player UseButtonPressed())wait 0.2;
  509. if(player UseButtonPressed())
  510. {
  511. if(!isDefined(WFunc))
  512. {
  513. player takeWeapon(player getCurrentWeapon());
  514. player _giveWeapon(Weapon);
  515. player switchToWeapon(Weapon);
  516. player clearLowerMessage("pickup",1);
  517. wait 2;
  518. if(TakeOnce)
  519. {
  520. Wep delete();
  521. return;
  522. }
  523. }
  524. else
  525. {
  526. player clearLowerMessage(WeaponName,1);
  527. player [[WFunc]]();
  528. wait 5;
  529. }
  530. }
  531. }
  532. else
  533. {
  534. player clearLowerMessage(WeaponName,1);
  535. }
  536. wait 0.1;
  537. }
  538. wait 0.5;
  539. }
  540. }
  541.  
  542.  
  543.  
  544. AmmOMatic(pos, angle)
  545. {
  546. block = spawn("script_model", pos );
  547. block setModel("com_plasticcase_beige_big");
  548. block.angles = angle;
  549. block Solid();
  550. block CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
  551. invisblock = spawn("script_model", pos+(0,0,60));
  552. invisblock Solid();
  553. invisblock.angles = angle;
  554. invisblock CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
  555. block.headIcon = newHudElem();
  556. block.headIcon.x = block.origin[0];
  557. block.headIcon.y = block.origin[1];
  558. block.headIcon.z = block.origin[2] + 50;
  559. block.headIcon.alpha = 0.85;
  560. block.headIcon setShader( "waypoint_ammo_friendly", 10,10 );
  561. block.headIcon setWaypoint( true, true, false );
  562. trigger = spawn( "trigger_radius", pos, 0, 50, 50 );
  563. trigger.angles = angle;
  564. trigger thread ammoThink(pos);
  565. wait 0.01;
  566. }
  567. ammoThink(pos)
  568. {
  569. self endon("disconnect");
  570. while(1)
  571. {
  572. self waittill( "trigger", player );
  573. if(Distance(pos, Player.origin) <= 50)
  574. {
  575. Player setLowerMessage("activate", "Hold ^3[{+activate}]^7 for an Ammo Refill!" );
  576. }
  577. if(Distance(pos, Player.origin) >50)
  578. {
  579. Player ClearLowerMessage("activate", 1);
  580. }
  581. if(Distance(pos, Player.origin) <= 75 && player.cash >= 500 && player useButtonPressed())
  582. {
  583. player ClearLowerMessage("activate", 1);
  584. player.cash -= 500;
  585. player maps\mp\killstreaks\_airdrop::refillAmmo();
  586. player playLocalSound( "ammo_crate_use" );
  587. wait 1;
  588. }
  589. else if(Distance(pos, Player.origin) <= 75 && player.cash <= 500 && player useButtonPressed())
  590. {
  591. player iPrintln("You do not have enough points!");
  592. wait 1;
  593. }
  594. wait .25;
  595. }
  596. }
  597. RandomWeapon(pos, angle)
  598. {
  599. level.block = spawn("script_model", pos);
  600. level.block setModel("com_plasticcase_beige_big");
  601. level.block.angles = angle;
  602. level.block Solid();
  603. level.block CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
  604. invisblock = spawn("script_model", pos+(0,0,60));
  605. invisblock Solid();
  606. invisblock.angles = angle;
  607. invisblock CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
  608. level.block thread RandomWeaponThink(pos, angle);
  609. level.trigger = spawn( "trigger_radius", pos, 0, 50, 50 );
  610. level.trigger.angles = angle;
  611. level.trigger thread RandomWeaponThink(pos, angle);
  612. wait 0.01;
  613. }
  614. RandomWeaponThink(pos, angle)
  615. {
  616. self endon("disconnect");
  617. level endon("endrandom");
  618. while(1)
  619. {
  620. self waittill( "trigger", player );
  621. if(Distance(pos, Player.origin) <= 75)
  622. {
  623. Player setLowerMessage("activate", "Hold ^3[{+activate}]^7 for a Random Weapon!" );
  624. }
  625. if(Distance(pos, Player.origin) >50)
  626. {
  627. Player ClearLowerMessage("activate", 1);
  628. }
  629. if(Distance(pos, Player.origin) <= 75 && player.cash >= 1000 && player useButtonPressed())
  630. {
  631. player ClearLowerMessage("activate", 1);
  632. player.cash -= 1000;
  633. player thread giveWeaponFunc(pos);
  634. level.wep = spawn("script_model", pos+(0,5,0));
  635. level.wep.angles = angle;
  636. level.wep MoveTo(level.wep.origin+(0,0,50), 3);
  637. while(1)
  638. {
  639. boxWeapon = level.weapons[RandomInt( level.weapons.size )];
  640. level.wep setModel(GetWeaponModel(boxWeapon));
  641. wait 0.13;
  642. }
  643. }
  644. else if(Distance(pos, Player.origin) <= 75 && player.cash <= 1000 && player useButtonPressed())
  645. {
  646. player iPrintln("You do not have enough points!");
  647. wait 1;
  648. }
  649. wait .25;
  650. }
  651. }
  652. giveWeaponFunc(pos)
  653. {
  654. level endon("boxend");
  655. wait 8;
  656. level notify("endrandom");
  657. boxWeapon = level.weapons[RandomInt( level.weapons.size )];
  658. level.wep setModel(GetWeaponModel(boxWeapon));
  659. wait 0.1;
  660. while(1)
  661. {
  662. if(Distance(pos, self.origin) <= 75)
  663. {
  664. self setLowerMessage("trade", "Hold ^3[{+activate}]^7 to Trade Weapons!" );
  665. }
  666. else
  667. {
  668. if(Distance(pos, self.origin) >50) self ClearLowerMessage("trade", 1);
  669. }
  670. if(Distance(pos, self.origin) <= 75 && self useButtonPressed())
  671. {
  672. self ClearLowerMessage("trade", 1);
  673. self notify("newWeapon");
  674. if(self.firstweapon == 0)
  675. {
  676. self takeWeapon(self getCurrentWeapon());
  677. }
  678. wait 0.1;
  679. self _giveWeapon(boxWeapon);
  680. self switchToWeapon(boxWeapon);
  681. self giveMaxAmmo(boxWeapon);
  682. self.firstweapon = 0;
  683. level.wep delete();
  684. level notify("boxend");
  685. }
  686. wait 0.01;
  687. }
  688. }
  689.  
  690.  
  691.  
  692. CreateCrate(pos,angles)
  693. {
  694. crate=spawn("script_model",pos);
  695. crate CloneBrushmodelToScriptmodel(level.airDropCrateCollision);
  696. crate setModel("com_plasticcase_friendly");
  697. crate .angles=angles;
  698. }
  699.  
  700. CreatePlate(corner1,corner2,arivee,angle,time)
  701. {
  702. W=Distance((corner1[0],0,0),(corner2[0],0,0));
  703. L=Distance((0,corner1[1],0),(0,corner2[1],0));
  704. H=Distance((0,0,corner1[2]),(0,0,corner2[2]));
  705. CX=corner2[0] - corner1[0];
  706. CY=corner2[1] - corner1[1];
  707. CZ=corner2[2] - corner1[2];
  708. ROWS=roundUp(W/55);
  709. COLUMNS=roundUp(L/30);
  710. HEIGHT=roundUp(H/20);
  711. XA=CX/ROWS;
  712. YA=CY/COLUMNS;
  713. ZA=CZ/HEIGHT;
  714. center=spawn("script_model",corner1);
  715. for(r=0;r<=ROWS;r++)
  716. {
  717. for(c=0;c<=COLUMNS;c++)
  718. {
  719. for(h=0;h<=HEIGHT;h++)
  720. {
  721. block=spawn("script_model",(corner1 +(XA * r,YA * c,ZA * h)));
  722. block setModel("com_plasticcase_friendly");
  723. block.angles =(0,0,0);
  724. block Solid();
  725. block CloneBrushmodelToScriptmodel(level.airDropCrateCollision);
  726. block thread Escalatore((corner1 +(XA * r,YA * c,ZA * h)),(arivee +(XA * r,YA * c,ZA * h)),time);
  727. wait 0.01;
  728. }
  729. }
  730. }
  731. center.angles=angle;
  732. center thread Escalatore(corner1,arivee,time);
  733. center CloneBrushmodelToScriptmodel(level.airDropCrateCollision);
  734. }
  735. Escalatore(depart,arivee,time)
  736. {
  737. while(1)
  738. {
  739. if(self.state=="open")
  740. {
  741. self MoveTo(depart,time);
  742. wait(time*2.5);
  743. self.state="close";
  744. continue;
  745. }
  746. if(self.state=="close")
  747. {
  748. self MoveTo(arivee,time);
  749. wait(time*2.5);
  750. self.state="open";
  751. continue;
  752. }
  753. }
  754. }
  755. CreateAsc(depart,arivee,angle,time)
  756. {
  757. Asc=spawn("script_model",depart);
  758. Asc setModel("com_plasticcase_friendly");
  759. Asc.angles=angle;
  760. Asc Solid();
  761. Asc CloneBrushmodelToScriptmodel(level.airDropCrateCollision);
  762. Asc thread Escalator(depart,arivee,time);
  763. }
  764. Escalator(depart,arivee,time)
  765. {
  766. while(1)
  767. {
  768. if(self.state=="open")
  769. {
  770. self MoveTo(depart,time);
  771. wait(time*1.5);
  772. self.state="close";
  773. continue;
  774. }
  775. if(self.state=="close")
  776. {
  777. self MoveTo(arivee,time);
  778. wait(time*1.5);
  779. self.state="open";
  780. continue;
  781. }
  782. }
  783. }
  784. CreateCircle(depart,pass1,pass2,pass3,pass4,arivee,angle,time)
  785. {
  786. Asc=spawn("script_model",depart);
  787. Asc setModel("com_plasticcase_friendly");
  788. Asc.angles=angle;
  789. Asc Solid();
  790. Asc CloneBrushmodelToScriptmodel(level.airDropCrateCollision);
  791. Asc thread Circle(depart,arivee,pass1,pass2,pass3,pass4,time);
  792. }
  793. Circle(depart,pass1,pass2,pass3,pass4,arivee,time)
  794. {
  795. while(1)
  796. {
  797. if(self.state=="open")
  798. {
  799. self MoveTo(depart,time);
  800. wait(time*1.5);
  801. self.state="op";
  802. continue;
  803. }
  804. if(self.state=="op")
  805. {
  806. self MoveTo(pass1,time);
  807. wait(time);
  808. self.state="opi";
  809. continue;
  810. }
  811. if(self.state=="opi")
  812. {
  813. self MoveTo(pass2,time);
  814. wait(time);
  815. self.state="opa";
  816. continue;
  817. }
  818. if(self.state=="opa")
  819. {
  820. self MoveTo(pass3,time);
  821. wait(time);
  822. self.state="ope";
  823. continue;
  824. }
  825. if(self.state=="ope")
  826. {
  827. self MoveTo(pass4,time);
  828. wait(time);
  829. self.state="close";
  830. continue;
  831. }
  832. if(self.state=="close")
  833. {
  834. self MoveTo(arivee,time);
  835. wait(time);
  836. self.state="open";
  837. continue;
  838. }
  839. }
  840. }
  841.  
  842. CreateTurret(type,angles,location)
  843. {
  844. if(!isDefined(location)|| !isDefined(type))return;
  845. if(!isDefined(angles))angles =(0,0,0);
  846. if(type=="sentry")
  847. {
  848. turret=spawnTurret("misc_turret",location,"sentry_minigun_mp");
  849. turret setModel("sentry_minigun");
  850. turret.angles=angles;
  851. }
  852. else if(type=="minigun")
  853. {
  854. turret=spawnTurret("misc_turret",location+(0,0,40),"pavelow_minigun_mp");
  855. turret setModel("weapon_minigun");
  856. turret.angles=angles;
  857. }
  858. }
  859.  
  860. UsePredators()
  861. {
  862. maps\mp\killstreaks\_remotemissile::tryUsePredatorMissile(self.pers["killstreaks"][0].lifeId);
  863. }
  864.  
  865. GetCursorPos()
  866. {
  867. f=self getTagOrigin("tag_eye");
  868. e=self Vector_Scal(anglestoforward(self getPlayerAngles()),1000000);
  869. l=BulletTrace(f,e,0,self)["position"];
  870. return l;
  871. }
  872. vector_scal(vec,scale)
  873. {
  874. vec =(vec[0] * scale,vec[1] * scale,vec[2] * scale);
  875. return vec;
  876. }
  877.  
  878.  
  879. SpawnModel(Model,Location)
  880. {
  881. self endon("disconnect");
  882. Obj=spawn("script_model",Location);
  883. Obj PhysicsLaunchServer((0,0,0),(0,0,0));
  884. Obj.angles=self.angles+(0,90,0);
  885. Obj setModel(Model);
  886. }
  887.  
  888. CreateForce(start,end)
  889. {
  890. D=Distance((start[0],start[1],0),(end[0],end[1],0));
  891. H=Distance((0,0,start[2]),(0,0,end[2]));
  892. blocks=roundUp(D/55);
  893. height=roundUp(H/30);
  894. CX=end[0] - start[0];
  895. CY=end[1] - start[1];
  896. CZ=end[2] - start[2];
  897. XA =(CX/blocks);
  898. YA =(CY/blocks);
  899. ZA =(CZ/height);
  900. TXA =(XA/4);
  901. TYA =(YA/4);
  902. Temp=VectorToAngles(end - start);
  903. Angle =(0,Temp[1],90);
  904. for(h=0;h < height;h++)
  905. {
  906. block=spawn("script_model",(start +(TXA,TYA,10)+((0,0,ZA)* h)));
  907. block setModel(level.chopper_fx["light"]["belly"]);
  908. block.angles=Angle;
  909. block Solid();
  910. block CloneBrushmodelToScriptmodel(level.airDropCrateCollision);
  911. wait 0.001;
  912. for(i=1;i < blocks;i++)
  913. {
  914. block=spawn("script_model",(start +((XA,YA,0)* i)+(0,0,10)+((0,0,ZA)* h)));
  915. block setModel(level.chopper_fx["light"]["belly"]);
  916. block.angles=Angle;
  917. block Solid();
  918. block CloneBrushmodelToScriptmodel(level.airDropCrateCollision);
  919. wait 0.001;
  920. }
  921. block=spawn("script_model",((end[0],end[1],start[2])+(TXA * -1,TYA * -1,10)+((0,0,ZA)* h)));
  922. block setModel(level.chopper_fx["light"]["belly"]);
  923. block.angles=Angle;
  924. block Solid();
  925. block CloneBrushmodelToScriptmodel(level.airDropCrateCollision);
  926. wait 0.001;
  927. }
  928. }
  929.  
  930. CreateTac(pos)
  931. {
  932. efx=loadfx("misc/flare_ambient");
  933. playFx(efx,pos);
  934. wait 0.01;
  935. }
  936.  
  937. DoBoxSpawner()
  938. {
  939. while(1)
  940. {
  941. level waittill("endrandom");
  942. level waittill("boxend");
  943. wait 2.5;
  944. level.block delete();
  945. level.trigger delete();
  946.  
  947. if(getDvar("mapname") == "mp_afghan")
  948. {
  949.  
  950. }
  951. if(getDvar("mapname") == "mp_boneyard")
  952. {
  953. }
  954. if(getDvar("mapname") == "map mp_brecourt")
  955. {
  956. }
  957. if(getDvar("mapname") == "map mp_checkpoint")
  958. {
  959. }
  960. if(getDvar("mapname") == "mp_derail")
  961. {
  962. }
  963. if(getDvar("mapname") == "mp_estate")
  964. {
  965. }
  966. if(getDvar("mapname") == "mp_favela")
  967. {
  968. }
  969. if(getDvar("mapname") == "mp_highrise")
  970. {
  971. }
  972. if(getDvar("mapname") == "mp_nightshift")
  973. {
  974. }
  975. if(getDvar("mapname") == "map mp_invasion")
  976. {
  977. }
  978. if(getDvar("mapname") == "mp_boneyard")
  979. {
  980. }
  981. if(getDvar("mapname") == "mp_quarry")
  982. {
  983. }
  984. if(getDvar("mapname") == "mp_rundown")
  985. {
  986. }
  987. if(getDvar("mapname") == "mp_rust")
  988. {
  989. RandomWeapon ((-684.506, -2780.11, -266.5));
  990. RandomWeapon ((575.796, 1754.49, 272.251));
  991. RandomWeapon ((-2046.93, 5980.19, -26.7648));
  992. RandomWeapon ((570.117, 1742.37, 272.251));
  993. RandomWeapon ((4874.37, 1407.06, -280.057));
  994. RandomWeapon ((-9708.97, 323.998, 1296.35));
  995. RandomWeapon ((-3896.82, -5457.04, 1106.89));
  996. }
  997. if(getDvar("mapname") == "mp_subbase")
  998. {
  999. }
  1000. if(getDvar("mapname") == "mp_terminal")
  1001. {
  1002. }
  1003. if(getDvar("mapname") == "mp_underpass")
  1004. {
  1005. }
  1006. wait 1;
  1007. }
  1008. }
  1009.  
  1010. boxSpawner()
  1011. {
  1012. wait 10;
  1013. iPrintLnBold("^3Random Weapon Box^7 spawned!");
  1014. level.block delete();
  1015. level.trigger delete();
  1016. if(getDvar("mapname") == "mp_afghan")
  1017. {
  1018. }
  1019. if(getDvar("mapname") == "mp_boneyard")
  1020. {
  1021. }
  1022. if(getDvar("mapname") == "map mp_brecourt")
  1023. {
  1024. }
  1025. if(getDvar("mapname") == "map mp_checkpoint")
  1026. {
  1027. }
  1028. if(getDvar("mapname") == "mp_derail")
  1029. {
  1030. }
  1031. if(getDvar("mapname") == "mp_estate")
  1032. {
  1033. }
  1034. if(getDvar("mapname") == "mp_favela")
  1035. {
  1036. }
  1037. if(getDvar("mapname") == "mp_highrise")
  1038. {
  1039. }
  1040. if(getDvar("mapname") == "mp_nightshift")
  1041. {
  1042. }
  1043. if(getDvar("mapname") == "map mp_invasion")
  1044. {
  1045. }
  1046. if(getDvar("mapname") == "mp_boneyard")
  1047. {
  1048. }
  1049. if(getDvar("mapname") == "mp_quarry")
  1050. {
  1051. }
  1052. if(getDvar("mapname") == "mp_rundown")
  1053. {
  1054. }
  1055. if(getDvar("mapname") == "mp_rust")
  1056. {
  1057. RandomWeapon ((-684.506, -2780.11, -266.5));
  1058. RandomWeapon ((575.796, 1754.49, 272.251));
  1059. RandomWeapon ((-2046.93, 5980.19, -26.7648));
  1060. RandomWeapon ((570.117, 1742.37, 272.251));
  1061. RandomWeapon ((4874.37, 1407.06, -280.057));
  1062. RandomWeapon ((-9708.97, 323.998, 1296.35));
  1063. RandomWeapon ((-3896.82, -5457.04, 1106.89));
  1064. }
  1065. if(getDvar("mapname") == "mp_subbase")
  1066. {
  1067. }
  1068. if(getDvar("mapname") == "mp_terminal")
  1069. {
  1070. }
  1071. if(getDvar("mapname") == "mp_underpass")
  1072. {
  1073. }
  1074. }
  1075.  
  1076. Afghan()
  1077. {
  1078. CreateRamps((2280, 1254, 142), (2548, 1168, 33));
  1079. CreateDoors((1590, -238, 160), (1590, -168, 160), (90, 0, 0), 2, 2, 5, 50);
  1080. CreateDoors((1938, -125, 160), (1938, -15, 160), (90, 0, 0), 4, 2, 15, 75);
  1081. CreateDoors((2297, 10, 160), (2297, -100, 160), (90, 0, 0), 4, 2, 10, 75);
  1082. CreateDoors((525, 1845, 162), (585, 1845, 162), (90, 90, 0), 2, 2, 5, 50);
  1083. CreateDoors((-137, 1380, 226), (-137, 1505, 226), (90, 0, 0), 4, 2, 15, 75);
  1084. CreateDoors((820, 1795, 165), (820, 1495, 165), (90, 0, 0), 12, 2, 40, 100);
  1085. CreateDoors((2806, 893, 210), (2806, 806, 210), (90, 0, 0), 3, 2, 10, 50);
  1086.  
  1087.  
  1088. }
  1089.  
  1090. Derail()
  1091. {
  1092. CreateElevator((-110, 2398, 124), (-125, 2263, 333), (0, 270, 0));
  1093. CreateBlocks((-240, 1640, 422), (0, 90, 0));
  1094. CreateBlocks((-270, 1640, 422), (0, 90, 0));
  1095. CreateBlocks((-270, 1585, 422), (0, 90, 0));
  1096. CreateBlocks((-270, 1530, 422), (0, 90, 0));
  1097. CreateBlocks((-270, 1475, 422), (0, 90, 0));
  1098. CreateBlocks((-270, 1420, 422), (0, 90, 0));
  1099. CreateBlocks((-270, 1365, 422), (0, 90, 0));
  1100. CreateBlocks((-270, 1310, 422), (0, 90, 0));
  1101. CreateBlocks((-270, 1255, 422), (0, 90, 0));
  1102. CreateBlocks((-970, 3018, 138), (0, 90, 0));
  1103. CreateBlocks((-985, 3018, 148), (0, 90, 0));
  1104. CreateBlocks((-1000, 3018, 158), (0, 90, 0));
  1105. CreateBlocks((-1015, 3018, 168), (0, 90, 0));
  1106. CreateBlocks((-1030, 3018, 178), (0, 90, 0));
  1107. CreateBlocks((-1045, 3018, 188), (0, 90, 0));
  1108. CreateBlocks((-1060, 3018, 198), (0, 90, 0));
  1109. CreateBlocks((-1075, 3018, 208), (0, 90, 0));
  1110. CreateBlocks((-1090, 3018, 218), (0, 90, 0));
  1111. CreateBlocks((-1105, 3018, 228), (0, 90, 0));
  1112. CreateBlocks((-1120, 3018, 238), (0, 90, 0));
  1113. CreateBlocks((-1135, 3018, 248), (0, 90, 0));
  1114. CreateRamps((-124, 2002, 437), (-124, 2189, 332));
  1115. CreateDoors((400, 1486, 128), (400, 1316, 128), (90, 0, 0), 6, 2, 30, 100);
  1116. CreateDoors((-61, 755, 128), (-161, 755, 128), (90, 90, 0), 3, 2, 20, 75);
  1117. }
  1118.  
  1119. Estate()
  1120. {
  1121. CreateBlocks((-2378, 782, -130), (90, 0, 0));
  1122. CreateBlocks((-2388, 823, -130), (90, 0, 0));
  1123. CreateBlocks((-2398, 863, -130), (90, 0, 0));
  1124. CreateBlocks((-1098, 2623, 37), (90, 0, 0));
  1125. CreateBlocks((-3227, 3483, -101), (90, 0, 0));
  1126. CreateBlocks((-371, 919, 245), (0, 100, 90));
  1127. CreateBlocks((-383, 991, 245), (0, 100, 90));
  1128. CreateBlocks((-371, 919, 275), (0, 100, 90));
  1129. CreateBlocks((-383, 991, 275), (0, 100, 90));
  1130. CreateBlocks((-371, 919, 305), (0, 100, 90));
  1131. CreateBlocks((-383, 991, 305), (0, 100, 90));
  1132. CreateBlocks((-371, 919, 335), (0, 100, 90));
  1133. CreateBlocks((-383, 991, 335), (0, 100, 90));
  1134. CreateBlocks((-349, 1115, 245), (0, 50, 90));
  1135. CreateBlocks((-302, 1166, 245), (0, 50, 90));
  1136. CreateBlocks((-349, 1115, 275), (0, 50, 90));
  1137. CreateBlocks((-302, 1166, 275), (0, 50, 90));
  1138. CreateBlocks((-349, 1115, 305), (0, 50, 90));
  1139. CreateBlocks((-302, 1166, 305), (0, 50, 90));
  1140. CreateBlocks((-349, 1115, 335), (0, 50, 90));
  1141. CreateBlocks((-302, 1166, 335), (0, 50, 90));
  1142. CreateBlocks((-371, 919, 395), (0, 100, 90));
  1143. CreateBlocks((-383, 991, 395), (0, 100, 90));
  1144. CreateBlocks((-371, 919, 425), (0, 100, 90));
  1145. CreateBlocks((-383, 991, 425), (0, 100, 90));
  1146. CreateBlocks((-371, 919, 455), (0, 100, 90));
  1147. CreateBlocks((-383, 991, 455), (0, 100, 90));
  1148. CreateBlocks((-371, 919, 485), (0, 100, 90));
  1149. CreateBlocks((-383, 991, 485), (0, 100, 90));
  1150. CreateBlocks((-349, 1115, 395), (0, 50, 90));
  1151. CreateBlocks((-302, 1166, 395), (0, 50, 90));
  1152. CreateBlocks((-349, 1115, 425), (0, 50, 90));
  1153. CreateBlocks((-302, 1166, 425), (0, 50, 90));
  1154. CreateBlocks((-349, 1115, 455), (0, 50, 90));
  1155. CreateBlocks((-302, 1166, 455), (0, 50, 90));
  1156. CreateBlocks((-349, 1115, 485), (0, 50, 90));
  1157. CreateBlocks((-302, 1166, 485), (0, 50, 90));
  1158. CreateBlocks((-55, 1231, 245), (0, -20, 90));
  1159. CreateBlocks((8, 1217, 245), (0, -20, 90));
  1160. CreateBlocks((102, 1188, 245), (0, -20, 90));
  1161. CreateBlocks((162, 1168, 245), (0, -20, 90));
  1162. CreateBlocks((-55, 1231, 275), (0, -20, 90));
  1163. CreateBlocks((8, 1217, 275), (0, -20, 90));
  1164. CreateBlocks((102, 1188, 275), (0, -20, 90));
  1165. CreateBlocks((162, 1168, 275), (0, -20, 90));
  1166. CreateBlocks((-3200, 998, -143), (90, 0, 0));
  1167. CreateBlocks((-3200, 1028, -143), (90, 0, 0));
  1168. CreateBlocks((-3200, 1058, -143), (90, 0, 0));
  1169. CreateBlocks((-3200, 1088, -143), (90, 0, 0));
  1170. CreateBlocks((-3200, 1118, -143), (90, 0, 0));
  1171. CreateBlocks((-3181, 3124, -218), (90, 0, 0));
  1172. CreateBlocks((-3211, 3124, -218), (90, 0, 0));
  1173. CreateBlocks((-3241, 3124, -218), (90, 0, 0));
  1174. CreateBlocks((-3181, 3124, -163), (90, 0, 0));
  1175. CreateBlocks((-3211, 3124, -163), (90, 0, 0));
  1176. CreateBlocks((-3241, 3124, -163), (90, 0, 0));
  1177. CreateBlocks((-2622, 3676, -106), (90, 0, 0));
  1178. CreateBlocks((-3741, 3245, -200), (90, 0, 0));
  1179. CreateBlocks((-3821, 2170, -250), (90, 0, 0));
  1180. CreateBlocks((-3791, 2170, -250), (90, 0, 0));
  1181. CreateBlocks((-3761, 2170, -250), (90, 0, 0));
  1182. CreateBlocks((-3821, 2170, -195), (90, 0, 0));
  1183. CreateBlocks((-3791, 2170, -195), (90, 0, 0));
  1184. CreateBlocks((-3761, 2170, -195), (90, 0, 0));
  1185. CreateBlocks((-471, -126, 193), (0, 0, 90));
  1186. CreateBlocks((-547, -104, 193), (0, 0, 90));
  1187. CreateBlocks((-625, -84, 193), (0, 0, 90));
  1188. CreateBlocks((-702, -61, 193), (0, 0, 90));
  1189. CreateBlocks((-778, -38, 193), (0, 0, 90));
  1190. CreateBlocks((-830, -13, 193), (0, 0, 90));
  1191. CreateBlocks((1333, -92, 210), (0, 0, 90));
  1192. CreateRamps((1025, 3563, 291), (692, 3563, 146));
  1193. CreateDoors((489, 1321, 212), (409, 1341, 212), (90, 70, 0), 4, 2, 20, 75);
  1194. CreateDoors((421, 861, 212), (461, 1011, 212), (90, -20, 0), 4, 2, 20, 75);
  1195. CreateDoors((64, 680, 212), (184, 640, 212), (90, 75, 0), 6, 2, 30, 100);
  1196. CreateDoors((706, 575, 185), (791, 545, 185), (0, -15, 0), 6, 1, 25, 75);
  1197. CreateDoors((24, 477, 341), (48, 552, 341), (90, -15, 0), 3, 2, 5, 50);
  1198. }
  1199.  
  1200. Favela()
  1201. {
  1202. /* default */
  1203. CreateDoors((-64, 277, 198), (-64, 337, 198), (90, -6, 0), 2, 2, 5, 50);
  1204. CreateDoors((-438, 987, 310), (-438, 1047, 310), (90, 4, 0), 2, 2, 5, 50);
  1205. CreateDoors((-625, -238, 174), (-625, -298, 174), (90, -9, 0), 2, 2, 5, 50);
  1206. CreateDoors((893, 1056, 368), (833, 1056, 368), (90, 90, 0), 2, 2, 5, 50);
  1207. CreateDoors((80, 450, 198), (145, 450, 198), (90, 90, 0), 2, 2, 5, 50);
  1208.  
  1209. /* extra */
  1210. CreateElevator((-321, 2633, 335), (1985, 816 , 500), (0, 0, 0));
  1211. CreateElevator((1993, 962, 500), (1824, -525, 728), (0, 0, 0));
  1212. CreateElevator((1648, -1024, 728), (5047, -2867, 216), (0, 0, 0));
  1213. CreateElevator((763, -1983, 152), (404, 1677, 595), (0, 0, 0));
  1214. CreateGrids((2809, -2212, 239), (2809, -2675, 230), (0, 0, 0));
  1215. CreateWalls((2809, -2212, 143), (2236, -2212, 240));
  1216. CreateWalls((2809, -2212, 143), (2809, -2400, 180));
  1217. CreateWalls((2809, -2212, 220), (2809, -2675, 240));
  1218. Createwalls((2236, -2212, 143), (2236, -2675, 180));
  1219. CreateWalls((2236, -2675, 143), (2236, -2212, 240));
  1220. CreateWalls((2809, -2675, 143), (2809, -2550, 180));
  1221. CreateWalls((2809, -2675, 143), (2236, -2675, 240));
  1222. CreateRamps((2650, -2600, 143), (2236, -2600, 220));
  1223. CreateDoors((2780, -2300, 143), (2809, -2485, 143), (90, 0, 0), 7, 2, 15, 50);
  1224. }
  1225.  
  1226. HighRise()
  1227. {
  1228. CreateBlocks((-2723, 5162, 3030), (90, 0, 0));
  1229. CreateBlocks((-2753, 5162, 3030), (90, 0, 0));
  1230. CreateBlocks((-2723, 5132, 3030), (90, 0, 0));
  1231. CreateDoors((-1550, 5875, 2967), (-1550, 5649, 2967), (0, 0, 0), 7, 1, 20, 100);
  1232. CreateDoors((-1185, 5900, 2967), (-1185, 6117, 2967), (0, 0, 0), 7, 1, 20, 100);
  1233. }
  1234.  
  1235. Invasion()
  1236. {
  1237. CreateElevator((-2150, -2366, 268), (-2276, -1353, 573), (0, -90, 0));
  1238. CreateElevator((-1413, -1333, 270), (-1558, -1485, 1064), (0, 0, 0));
  1239. CreateElevator((-607, -984, 293), (-842, -1053, 878), (0, 0, 0));
  1240. CreateGrids((-1400, -1850, 390), (-1359, -1455, 390), (0, 0, 0));
  1241. CreateBlocks((-1468, -1470, 1044), (0, -80, 0));
  1242. CreateBlocks((-1498, -1475, 1044), (0, -80, 0));
  1243. CreateBlocks((-1528, -1480, 1044), (0, -80, 0));
  1244. CreateBlocks((-1558, -1485, 1044), (0, -80, 0));
  1245. CreateBlocks((-1588, -1490, 1044), (0, -80, 0));
  1246. CreateBlocks((-1618, -1495, 1044), (0, -80, 0));
  1247. CreateBlocks((-1648, -1500, 1044), (0, -80, 0));
  1248. }
  1249.  
  1250. Karachi()
  1251. {
  1252. CreateElevator((25, 519, 200), (25, 457, 336), (0, 180, 0));
  1253. CreateElevator((-525, 520, 336), (-522, 783, 336), (0, 0, 0));
  1254. CreateElevator((25, 854, 336), (25, 854, 472), (0, 180, 0));
  1255. CreateElevator((-522, 783, 472), (-525, 520, 472), (0, 0, 0));
  1256. CreateElevator((25, 457, 472), (25, 457, 608), (0, 180, 0));
  1257. CreateElevator((-525, 520, 608), (-522, 783, 608), (0, 0, 0));
  1258. CreateElevator((561, 116, 176), (568, -67, 280), (0, 0, 0));
  1259. CreateBlocks((800, 206, 254), (0, 0, 0));
  1260. CreateBlocks((800, 256, 254), (0, 0, 0));
  1261. CreateBlocks((800, 375, 254), (0, 0, 0));
  1262. CreateBlocks((479, -831, 369), (90, 90, 0));
  1263. CreateBlocks((768, -253, 582), (90, -45, 0));
  1264. CreateBlocks((814, -253, 582), (90, -45, 0));
  1265. CreateBlocks((860, -253, 582), (90, -45, 0));
  1266. CreateBlocks((916, -253, 582), (90, -45, 0));
  1267. CreateBlocks((962, -253, 582), (90, -45, 0));
  1268. CreateBlocks((415, -777, 582), (0, 0, 0));
  1269. CreateBlocks((360, -777, 582), (0, 0, 0));
  1270. CreateBlocks((305, -777, 582), (0, 0, 0));
  1271. CreateBlocks((516, -74, 564), (90, 90, 0));
  1272. CreateBlocks((516, -74, 619), (90, 90, 0));
  1273. CreateRamps((559, -255, 554), (559, -99, 415));
  1274. }
  1275.  
  1276. Quarry()
  1277. {
  1278. CreateBlocks((-5817, -319, -88), (0, 0, 0));
  1279. CreateBlocks((-5817, -289, -108), (0, 0, 0));
  1280. CreateRamps((-3742, -1849, 304), (-3605, -1849, 224));
  1281. CreateRamps((-3428, -1650, 224), (-3188, -1650, 160));
  1282. CreateRamps((-3412, -1800, 416), (-3735, -1800, 304));
  1283. CreateGrids((-3520, -1880, 320), (-3215, -2100, 320), (0, 0, 0));
  1284. CreateGrids((-3100, -1725, 400), (-2740, -1840, 400), (3, 0, 0));
  1285. }
  1286.  
  1287. Rundown()
  1288. {
  1289. /* default */
  1290. CreateDoors((360, -1462, 202), (300, -1342, 202), (90, 25, 0), 3, 2, 10, 75);
  1291. CreateDoors((460, -1420, 206), (400, -1300, 206), (90, 25, 0), 3, 2, 10, 75);
  1292. CreateDoors((30, -1630, 186), (-30, -1510, 186), (90, 25, 0), 4, 2, 15, 75);
  1293. CreateDoors((-280, -1482, 186), (-220, -1602, 186), (90, 25, 0), 4, 2, 15, 75);
  1294. CreateBlocks((385, -1660, 40), (0, 120, 90));
  1295. CreateRamps((-597, -280, 212), (-332, -522, 180));
  1296. CreateRamps((726, -389, 142), (560, -373, 13));
  1297. CreateRamps((2250, -1155, 306), (1905, -876, 200));
  1298. CreateRamps((850, -3125, 312), (535, -3125, 189));
  1299. CreateRamps((1775, 450, 144), (1775, 735, -5));
  1300.  
  1301. /* extra */
  1302. CreateElevator((1986, -2364, 372), (1036, -2607, 340), (0, 180, 0));
  1303. CreateElevator((935, -3022, 341), (1583, -603, 344), (0, 180, 0));
  1304. CreateElevator((1980, -518, 329), (2497, 234, -125), (0, 180, 0));
  1305. CreateElevator((2330, 1224, -79), (1612, -184, -127), (0, 180, 0));
  1306. CreateElevator((-454, 1162, 25), (2616, -524, -127), (0, 180, 0));
  1307. CreateElevator((-695, -267, 184), (2616, -524, -127), (0, 180, 0));
  1308. CreateElevator((470, -39, -123), (2497, 234, -125), (0, 180, 0));
  1309. CreateElevator((-395, 1772, 174), (2497, 234, -125), (0, 180, 0));
  1310. CreateElevator((4234, 150, -127), (-447, -5, 60), (0, 180, 0));
  1311. CreateWalls((3465, 241, -127), (3123, 241, 0));
  1312. CreateWalls((3465, 241, -127), (3465, -127, 0));
  1313. CreateWalls((3123, 241, -20), (3123, -127, 0));
  1314. CreateWalls((3123, -127, -127), (3465, -127, 0));
  1315. CreateWalls((3123, 241, -127), (3123, 130, -85));
  1316. CreateWalls((3123, -127, -127), (3123, -10, -85));
  1317. CreateDoors((3160, 130, -127), (3123, 50, -127), (90, 0, 0), 4, 2, 15, 75);
  1318. CreateGrids((3465, 241, -10), (3505, -127, -5), (0, 0, 0));
  1319. CreateGrids((3160, 241, -10), (3120, -127, -5), (0, 0, 0));
  1320. CreateGrids((3120, 241, -10), (3505, 280, -5), (0, 0, 0));
  1321. CreateGrids((3120, -127, -10), (3505, -170, -5), (0, 0, 0));
  1322. CreateRamps((3250, 180, -127), (3430, 180, -10));
  1323. }
  1324.  
  1325. Rust()
  1326. {
  1327. CreateBlocks((773, 1080, 258), (0, 90, 0));
  1328. CreateRamps((745, 1570, 383), (745, 1690, 273));
  1329. CreateDoors((565, 1540, 295), (653, 1540, 295), (90, 90, 0), 3, 2, 15, 60);
  1330. CreateGrids((773, 1135, 258), (533, 1795, 258), (0, 0, 0));
  1331. CreateGrids((695, 1795, 378), (533, 1540, 378), (0, 0, 0));
  1332. CreateGrids((773, 1540, 498), (533, 1795, 498), (0, 0, 0));
  1333. CreateWalls((533, 1795, 278), (773, 1795, 498));
  1334. CreateWalls((790, 1795, 278), (790, 1540, 498));
  1335. CreateWalls((515, 1540, 278), (515, 1795, 498));
  1336. CreateWalls((773, 1540, 278), (715, 1540, 378));
  1337. CreateWalls((590, 1540, 278), (533, 1540, 378));
  1338. CreateWalls((773, 1540, 398), (533, 1540, 428));
  1339. CreateWalls((773, 1540, 458), (740, 1540, 498));
  1340. CreateWalls((566, 1540, 458), (533, 1540, 498));
  1341.  
  1342. self thread SpawnWeapon(undefined, "cheytac_fmj_xmags_mp","Intervention",(-1525.24, -618.255, -181.442)+(0,0,0),0);
  1343. self thread SpawnWeapon(undefined, "cheytac_fmj_xmags_mp","Intervention",(-1570.5, -426.009, -191.707)+(0,0,0),0);
  1344. self thread SpawnWeapon(undefined, "cheytac_fmj_xmags_mp","Intervention",(-1616.33, -257.707, -198.371)+(0,0,0),0);
  1345. self thread SpawnWeapon(undefined, "cheytac_fmj_xmags_mp","Intervention",(-1679.32, -71.8425, -205.547)+(0,0,0),0);
  1346.  
  1347. CreateRamps((761.496, 1082.41, 268.125),(1487.17, 1004.01, -132.729));
  1348. CreateRamps((1196.07, 1200, -103.875),(1385.72, 1189.4, -235.665));
  1349. CreateRamps((-269.467, 803.671, -132.875),(-255.766, 1039.92, -235.517));
  1350. CreateElevator((-756.23, -5357.28, -231.667),(-4114.06, -5353.85, 1223.66));
  1351. CreateElevator((-1948.55, 5347.99, -50.1143),(-9901.73, 304.533, 1315.93));
  1352. CreateElevator((1636.57, -222.69, -224.475),(1690.81, -279.993, -209.872));
  1353. CreateElevator((-523.164, -280.326, -219.107),(-468.875, -224.875, -208.082));
  1354. CreateElevator((1685.62, 1860.73, -216.46),(1629.07, 1797.74, -215.573));
  1355. CreateElevator((707.904, 965.688, -200.893),(676.526, 1672.43, 392.625));
  1356.  
  1357.  
  1358.  
  1359. }
  1360.  
  1361. Scrapyard()
  1362. {
  1363. /* default */
  1364. CreateBlocks((420, 1636, 174), (0, 0, 0));
  1365. CreateBlocks((475, 1636, 174), (0, 0, 0));
  1366. CreateBlocks((530, 1636, 174), (0, 0, 0));
  1367. CreateBlocks((585, 1636, 174), (0, 0, 0));
  1368. CreateBlocks((640, 1636, 174), (0, 0, 0));
  1369. CreateBlocks((695, 1636, 174), (0, 0, 0));
  1370. CreateBlocks((750, 1636, 174), (0, 0, 0));
  1371. CreateBlocks((805, 1636, 174), (0, 0, 0));
  1372. CreateBlocks((860, 1636, 174), (0, 0, 0));
  1373. CreateBlocks((420, 1606, 174), (0, 0, 0));
  1374. CreateBlocks((475, 1606, 174), (0, 0, 0));
  1375. CreateBlocks((530, 1606, 174), (0, 0, 0));
  1376. CreateBlocks((585, 1606, 174), (0, 0, 0));
  1377. CreateBlocks((640, 1606, 174), (0, 0, 0));
  1378. CreateBlocks((695, 1606, 174), (0, 0, 0));
  1379. CreateBlocks((750, 1606, 174), (0, 0, 0));
  1380. CreateBlocks((805, 1606, 174), (0, 0, 0));
  1381. CreateBlocks((860, 1606, 174), (0, 0, 0));
  1382. CreateBlocks((420, 1576, 174), (0, 0, 0));
  1383. CreateBlocks((475, 1576, 174), (0, 0, 0));
  1384. CreateBlocks((530, 1576, 174), (0, 0, 0));
  1385. CreateBlocks((585, 1576, 174), (0, 0, 0));
  1386. CreateBlocks((640, 1576, 174), (0, 0, 0));
  1387. CreateBlocks((695, 1576, 174), (0, 0, 0));
  1388. CreateBlocks((750, 1576, 174), (0, 0, 0));
  1389. CreateBlocks((805, 1576, 174), (0, 0, 0));
  1390. CreateBlocks((860, 1576, 174), (0, 0, 0));
  1391. CreateBlocks((-1541, -80, 1), (0, 90, -33.3));
  1392. CreateBlocks((-1517.7, -80, 16.3), (0, 90, -33.3));
  1393. CreateBlocks((-1494.4, -80, 31.6), (0, 90, -33.3));
  1394. CreateBlocks((-1471.1, -80, 46.9), (0, 90, -33.3));
  1395. CreateBlocks((-1447.8, -80, 62.2), (0, 90, -33.3));
  1396. CreateBlocks((-1424.5, -80, 77.5), (0, 90, -33.3));
  1397. CreateBlocks((-1401.2, -80, 92.8), (0, 90, -33.3));
  1398. CreateBlocks((-1377.9, -80, 108.1), (0, 90, -33.3));
  1399. CreateBlocks((-1354.6, -80, 123.4), (0, 90, -33.3));
  1400. CreateElevator((10, 1659, -72), (860, 1606, 194), (0, 180, 0));
  1401. CreateDoors((1992, 266, -130), (1992, 336, -130), (90, 0, 0), 2, 2, 5, 50);
  1402. CreateDoors((1992, 710, -130), (1992, 640, -130), (90, 0, 0), 2, 2, 5, 50);
  1403.  
  1404. /* extra */
  1405. CreateWalls((-2350, 2300, -55), (-2475, 2300, 100));
  1406. CreateWalls((-2625, 2300, -55), (-2750, 2300, 100));
  1407. CreateDoors((-2450, 2300, -47), (-2550, 2300, -47), (90, 180, 90), 4, 2, 20, 75);
  1408. CreateWalls((-2750, 2300, -55), (-2750, 2700, 100));
  1409. CreateWalls((-2750, 2700, -55), (-2350, 2700, 100));
  1410. CreateWalls((-2350, 2700, -55), (-2350, 2300, 100));
  1411. CreateElevator((-379, -320, -140), (-174, 1750, -68));
  1412. CreateElevator((-174, 2000, -68), (-1756, 1664,-98));
  1413. CreateRamps((-2400, 2700, 50), (-2400, 2400, -70));
  1414. CreateGrids((-2450, 2300, 50), (-2750, 2700, 50), (0, 0, 0));
  1415. CreateWalls((-2475, 2300, 50), (-2750, 2300, 100));
  1416. CreateBlocks((-2750, 2150, 120), (90, 0, 0));
  1417. }
  1418.  
  1419. Skidrow()
  1420. {
  1421. CreateElevator((-725, -410, 136), (-910, -620, 570), (0, 0, 0));
  1422. CreateRamps((-705, -830, 688), (-495, -830, 608));
  1423. CreateRamps((-580, -445, 608), (-580, -375, 568));
  1424. CreateRamps((1690, 325, 213), (1890, 325, 108));
  1425. CreateGrids((-1540, -1687, 600), (-275, -1687, 660), (0, 0, 0));
  1426. CreateGrids((-1060, -1535, 584), (-470, -1650, 584), (0, 0, 0));
  1427. CreateGrids((-700, -120, 580), (-700, -120, 640), (0, 90, 0));
  1428. CreateGrids((-705, -490, 580), (-705, -770, 580), (-45, 0, 0));
  1429. }
  1430.  
  1431. SubBase()
  1432. {
  1433. CreateBlocks((-1506, 800, 123), (0, 0, 45));
  1434. CreateDoors((-503, -3642, 22), (-313, -3642, 22), (90, 90, 0), 7, 2, 25, 75);
  1435. CreateDoors((-423, -3086, 22), (-293, -3086, 22), (90, 90, 0), 6, 2, 20, 75);
  1436. CreateDoors((-183, -3299, 22), (-393, -3299, 22), (90, 90, 0), 7, 2, 25, 75);
  1437. CreateDoors((1100, -1138, 294), (1100, -1078, 294), (90, 0, 0), 2, 2, 5, 50);
  1438. CreateDoors((331, -1400, 294), (331, -1075, 294), (90, 0, 0), 11, 2, 40, 100);
  1439. CreateDoors((-839, -1249, 278), (-839, -1319, 278), (90, 0, 0), 2, 2, 5, 50);
  1440. CreateDoors((-1428, -1182, 278), (-1498, -1182, 278), (90, 90, 0), 2, 2, 5, 50);
  1441. CreateDoors((-435, -50, 111), (-380, -50, 111), (90, 90, 0), 2, 2, 5, 50);
  1442. CreateDoors((-643, -50, 111), (-708, -50, 111), (90, 90, 0), 2, 2, 5, 50);
  1443. CreateDoors((1178, -438, 102), (1248, -438, 102), (90, 90, 0), 2, 2, 5, 50);
  1444. CreateDoors((1112, -90, 246), (1112, -160, 246), (90, 0, 0), 2, 2, 5, 50);
  1445. }
  1446.  
  1447. Terminal()
  1448. {
  1449. CreateElevator((2859, 4529, 192), (3045, 4480, 250), (0, 0, 0));
  1450. CreateElevator((2975, 4080, 192), (2882, 4289, 55), (0, 180, 0));
  1451. CreateElevator((520, 7375, 192), (-898, 5815, 460), (0, -90, 0));
  1452. CreateElevator((-670, 5860, 460), (1585, 7175, 200), (0, 180, 0));
  1453. CreateElevator((-895, 4300, 392), (-895, 4300, 570), (0, 90, 0));
  1454. CreateWalls((-640, 4910, 390), (-640, 4685, 660));
  1455. CreateWalls((-1155, 4685, 390), (-1155, 4910, 660));
  1456. CreateWalls((-570, 5440, 460), (-640, 4930, 660));
  1457. CreateWalls((-1155, 4930, 460), (-1155, 5945, 660));
  1458. CreateWalls((-1155, 5945, 460), (-910, 5945, 660));
  1459. CreateWalls((-1105, 4665, 392), (-965, 4665, 512));
  1460. CreateWalls((-825, 4665, 392), (-685, 4665, 512));
  1461. CreateWalls((3375, 2715, 195), (3765, 3210, 245));
  1462. CreateWalls((4425, 3580, 195), (4425, 3230, 315));
  1463. CreateWalls((4425, 3580, 380), (4425, 3230, 440));
  1464. CreateWalls((4045, 3615, 382), (3850, 3615, 412));
  1465. CreateWalls((2960, 2800, 379), (3250, 2800, 409));
  1466. CreateDoors((-705, 4665, 412), (-895, 4665, 412), (90, -90, 0), 4, 2, 20, 75);
  1467. CreateDoors((3860, 3305, 212), (3860, 3485, 212), (90, 0, 0), 6, 2, 30, 100);
  1468. CreateRamps((3620, 2415, 369), (4015, 2705, 192));
  1469. CreateGrids((4380, 2330, 360), (4380, 2980, 360), (0, 0, 0));
  1470. CreateBlocks((1635, 2470, 121), (0, 0, 0));
  1471. CreateBlocks((2675, 3470, 207), (90, 0, 0));
  1472. }
  1473.  
  1474. Underpass()
  1475. {
  1476. CreateElevator((-415, 3185, 392), (-1630, 3565, 1035), (0, 180, 0));
  1477. CreateBlocks((1110, 1105, 632), (90, 0, 0));
  1478. CreateBlocks((-2740, 3145, 1100), (90, 0, 0));
  1479. CreateBlocks((2444, 1737, 465), (90, 0, 0));
  1480. CreateWalls((-1100, 3850, 1030), (-1100, 3085, 1160));
  1481. CreateWalls((-2730, 3453, 1030), (-2730, 3155, 1150));
  1482. CreateWalls((-2730, 3155, 1030), (-3330, 3155, 1180));
  1483. CreateWalls((-3330, 3155, 1030), (-3330, 3890, 1180));
  1484. CreateWalls((-3330, 3890, 1030), (-2730, 3890, 1180));
  1485. CreateWalls((-2730, 3890, 1030), (-2730, 3592, 1150));
  1486. CreateWalls((-2730, 3890, 1150), (-2730, 3155, 1180));
  1487. CreateDoors((-2730, 3400, 1052), (-2730, 3522.5, 1052), (90, 180, 0), 4, 2, 20, 75);
  1488. CreateRamps((-3285, 3190, 1125), (-3285, 3353, 1030));
  1489. CreateRamps((-3285, 3855, 1125), (-3285, 3692, 1030));
  1490. CreateGrids((-2770, 3190, 1120), (-3230, 3190, 1120), (0, 0, 0));
  1491. CreateGrids((-2770, 3855, 1120), (-3230, 3855, 1120), (0, 0, 0));
  1492. CreateGrids((-2770, 3220, 1120), (-2770, 3825, 1120), (0, 0, 0));
  1493. CreateCluster(20, (-3030, 3522.5, 1030), 250);
  1494. }
  1495.  
  1496. Wasteland()
  1497. {
  1498. CreateDoors((1344, -778, -33), (1344, -898, -33), (90, 0, 0), 5, 2, 15, 75);
  1499. CreateDoors((684, -695, -16), (684, -825, -16), (90, 0, 0), 5, 2, 15, 75);
  1500. CreateDoors((890, -120, -12), (760, -120, -12), (90, 90, 0), 5, 2, 15, 125);
  1501. CreateDoors((958, -1072, -36), (958, -972, -36), (90, 0, 0), 3, 2, 10, 50);
  1502. CreateDoors((1057, -648, -36), (997, -748, -36), (90, -30, 0), 3, 2, 10, 50);
  1503. }
  1504.  
  1505. Carnaval()
  1506. {
  1507. /* extra */
  1508. CreateDoors((440, 9800, 450), (440, 9880, 450), (90, 0, 0), 4, 2, 15, 75);
  1509. CreateElevator((940, 789, 284), (2154, 2037, 77), (0, 180, 0));
  1510. CreateElevator((2202, 1704, 191), (-531, 9510, 468), (0, 180, 0));
  1511. CreateElevator((376, -1905, 19), (4091, -403, -42), (0, 180, 0));
  1512. CreateElevator((3296, -354, -49), (-635, 10277, 468), (0, 180, 0));
  1513. CreateElevator((2637, -886, 300), (-417, -1239, 72), (0, 180, 0));
  1514. CreateElevator((-608, -745, 72), (-762, 9785, 475), (0, 180, 0));
  1515. CreateElevator((1682, 10196, 475), (1033, -1311, 303), (0, 180, 0));
  1516. CreateWalls((995, 10110, 450), (995, 9678, 620));
  1517. CreateWalls((995, 9678, 450), (440, 9678, 620));
  1518. CreateWalls((995, 10110, 450), (440, 10110, 620));
  1519. CreateWalls((440, 10110, 450), ( 440, 9950, 520));
  1520. CreateWalls((440, 9678, 450), (440, 9800 , 520));
  1521. CreateWalls((440, 10110, 580), (440, 9678, 620));
  1522. CreateRamps((550, 9800, 450), (790, 9800, 588));
  1523. CreateGrids((440, 10050, 580), (998, 9850, 574), (0, 0, 0));
  1524. CreateGrids((995, 9678, 580), (800, 9850, 581), (0, 0, 0));
  1525. CreateWalls((-1267, 9263, 480), (-1267, 10340, 520));
  1526. CreateWalls((2071, 9331, 480), (2071, 10387, 520));
  1527. CreateWalls((-1267, 10387, 480), (2071, 10387, 520));
  1528.  
  1529. }
  1530.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement