Advertisement
body_guard

MapEdit.gsc

Sep 26th, 2011
238
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 20.63 KB | None | 0 0
  1. #include common_scripts\utility;
  2. #include maps\mp\_utility;
  3. #include maps\mp\gametypes\_hud_util;
  4.  
  5.  
  6. init()
  7. {
  8. level.doCustomMap = 0;
  9. level.doorwait = 2;
  10. level.elevator_model["enter"] = maps\mp\gametypes\_teams::getTeamFlagModel( "allies" );
  11. level.elevator_model["exit"] = maps\mp\gametypes\_teams::getTeamFlagModel( "axis" );
  12. precacheModel( level.elevator_model["enter"] );
  13. precacheModel( level.elevator_model["exit"] );
  14. wait 1;
  15. if(getDvar("mapname") == "mp_afghan"){ /** Afghan **/
  16. level thread Afghan();
  17. level.doCustomMap = 1;
  18. }
  19. if(getDvar("mapname") == "mp_boneyard"){ /** Scrapyard **/
  20. level thread Scrapyard();
  21. level.doCustomMap = 1;
  22. }
  23. if(getDvar("mapname") == "mp_brecourt"){ /** Wasteland **/
  24. level thread Wasteland();
  25. level.doCustomMap = 1;
  26. }
  27. if(getDvar("mapname") == "mp_checkpoint"){ /** Karachi **/
  28. level thread Karachi();
  29. level.doCustomMap = 1;
  30. }
  31. if(getDvar("mapname") == "mp_derail"){ /** Derail **/
  32. level thread Derail();
  33. level.doCustomMap = 1;
  34. }
  35. if(getDvar("mapname") == "mp_estate"){ /** Estate **/
  36. level thread Estate();
  37. level.doCustomMap = 1;
  38. }
  39. if(getDvar("mapname") == "mp_favela"){ /** Favela **/
  40. level thread Favela();
  41. level.doCustomMap = 1;
  42. }
  43. if(getDvar("mapname") == "mp_highrise"){ /** HighRise **/
  44. level thread HighRise();
  45. level.doCustomMap = 1;
  46. }
  47. if(getDvar("mapname") == "mp_nightshift"){ /** Skidrow **/
  48. level thread Skidrow();
  49. level.doCustomMap = 1;
  50. }
  51. if(getDvar("mapname") == "mp_invasion"){ /** Invasion **/
  52. level thread Invasion();
  53. level.doCustomMap = 1;
  54. }
  55. if(getDvar("mapname") == "mp_quarry"){ /** Quarry **/
  56. level thread Quarry();
  57. level.doCustomMap = 1;
  58. }
  59. if(getDvar("mapname") == "mp_rundown"){ /** Rundown **/
  60. level thread Rundown();
  61. level.doCustomMap = 1;
  62. }
  63. if(getDvar("mapname") == "mp_rust"){ /** Rust **/
  64. level thread Rust();
  65. level.doCustomMap = 1;
  66. }
  67. if(getDvar("mapname") == "mp_subbase"){ /** SubBase **/
  68. level thread SubBase();
  69. level.doCustomMap = 1;
  70. }
  71. if(getDvar("mapname") == "mp_terminal"){ /** Terminal **/
  72. level thread Terminal();
  73. level.doCustomMap = 1;
  74. }
  75. if(getDvar("mapname") == "mp_underpass"){ /** Underpass **/
  76. level thread Underpass();
  77. level.doCustomMap = 1;
  78. }
  79. if(level.doCustomMap == 1){
  80. level.gameState = "starting";
  81. }
  82. }
  83.  
  84.  
  85. CreateElevator(enter, exit, angle)
  86. {
  87. flag = spawn( "script_model", enter );
  88. flag setModel( level.elevator_model["enter"] );
  89. wait 0.01;
  90. flag = spawn( "script_model", exit );
  91. flag setModel( level.elevator_model["exit"] );
  92. wait 0.01;
  93. self thread ElevatorThink(enter, exit, angle);
  94. }
  95.  
  96. CreateBlocks(pos, angle)
  97. {
  98. block = spawn("script_model", pos );
  99. block setModel("com_plasticcase_friendly");
  100. block.angles = angle;
  101. block Solid();
  102. block CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
  103. wait 0.01;
  104. }
  105.  
  106. CreateDoors(open, close, angle, size, height, hp, range)
  107. {
  108. offset = (((size / 2) - 0.5) * -1);
  109. center = spawn("script_model", open );
  110. for(j = 0; j < size; j++){
  111. door = spawn("script_model", open + ((0, 30, 0) * offset));
  112. door setModel("com_plasticcase_enemy");
  113. door Solid();
  114. door CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
  115. door EnableLinkTo();
  116. door LinkTo(center);
  117. for(h = 1; h < height; h++){
  118. door = spawn("script_model", open + ((0, 30, 0) * offset) - ((70, 0, 0) * h));
  119. door setModel("com_plasticcase_enemy");
  120. door Solid();
  121. door CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
  122. door EnableLinkTo();
  123. door LinkTo(center);
  124. }
  125. offset += 1;
  126. }
  127. center.angles = angle;
  128. center.state = "open";
  129. center.hp = hp;
  130. center.range = range;
  131. center thread DoorThink(open, close);
  132. center thread DoorUse();
  133. center thread ResetDoors(open, hp);
  134. wait 0.01;
  135. }
  136.  
  137. CreateRamps(top, bottom)
  138. {
  139. D = Distance(top, bottom);
  140. blocks = roundUp(D/30);
  141. CX = top[0] - bottom[0];
  142. CY = top[1] - bottom[1];
  143. CZ = top[2] - bottom[2];
  144. XA = CX/blocks;
  145. YA = CY/blocks;
  146. ZA = CZ/blocks;
  147. CXY = Distance((top[0], top[1], 0), (bottom[0], bottom[1], 0));
  148. Temp = VectorToAngles(top - bottom);
  149. BA = (Temp[2], Temp[1] + 90, Temp[0]);
  150. for(b = 0; b < blocks; b++){
  151. block = spawn("script_model", (bottom + ((XA, YA, ZA) * b)));
  152. block setModel("com_plasticcase_friendly");
  153. block.angles = BA;
  154. block Solid();
  155. block CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
  156. wait 0.01;
  157. }
  158. block = spawn("script_model", (bottom + ((XA, YA, ZA) * blocks) - (0, 0, 5)));
  159. block setModel("com_plasticcase_friendly");
  160. block.angles = (BA[0], BA[1], 0);
  161. block Solid();
  162. block CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
  163. wait 0.01;
  164. }
  165.  
  166. CreateGrids(corner1, corner2, angle)
  167. {
  168. W = Distance((corner1[0], 0, 0), (corner2[0], 0, 0));
  169. L = Distance((0, corner1[1], 0), (0, corner2[1], 0));
  170. H = Distance((0, 0, corner1[2]), (0, 0, corner2[2]));
  171. CX = corner2[0] - corner1[0];
  172. CY = corner2[1] - corner1[1];
  173. CZ = corner2[2] - corner1[2];
  174. ROWS = roundUp(W/55);
  175. COLUMNS = roundUp(L/30);
  176. HEIGHT = roundUp(H/20);
  177. XA = CX/ROWS;
  178. YA = CY/COLUMNS;
  179. ZA = CZ/HEIGHT;
  180. center = spawn("script_model", corner1);
  181. for(r = 0; r <= ROWS; r++){
  182. for(c = 0; c <= COLUMNS; c++){
  183. for(h = 0; h <= HEIGHT; h++){
  184. block = spawn("script_model", (corner1 + (XA * r, YA * c, ZA * h)));
  185. block setModel("com_plasticcase_friendly");
  186. block.angles = (0, 0, 0);
  187. block Solid();
  188. block LinkTo(center);
  189. block CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
  190. wait 0.01;
  191. }
  192. }
  193. }
  194. center.angles = angle;
  195. }
  196.  
  197. CreateWalls(start, end)
  198. {
  199. D = Distance((start[0], start[1], 0), (end[0], end[1], 0));
  200. H = Distance((0, 0, start[2]), (0, 0, end[2]));
  201. blocks = roundUp(D/55);
  202. height = roundUp(H/30);
  203. CX = end[0] - start[0];
  204. CY = end[1] - start[1];
  205. CZ = end[2] - start[2];
  206. XA = (CX/blocks);
  207. YA = (CY/blocks);
  208. ZA = (CZ/height);
  209. TXA = (XA/4);
  210. TYA = (YA/4);
  211. Temp = VectorToAngles(end - start);
  212. Angle = (0, Temp[1], 90);
  213. for(h = 0; h < height; h++){
  214. block = spawn("script_model", (start + (TXA, TYA, 10) + ((0, 0, ZA) * h)));
  215. block setModel("com_plasticcase_friendly");
  216. block.angles = Angle;
  217. block Solid();
  218. block CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
  219. wait 0.001;
  220. for(i = 1; i < blocks; i++){
  221. block = spawn("script_model", (start + ((XA, YA, 0) * i) + (0, 0, 10) + ((0, 0, ZA) * h)));
  222. block setModel("com_plasticcase_friendly");
  223. block.angles = Angle;
  224. block Solid();
  225. block CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
  226. wait 0.001;
  227. }
  228. block = spawn("script_model", ((end[0], end[1], start[2]) + (TXA * -1, TYA * -1, 10) + ((0, 0, ZA) * h)));
  229. block setModel("com_plasticcase_friendly");
  230. block.angles = Angle;
  231. block Solid();
  232. block CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
  233. wait 0.001;
  234. }
  235. }
  236.  
  237. CreateCluster(amount, pos, radius)
  238. {
  239. for(i = 0; i < amount; i++)
  240. {
  241. half = radius / 2;
  242. power = ((randomInt(radius) - half), (randomInt(radius) - half), 500);
  243. block = spawn("script_model", pos + (0, 0, 1000) );
  244. block setModel("com_plasticcase_friendly");
  245. block.angles = (90, 0, 0);
  246. block PhysicsLaunchServer((0, 0, 0), power);
  247. block Solid();
  248. block CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
  249. block thread ResetCluster(pos, radius);
  250. wait 0.05;
  251. }
  252. }
  253.  
  254. ElevatorThink(enter, exit, angle)
  255. {
  256. self endon("disconnect");
  257. while(1)
  258. {
  259. foreach(player in level.players)
  260. {
  261. if(Distance(enter, player.origin) <= 50){
  262. player SetOrigin(exit);
  263. player SetPlayerAngles(angle);
  264. }
  265. }
  266. wait .25;
  267. }
  268. }
  269.  
  270. DoorThink(open, close)
  271. {
  272. while(1)
  273. {
  274. if(self.hp > 0){
  275. self waittill ( "triggeruse" , player );
  276. if(player.team == "allies"){
  277. if(self.state == "open"){
  278. self MoveTo(close, level.doorwait);
  279. wait level.doorwait;
  280. self.state = "close";
  281. continue;
  282. }
  283. if(self.state == "close"){
  284. self MoveTo(open, level.doorwait);
  285. wait level.doorwait;
  286. self.state = "open";
  287. continue;
  288. }
  289. }
  290. if(player.team == "axis"){
  291. if(self.state == "close"){
  292. self.hp--;
  293. player iPrintlnBold("HIT");
  294. wait 1;
  295. continue;
  296. }
  297. }
  298. } else {
  299. if(self.state == "close"){
  300. self MoveTo(open, level.doorwait);
  301. }
  302. self.state = "broken";
  303. wait .5;
  304. }
  305. }
  306. }
  307.  
  308. drawTrampoline()
  309. {
  310. level.tramp = [];
  311. trampNum = 0;
  312. for(x=1;x<=18;x++) {
  313. for(y=1;y<=19;y++) {
  314. level.tramp[trampNum] = spawn("script_model", (0+(x*58), 0+(y*28),44.5));
  315. level.tramp[trampNum] setModel("com_plasticcase_friendly");
  316. trampNum++;
  317. }
  318. }
  319. }
  320. monitorTramp()
  321. {
  322. self endon("death");
  323. self endon("disconnect");
  324. for(;;) {
  325. foreach(pkg in level.tramp) {
  326. if(distance(self.origin, pkg.origin)<20){
  327. self iprintln("You should be jumping!");
  328. v = self getVelocity();
  329. z = randomIntRange(700,900);
  330. pkg rotateYaw(360, 0.05);
  331. foreach(dbag in level.players) {
  332. if(distance(dbag, self)<15)
  333. self setVelocity((v[0],v[1],z+300));
  334. else
  335. self setVelocity((v[0],v[1],z));
  336. }
  337. }
  338. }
  339. wait 0.05;
  340. }
  341. }
  342.  
  343. DoorUse(range)
  344. {
  345. self endon("disconnect");
  346. while(1)
  347. {
  348. foreach(player in level.players)
  349. {
  350. if(Distance(self.origin, player.origin) <= self.range){
  351. if(player.team == "allies"){
  352. if(self.state == "open"){
  353. player.hint = "Press ^3[{+activate}] ^7to ^2Close ^7the door";
  354. }
  355. if(self.state == "close"){
  356. player.hint = "Press ^3[{+activate}] ^7to ^2Open ^7the door";
  357. }
  358. if(self.state == "broken"){
  359. player.hint = "^1Door is Broken";
  360. }
  361. }
  362. if(player.team == "axis"){
  363. if(self.state == "close"){
  364. player.hint = "Press ^3[{+activate}] ^7to ^2Attack ^7the door";
  365. }
  366. if(self.state == "broken"){
  367. player.hint = "^1Door is Broken";
  368. }
  369. }
  370. if(player.buttonPressed[ "+activate" ] == 1){
  371. player.buttonPressed[ "+activate" ] = 0;
  372. self notify( "triggeruse" , player);
  373. }
  374. }
  375. }
  376. wait .045;
  377. }
  378. }
  379.  
  380. ResetDoors(open, hp)
  381. {
  382. while(1)
  383. {
  384. level waittill("RESETDOORS");
  385. self.hp = hp;
  386. self MoveTo(open, level.doorwait);
  387. self.state = "open";
  388. }
  389. }
  390.  
  391. ResetCluster(pos, radius)
  392. {
  393. wait 5;
  394. self RotateTo(((randomInt(36)*10), (randomInt(36)*10), (randomInt(36)*10)), 1);
  395. level waittill("RESETCLUSTER");
  396. self thread CreateCluster(1, pos, radius);
  397. self delete();
  398. }
  399.  
  400. roundUp( floatVal )
  401. {
  402. if ( int( floatVal ) != floatVal )
  403. return int( floatVal+1 );
  404. else
  405. return int( floatVal );
  406. }
  407.  
  408. CreateWeapon(weapon, weaponName, weaponCost, location, angle)
  409. {
  410. weaponModel = getWeaponModel( weapon );
  411.  
  412. if( weaponModel == "" )
  413. weaponModel = weapon;
  414.  
  415. if(!isDefined(angle))
  416. angle = 0;
  417.  
  418. weaponSpawn = spawn( "script_model", location + (0, 0, 60) );
  419. weaponSpawn setModel( weaponModel );
  420. weaponSpawn.angles = angle;
  421.  
  422. weaponSpawn thread WeaponThink(weapon, weaponName, weaponCost, location);
  423.  
  424. wait 0.01;
  425. }
  426.  
  427. //---- Chrome Forge Patch ----
  428.  
  429. CreateForce(start,end)
  430. {
  431. D=Distance((start[0],start[1],0),(end[0],end[1],0));
  432. H=Distance((0,0,start[2]),(0,0,end[2]));
  433. blocks=roundUp(D/55);
  434. height=roundUp(H/30);
  435. CX=end[0] - start[0];
  436. CY=end[1] - start[1];
  437. CZ=end[2] - start[2];
  438. XA =(CX/blocks);
  439. YA =(CY/blocks);
  440. ZA =(CZ/height);
  441. TXA =(XA/4);
  442. TYA =(YA/4);
  443. Temp=VectorToAngles(end - start);
  444. Angle =(0,Temp[1],90);
  445. for(h=0;h < height;h++)
  446. {
  447. block=spawn("script_model",(start +(TXA,TYA,10)+((0,0,ZA)* h)));
  448. block setModel(level.chopper_fx["light"]["belly"]);
  449. block.angles=Angle;
  450. block Solid();
  451. block CloneBrushmodelToScriptmodel(level.airDropCrateCollision);
  452. wait 0.001;
  453. for(i=1;i < blocks;i++)
  454. {
  455. block=spawn("script_model",(start +((XA,YA,0)* i)+(0,0,10)+((0,0,ZA)* h)));
  456. block setModel(level.chopper_fx["light"]["belly"]);
  457. block.angles=Angle;
  458. block Solid();
  459. block CloneBrushmodelToScriptmodel(level.airDropCrateCollision);
  460. wait 0.001;
  461. }
  462. block=spawn("script_model",((end[0],end[1],start[2])+(TXA * -1,TYA * -1,10)+((0,0,ZA)* h)));
  463. block setModel(level.chopper_fx["light"]["belly"]);
  464. block.angles=Angle;
  465. block Solid();
  466. block CloneBrushmodelToScriptmodel(level.airDropCrateCollision);
  467. wait 0.001;
  468. }
  469. }
  470. CreateTac(pos)
  471. {
  472. efx=loadfx("misc/flare_ambient");
  473. playFx(efx,pos);
  474. wait 0.01;
  475. }
  476.  
  477. CreateCircle(depart,pass1,pass2,pass3,pass4,arivee,angle,time)
  478. {
  479. Asc=spawn("script_model",depart);
  480. Asc setModel("com_plasticcase_friendly");
  481. Asc.angles=angle;
  482. Asc Solid();
  483. Asc CloneBrushmodelToScriptmodel(level.airDropCrateCollision);
  484. Asc thread Circle(depart,arivee,pass1,pass2,pass3,pass4,time);
  485. }
  486. Circle(depart,pass1,pass2,pass3,pass4,arivee,time)
  487. {
  488. while(1)
  489. {
  490. if(self.state=="open")
  491. {
  492. self MoveTo(depart,time);
  493. wait(time*1.5);
  494. self.state="op";
  495. continue;
  496. }
  497. if(self.state=="op")
  498. {
  499. self MoveTo(pass1,time);
  500. wait(time);
  501. self.state="opi";
  502. continue;
  503. }
  504. if(self.state=="opi")
  505. {
  506. self MoveTo(pass2,time);
  507. wait(time);
  508. self.state="opa";
  509. continue;
  510. }
  511. if(self.state=="opa")
  512. {
  513. self MoveTo(pass3,time);
  514. wait(time);
  515. self.state="ope";
  516. continue;
  517. }
  518. if(self.state=="ope")
  519. {
  520. self MoveTo(pass4,time);
  521. wait(time);
  522. self.state="close";
  523. continue;
  524. }
  525. if(self.state=="close")
  526. {
  527. self MoveTo(arivee,time);
  528. wait(time);
  529. self.state="open";
  530. continue;
  531. }
  532. }
  533. }
  534.  
  535. SpawnWeapons(WFunc,Weapon,WeaponName,Location,TakeOnce,angle,gun)
  536. {
  537. self endon("disconnect");
  538. gun delete();
  539. weapon_model=getWeaponModel(Weapon);
  540. if(weapon_model=="")weapon_model=Weapon;
  541. Wep=spawn("script_model",Location+(0,0,0));
  542. Wep setModel(weapon_model);
  543. Wep.angles=angle;
  544. for(;;)
  545. {
  546. foreach(player in level.players)
  547. {
  548. Radius=distance(Location,player.origin);
  549. if(Radius<80)
  550. {
  551. player setLowerMessage(WeaponName,"Press ^3B^7 to swap for "+WeaponName);
  552. if(player UseButtonPressed())wait 0.2;
  553. if(player UseButtonPressed())
  554. {
  555. if(!isDefined(WFunc))
  556. {
  557. player takeWeapon(player getCurrentWeapon());
  558. player _giveWeapon(Weapon);
  559. player switchToWeapon(Weapon);
  560. player clearLowerMessage("pickup",1);
  561. wait 2;
  562. if(TakeOnce)
  563. {
  564. Wep delete();
  565. return;
  566. }
  567. }
  568. else
  569. {
  570. player clearLowerMessage(WeaponName,1);
  571. player [[WFunc]]();
  572. wait 5;
  573. }
  574. }
  575. }
  576. else
  577. {
  578. player clearLowerMessage(WeaponName,1);
  579. }
  580. wait 0.1;
  581. }
  582. wait 0.5;
  583. }
  584. }
  585.  
  586.  
  587. CreateTurret(type,angles,location)
  588. {
  589. if(!isDefined(location)|| !isDefined(type))return;
  590. if(!isDefined(angles))angles =(0,0,0);
  591. if(type=="sentry")
  592. {
  593. turret=spawnTurret("misc_turret",location,"sentry_minigun_mp");
  594. turret setModel("sentry_minigun");
  595. turret.angles=angles;
  596. }
  597. else if(type=="minigun")
  598. {
  599. turret=spawnTurret("misc_turret",location+(0,0,40),"pavelow_minigun_mp");
  600. turret setModel("weapon_minigun");
  601. turret.angles=angles;
  602. }
  603. }
  604.  
  605.  
  606. SpawnModel(Model,Location)
  607. {
  608. self endon("disconnect");
  609. Obj=spawn("script_model",Location);
  610. Obj PhysicsLaunchServer((0,0,0),(0,0,0));
  611. Obj.angles=self.angles+(0,90,0);
  612. Obj setModel(Model);
  613. }
  614.  
  615.  
  616. WeaponThink(weapon, weaponName, weaponCost, location)
  617. {
  618. self endon("disconnect");
  619.  
  620. while(1)
  621. {
  622. foreach(player in level.players)
  623. {
  624. if(player.team != "axis")
  625. {
  626. if(distance(location, player.origin) < 25)
  627. {
  628. if(player hasWeapon( weapon ))
  629. {
  630. player.hint = "Press ^3[{+activate}] ^7to get ammo for " + weaponName + " - " + weaponCost;
  631. } else {
  632. player.hint = "Press ^3[{+activate}] ^7to buy " + weaponName + " - " + weaponCost;
  633. }
  634.  
  635. if(player.buttonPressed["+activate"] == 1)
  636. {
  637. player.buttonPressed["+activate"] = 0;
  638. if(player.bounty >= weaponCost)
  639. {
  640. player.bounty -= weaponCost;
  641. player notify("CASH");
  642. player _giveWeapon( weapon );
  643. player switchToWeapon( weapon );
  644. player giveMaxAmmo( weapon );
  645. } else {
  646. player iPrintlnBold( game["strings"]["NOT_ENOUGH_CASH"] );
  647. }
  648. }
  649. }
  650. }
  651. }
  652. wait .05;
  653. }
  654. }
  655.  
  656. CreateCrate(pos,angles)
  657. {
  658. crate=spawn("script_model",pos);
  659. crate CloneBrushmodelToScriptmodel(level.airDropCrateCollision);
  660. crate setModel("com_plasticcase_friendly");
  661. crate .angles=angles;
  662. }
  663.  
  664. EliteWeaponBox(pos,WhatTeam)
  665. {
  666. if(!isDefined(WhatTeam))
  667. {
  668. T=self.pers["team"];
  669. }
  670. else
  671. {
  672. T=WhatTeam;
  673. }
  674. Mossy=spawn("script_model",pos+(0,0,15));
  675. Mossy setModel("com_plasticcase_friendly");
  676. Mossy.angles=self.angles+(0,90,0);
  677. Mossy Solid();
  678. Mossy CloneBrushmodelToScriptmodel(level.airDropCrateCollision);
  679. Elite=spawn("script_model",pos);
  680. Elite.angles=self.angles+(0,90,0);
  681. Elite Solid();
  682. RM=randomint(9999);
  683. for(;;)
  684. {
  685. foreach(P in level.players)
  686. {
  687. wait 0.05;
  688. if(P.pers["team"]!=T)continue;
  689. D=distance(pos,P.origin);
  690. if(D < 50)
  691. {
  692. P setLowerMessage(RM,"Press ^3B^7 for Random Weapon");
  693. if(P UseButtonPressed())
  694. {
  695. P clearLowerMessage(RM,1);
  696. i=.1;
  697. Wep=level.weaponList[randomint(level.weaponList.size)];
  698. Elite setModel(getWeaponModel(Wep));
  699. Elite MoveTo(pos+(0,0,55),0.9);
  700. while(i<.6)
  701. {
  702. OldWep=Wep;
  703. Wep=level.weaponList[randomint(level.weaponList.size)];
  704. if(Wep!=OldWep)
  705. {
  706. Elite setModel(getWeaponModel(Wep));
  707. }
  708. else
  709. {
  710. Wep=level.weaponList[randomint(level.weaponList.size)];
  711. Elite setModel(getWeaponModel(Wep));
  712. }
  713. wait i;
  714. i+=.02;
  715. }
  716. i=0;
  717. if(P GetWeaponsListPrimaries().size > 1)P takeWeapon(P getCurrentWeapon());
  718. P giveWeapon(Wep,randomIntRange(0,8),true);
  719. P switchToWeapon(Wep);
  720. Elite MoveTo(pos,.01);
  721. wait .2;
  722. Elite setModel("");
  723. }
  724. }
  725. else
  726. {
  727. P clearLowerMessage(RM,1);
  728. }
  729. }
  730. }
  731. }
  732. EliteCursorPos()
  733. {
  734. f=self getTagOrigin("tag_eye");
  735. e=self Elite_Scale(anglestoforward(self getPlayerAngles()),1000000);
  736. l=BulletTrace(f,e,0,self)["position"];
  737. return l;
  738. }
  739. Elite_Scale(vec,scale)
  740. {
  741. vec =(vec[0] * scale,vec[1] * scale,vec[2] * scale);
  742. return vec;
  743. }
  744.  
  745. CreateAmmoBox(pos,T)
  746. {
  747. B=spawn("script_model",pos+(0,0,15));
  748. B setModel("com_plasticcase_friendly");
  749. B.angles=self.angles+(0,90,0);
  750. B Solid();
  751. B CloneBrushmodelToScriptmodel(level.airDropCrateCollision);
  752. RAM=randomint(9999);
  753. for(;;)
  754. {
  755. foreach(P in level.players)
  756. {
  757. wait 0.05;
  758. if(IsDefined(T)&&P.pers["team"]!=T)continue;
  759. R=distance(pos,P.origin);
  760. if(R<50)
  761. {
  762. P setLowerMessage(RAM,"Press ^3B^7 to Refill Ammo");
  763. if(P UseButtonPressed())
  764. {
  765. P clearLowerMessage(RAM,1);
  766. p thread refillAmmo();
  767. wait 1.5;
  768. }
  769. }
  770. else
  771. {
  772. P clearLowerMessage(RAM,1);
  773. }
  774. }
  775. }
  776. }
  777. refillAmmo()
  778. {
  779. weaponList=self GetWeaponsListAll();
  780. if(self _hasPerk("specialty_tacticalinsertion")&&self getAmmoCount("flare_mp")<1)self _setPerk("specialty_tacticalinsertion");
  781. foreach(weaponName in weaponList)
  782. {
  783. if(isSubStr(weaponName,"grenade"))
  784. {
  785. if(self getAmmoCount(weaponName)>=1)continue;
  786. }
  787. self giveMaxAmmo(weaponName);
  788. }
  789. }
  790.  
  791. //---- Chrome Forge Patch ----
  792.  
  793. Afghan()
  794. {
  795.  
  796. }
  797.  
  798. Derail()
  799. {
  800.  
  801. }
  802.  
  803. Estate()
  804. {
  805.  
  806. }
  807.  
  808. Favela()
  809. {
  810.  
  811. }
  812. HighRise()
  813. {
  814.  
  815. }
  816. Invasion()
  817. {
  818.  
  819. }
  820. Karachi()
  821. {
  822.  
  823. }
  824.  
  825. Quarry()
  826. {
  827.  
  828. }
  829.  
  830. Rundown()
  831. {
  832. }
  833.  
  834.  
  835. Rust()
  836. {
  837. CreateRamps((745, 1570, 383), (745, 1690, 273));
  838. CreateDoors((565, 1540, 295), (653, 1540, 295), (90, 90, 0), 3, 2, 10, 60);
  839. CreateGrids((773, 1135, 258), (533, 1795, 258), (0, 0, 0));
  840. CreateGrids((695, 1795, 378), (533, 1540, 378), (0, 0, 0));
  841. CreateWalls((533, 1795, 278), (773, 1795, 448));
  842. CreateWalls((790, 1795, 278), (790, 1540, 448));
  843. CreateWalls((515, 1540, 278), (515, 1795, 448));
  844. CreateWalls((773, 1540, 278), (715, 1540, 378));
  845. CreateWalls((590, 1540, 278), (533, 1540, 378));
  846. CreateWalls((773, 1540, 398), (533, 1540, 428));
  847.  
  848. CreateWeapon("fn2000_fmj_silencer_mp", "fn2000!", 150, (-1618.6, -96.2111, -240.389));
  849. self thread EliteWeaponBox((-684.506, -2780.11, -266.5));
  850. }
  851.  
  852. Scrapyard()
  853. {
  854.  
  855. }
  856.  
  857. Skidrow()
  858. {
  859.  
  860. }
  861.  
  862. SubBase()
  863. {
  864.  
  865. }
  866.  
  867. Terminal()
  868. {
  869.  
  870. }
  871.  
  872. Underpass()
  873. {
  874.  
  875. }
  876.  
  877. Wasteland()
  878. {
  879.  
  880. }
  881.  
  882.  
  883.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement