Advertisement
BaSs_HaXoR

BO2 GSC Managed Code List

Sep 14th, 2014
6,871
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 30.60 KB | None | 0 0
  1. /*Hey heres a managed code list of GSC Codes from BO2
  2. Source: http://adf.ly/s3c96
  3.  
  4. //Pastebins
  5. //Spoiler:
  6.  
  7. /*
  8. Weapon List:
  9. Multiplayer http://adf.ly/s3bzB
  10. Zombies http://adf.ly/s3c0o
  11.  
  12. Model List:
  13. Models http://adf.ly/s3c1h
  14.  
  15. Some Materials and Vehicles
  16. Materials http://adf.ly/s3c3E
  17. Vehicles http://adf.ly/s3c4O
  18.  
  19. Visions and Turrets:
  20. Visions http://adf.ly/s3c59
  21. Turrets http://adf.ly/s3c5t
  22.  
  23. Sound and Dvars:
  24. Dvars http://adf.ly/s3c6J
  25. Sounds http://adf.ly/s3c6p
  26. */
  27.  
  28. //Button Codes
  29. //Spoiler:
  30.  
  31. //Code:
  32.  
  33. if(self sprintbuttonpressed()) self iprintln("SPRINT");
  34. if(self inventorybuttonpressed()) self iprintln("INVENTORY");
  35. if(self secondaryoffhandbuttonpressed()) self iprintln("SECONDARY OFFHAND");
  36. if(self fragbuttonpressed()) self iprintln("FRAG");
  37. if(self stancebuttonpressed()) self iprintln("STANCE");
  38. if(self jumpbuttonpressed()) self iprintln("JUMP");
  39. if(self meleebuttonpressed()) self iprintln("MELEE");
  40. if(self throwbuttonpressed()) self iprintln("THROW");
  41. if(self adsbuttonpressed()) self iprintln("ADS");
  42. if(self actionslotfourbuttonpressed()) self iprintln("ACTION SLOT FOUR");
  43. if(self actionslotthreebuttonpressed()) self iprintln("ACTION SLOT THREE");
  44. if(self actionslottwobuttonpressed()) self iprintln("ACTION SLOT TWO");
  45. if(self actionslotonebuttonpressed()) self iprintln("ACTION SLOT ONE");
  46. if(self attackbuttonpressed()) self iprintln("ATTACK");
  47. if(self changeseatbuttonpressed()) self iprintln("CHANGE SEAT");
  48. if(self usebuttonpressed()) self iprintln("USE");
  49.  
  50.  
  51.  
  52. //Infinite Ammo
  53. //Spoiler:
  54.  
  55. //Code:
  56.  
  57. //Call like
  58. //self thread unlimited_ammo();
  59.  
  60. unlimited_ammo(  )
  61. {
  62.     self endon( "disconnect" );
  63.     self endon( "death" );
  64.  
  65.     for(;;)
  66.     {
  67.         wait 0.1;
  68.  
  69.         currentWeapon = self getcurrentweapon();
  70.         if ( currentWeapon != "none" )
  71.         {
  72.             self setweaponammoclip( currentWeapon, weaponclipsize(currentWeapon) );
  73.             self givemaxammo( currentWeapon );
  74.         }
  75.  
  76.         currentoffhand = self getcurrentoffhand();
  77.         if ( currentoffhand != "none" )
  78.             self givemaxammo( currentoffhand );
  79.     }
  80. }
  81.  
  82.  
  83.  
  84. //God Mode
  85. //Spoiler:
  86.  
  87. //Code:
  88.  
  89. self enableInvulnerability();     // On
  90. self disableInvulnerability();     // Off
  91.  
  92.  
  93.  
  94. //Weapon Assets
  95. //Spoiler:
  96.  
  97. //Code:
  98.  
  99. weaponfiretime(weapon);
  100. weaponreloadtime(weapon);
  101. isweaponcliponly(weapon);
  102. isweapondetonationtimed(weapon);
  103. weaponclipsize(weapon);
  104. weaponfuellife(weapon);
  105. weaponissemiauto(weapon);
  106. weaponisboltaction(weapon);
  107. weaponisgasweapon(weapon);
  108. weapontype(weapon);
  109. weaponclass(weapon);
  110. weaponmoutable(weapon);
  111. weaponinventorytype(weapon);
  112. weaponstartammo(weapon);
  113. weaponmaxammo(weapon);
  114. weaponaltweaponname(weapon);
  115. weaponduelwieldweaponname(weapon);
  116. weaponisduelwield(weapon);
  117. getweaponmindamagerange(weapon);
  118. getweaponmaxdamagerange(weapon);
  119. getweaponmindamage(weapon);
  120. getweaponmaxdamage(weapon);
  121. getweaponfusetime(weapon);
  122. getweaponexplosionradius(weapon);
  123. getweaponprojexplosionsound(weapon);
  124. isweaponspecificuse(weapon);
  125. isweapondisallowedatmatchstart(weapon);
  126. isweaponscopeoverlay(weapon);
  127. isweaponequipment(weapon);
  128. isweaponprimary(weapon);
  129. getweaponfiresound(weapon_index);
  130. getweaponfiresoundplayer(weapon_index);
  131. getweaponpickupsoundplayer(weapon_index);
  132. getweaponpickupsound(weapon_index);
  133. getweaponindexfromname(weapon);
  134. getweapondisplayname(weapon);
  135.  
  136.  
  137.  
  138. //Simple Welcome (2 Textlines, 1 Icon)
  139. //Spoiler:
  140.  
  141. //Code:
  142.  
  143. WelcomeMessage(text, text1, icon, glow)
  144. {
  145.     hmb=spawnstruct();
  146.     hmb.titleText=text;
  147.     hmb.notifyText=text1;
  148.     hmb.iconName=icon;
  149.     hmb.glowColor=glow;
  150.     hmb.hideWhenInMenu=true;
  151.     hmb.archived=false;
  152.     self thread maps\mp\gametypes\_hud_message::notifyMessage(hmb);
  153. }
  154.  
  155.  
  156.  
  157. //Spawn Weapon Projectile
  158. //Spoiler:
  159.  
  160. //Code:
  161.  
  162. <rocket_entity> = MagicBullet( <weaponBulletToSpawn>, <startOrigin>, <endOrigin>, <owner> );
  163.  
  164.  
  165.  
  166. //Randoms and Math Functions
  167. //Spoiler:
  168.  
  169. //Code:
  170.  
  171. randomint(max);
  172. randomfloat(max);
  173. randomintrange(min,max);
  174. randomfloatrange(min,max);
  175. sin(theta);
  176. cos(theta);
  177. tan(theta);
  178. asin(theta);
  179. acos(theta);
  180. atan(theta);
  181. int(value);// ToInt
  182. float(value);// ToFloat
  183. istring(value); //ToString
  184. min(val1, val2);
  185. max(val1, val2);
  186. floor(value);//Round down
  187. ceil(value); //Round up
  188. sqrt(value);
  189. pow(value, exp);
  190. distance(start, end);
  191. distance2D(start, end);
  192. distanceSquared(start, end); //Comparing a^2 to b is much faster than a to sqrt(b)
  193. distance2DSquared(start, end);
  194. length(vector);
  195. lengthSquared(vector);
  196. closer(start, trueIfCloser, falseIfCloser);
  197. vectordot(vec1, vec2);
  198. vectorcross(vec1, vec2);
  199. vectornormalize(vector);
  200.  
  201.  
  202.  
  203. //Type Identifiers
  204. //Spoiler:
  205.  
  206. //Code:
  207.  
  208. isstring(obj);
  209. isint(obj);
  210. isfloat(obj);
  211. isvec(obj);
  212. isarray(obj);
  213. isalive(obj);
  214. isspawner(obj);
  215. isplayer(obj);
  216. isai(obj);
  217. issentient(obj);
  218. isvehicle(obj);
  219.  
  220.  
  221.  
  222. //System Check
  223. //Spoiler:
  224.  
  225. //Code:
  226.  
  227. is_ps3();
  228. is_xenon();
  229. is_pc();
  230. is_wiiu();
  231.  
  232.  
  233.  
  234. //Game Session Settings
  235. //Spoiler:
  236.  
  237. //Code:
  238.  
  239. sessionmodeisonlinegame();
  240. sessionmodeisprivateonlinegame();
  241. sessionmodeisprivate();
  242. sessionmodeissystemlink();
  243. sessionmodeiszombiesgame();
  244. gamemodeismode(gamemode);
  245. gamemodeisusingxp();
  246. gamemodeisusingstats();
  247. getgametypesetting(setting);
  248. setgametypesetting(setting, value)
  249.  
  250.  
  251.  
  252. //Map Change
  253. //Spoiler:
  254.  
  255. //Code:
  256.  
  257. map( <mapName>, <boolKeepCurrentSettings> );
  258.  
  259.  
  260.  
  261. //Map Restart
  262. //Spoiler:
  263.  
  264. //Code:
  265.  
  266. map_restart( <boolKeepCurrentSettings> );
  267.  
  268.  
  269.  
  270. //iPrintln's
  271. //Spoiler:
  272.  
  273. //Code:
  274.  
  275. self iprintln("Text");
  276. self iprintlnbold("Text");
  277.  
  278.  
  279.  
  280. //Simple Typewriter
  281. //Spoiler:
  282.  
  283. //Code:
  284.  
  285. self thread maps\mp\gametypes\_hud_message::hintMessage("Text", floatDuration);
  286.  
  287.  
  288.  
  289. //Client Codes
  290. //Spoiler:
  291.  
  292. //Code:
  293.  
  294. self isthrowinggrenade();
  295. self forcegrenadethrow();
  296. self isfiring();
  297. self ismeleeing();
  298. self isswitchingweapons();
  299. self isreloading();
  300. self takeallweapons();
  301. self getcurrentweapon();
  302. self getcurrentweaponaltweapon();
  303. self isweaponoverheating(<bool_heat>, <weapon_name>);//Both Optional Arguments
  304. self setweaponoverheating(heatValue, overheatValue, <optional_weapon_name>);
  305. self getcurrentoffhand();
  306. self isusingoffhand();
  307. self hasweapon("weapon_name");
  308.  
  309.  
  310.  
  311. //Unlock Achievements
  312. //Spoiler:
  313.  
  314. //Code:
  315.  
  316. unlockAllCheevos()
  317. {
  318.    cheevoList = strtok("SP_COMPLETE_ANGOLA,SP_COMPLETE_MONSOON,SP_COMPLETE_AFGHANISTAN,SP_COMPLETE_NICARAGUA,SP_COMPLETE_****STAN,SP_COMPLETE_KARMA,SP_COMPLETE_PANAMA,SP_COMPLETE_YEMEN,SP_COMPLETE_BLACKOUT,SP_COMPLETE_LA,SP_COMPLETE_HAITI,SP_VETERAN_PAST,SP_VETERAN_FUTURE,SP_ONE_CHALLENGE,SP_ALL_CHALLENGES_IN_LEVEL,SP_ALL_CHALLENGES_IN_GAME,SP_RTS_DOCKSIDE,SP_RTS_AFGHANISTAN,SP_RTS_DRONE,SP_RTS_CARRIER,SP_RTS_****STAN,SP_RTS_SOCOTRA,SP_STORY_MASON_LIVES,SP_STORY_HARPER_FACE,SP_STORY_FARID_DUEL,SP_STORY_OBAMA_SURVIVES,SP_STORY_LINK_CIA,SP_STORY_HARPER_LIVES,SP_STORY_MENENDEZ_CAPTURED,SP_MISC_ALL_INTEL,SP_STORY_CHLOE_LIVES,SP_STORY_99PERCENT,SP_MISC_WEAPONS,SP_BACK_TO_FUTURE,SP_MISC_10K_SCORE_ALL,MP_MISC_1,MP_MISC_2,MP_MISC_3,MP_MISC_4,MP_MISC_5,ZM_DONT_FIRE_UNTIL_YOU_SEE,ZM_THE_LIGHTS_OF_THEIR_EYES,ZM_DANCE_ON_MY_GRAVE,ZM_STANDARD_EQUIPMENT_MAY_VARY,ZM_YOU_HAVE_NO_POWER_OVER_ME,ZM_I_DONT_THINK_THEY_EXIST,ZM_FUEL_EFFICIENT,ZM_HAPPY_HOUR,ZM_TRANSIT_SIDEQUEST,ZM_UNDEAD_MANS_PARTY_BUS,ZM_DLC1_HIGHRISE_SIDEQUEST,ZM_DLC1_VERTIGONER,ZM_DLC1_I_SEE_LIVE_PEOPLE,ZM_DLC1_SLIPPERY_WHEN_UNDEAD,ZM_DLC1_FACING_THE_DRAGON,ZM_DLC1_IM_MY_OWN_BEST_FRIEND,ZM_DLC1_MAD_WITHOUT_POWER,ZM_DLC1_POLYARMORY,ZM_DLC1_SHAFTED,ZM_DLC1_MONKEY_SEE_MONKEY_DOOM,ZM_DLC2_PRISON_SIDEQUEST,ZM_DLC2_FEED_THE_BEAST,ZM_DLC2_MAKING_THE_ROUNDS,ZM_DLC2_ACID_DRIP,ZM_DLC2_FULL_LOCKDOWN,ZM_DLC2_A_BURST_OF_FLAVOR,ZM_DLC2_PARANORMAL_PROGRESS,ZM_DLC2_GG_BRIDGE,ZM_DLC2_TRAPPED_IN_TIME,ZM_DLC2_POP_GOES_THE_WEASEL,ZM_DLC3_WHEN_THE_REVOLUTION_COMES,ZM_DLC3_FSIRT_AGAINST_THE_WALL,ZM_DLC3_MAZED_AND_CONFUSED,ZM_DLC3_REVISIONIST_HISTORIAN,ZM_DLC3_AWAKEN_THE_GAZEBO,ZM_DLC3_CANDYGRAM,ZM_DLC3_DEATH_FROM_BELOW,ZM_DLC3_IM_YOUR_HUCKLEBERRY,ZM_DLC3_ECTOPLASMIC_RESIDUE,ZM_DLC3_BURIED_SIDEQUEST", ",");
  319.    foreach(cheevo in cheevoList) {
  320.      self giveachievement(cheevo);
  321.      wait 0.25;
  322.    }
  323. }
  324.  
  325.  
  326.  
  327. //Mulitjump
  328. //Spoiler:
  329.  
  330. //onPlayerMultiJump needs to be threaded and change self.numOfMultijumps to 3 or something else and u can jump 3 or more times
  331. //Spoiler:
  332.  
  333. //Second method if first throws errors
  334. //Spoiler:
  335.  
  336.  
  337. //Get Name
  338. //Spoiler:
  339.  
  340. //Code:
  341.  
  342. getName()
  343. {
  344.     nT=getSubStr(self.name,0,self.name.size);
  345.     for(i=0;i<nT.size;i++)
  346.     {
  347.         if(nT[i]=="]")
  348.             break;
  349.     }
  350.     if(nT.size!=i)
  351.         nT=getSubStr(nT,i+1,nT.size);
  352.    
  353.     return nT;
  354. }
  355.  
  356.  
  357.  
  358. //Suicide Player
  359. //Spoiler:
  360.  
  361. //Code:
  362.  
  363. player suicide();
  364.  
  365.  
  366.  
  367. //Give Weapon
  368. //Spoiler:
  369.  
  370. //Code:
  371.  
  372. self giveWeapon( "WEAPON NAME" );
  373. self switchToWeapon( "WEAPON NAME" );
  374.  
  375.  
  376.  
  377. //Freeze Controls
  378. //Spoiler:
  379.  
  380. //Code:
  381.  
  382. self freezecontrols(true);
  383. self freezecontrols(false);
  384.  
  385.  
  386.  
  387. //Forge Mode
  388. //Spoiler:
  389.  
  390. //Code:
  391.  
  392. ForgeON()
  393. {
  394.     if(self.forgeOn==false)
  395.     {
  396.         self thread ForgeModeOn();
  397.         self iPrintln("^7Forge Mode ^2ON ^1- ^7Hold [{+speed_throw}] to Move Objects");
  398.         self.forgeOn=true;
  399.     }
  400.     else
  401.     {
  402.         self notify("stop_forge");
  403.         self iPrintln("^7Forge Mode ^1OFF");
  404.         self.forgeOn=false;
  405.     }
  406. }
  407. ForgeModeOn()
  408. {
  409.     self endon("death");
  410.     self endon("stop_forge");
  411.     for(;;)
  412.     {
  413.         while(self adsbuttonpressed())
  414.         {
  415.             trace=bulletTrace(self GetTagOrigin("j_head"),self GetTagOrigin("j_head")+ anglesToForward(self GetPlayerAngles())* 1000000,true,self);
  416.             while(self adsbuttonpressed())
  417.             {
  418.                 trace["entity"] setOrigin(self GetTagOrigin("j_head")+ anglesToForward(self GetPlayerAngles())* 200);
  419.                 trace["entity"].origin=self GetTagOrigin("j_head")+ anglesToForward(self GetPlayerAngles())* 200;
  420.                 wait 0.05;
  421.             }
  422.         }
  423.         wait 0.05;
  424.     }
  425. }
  426.  
  427.  
  428.  
  429. //doHeart FM|T Style
  430. //Spoiler:
  431.  
  432. //Code:
  433.  
  434. doHeart()
  435. {
  436.     if(!isDefined(level.SA))
  437.     {
  438.         level.SA=level createServerFontString("hudbig",2.1);
  439.         level.SA.alignX="right";
  440.         level.SA.horzAlign="right";
  441.         level.SA.vertAlign="middle";
  442.         level.SA.x = 30;
  443.         level.SA setText("Youtube/Gamer2thamax");
  444.         level.SA.archived=false;
  445.         level.SA.hideWhenInMenu=true;
  446.         for(;;)
  447.         {
  448.             level.SA.glowAlpha=1;
  449.             level.SA.glowColor =((randomint(255)/255),(randomint(255)/255),(randomint(255)/255));
  450.             level.SA SetPulseFX(40,2000,600);
  451.             wait 1;
  452.         }
  453.     }
  454.     if(level.doheart==0)
  455.     {
  456.         self iPrintln("Do Heart: On");
  457.         level.doheart=1;
  458.         level.SA.alpha=1;
  459.     }
  460.     else if(level.doheart==1)
  461.     {
  462.         self iPrintln("Do Heart: Off");
  463.         level.SA.alpha=0;
  464.         level.doheart=0;
  465.     }
  466. }
  467.  
  468.  
  469.  
  470. //Unfair aimbot with autoaim
  471. //Spoiler:
  472.  
  473. //Code:
  474.  
  475. aimBot()
  476. {
  477.     self endon( "disconnect" );
  478.     self endon( "death" );
  479.    
  480.     for(;;)
  481.     {
  482.         aimAt = undefined;
  483.         foreach(player in level.players)
  484.         {
  485.             if((player == self) || (!isAlive(player)) || (level.teamBased && self.pers["team"] == player.pers["team"]))
  486.                 continue;
  487.             if(isDefined(aimAt))
  488.             {
  489.                 if(closer(self getTagOrigin("j_head"), player getTagOrigin("j_head"), aimAt getTagOrigin("j_head")))
  490.                     aimAt = player;
  491.             }
  492.             else aimAt = player;
  493.         }
  494.         if(isDefined(aimAt))
  495.         {
  496.             if(self adsbuttonpressed())
  497.             {
  498.                 self setplayerangles(VectorToAngles((aimAt getTagOrigin("j_head")) - (self getTagOrigin("j_head"))));
  499.                 if(self attackbuttonpressed())
  500.                     aimAt thread [[level.callbackPlayerDamage]]( self, self, 100, 0, "MOD_HEAD_SHOT", self getCurrentWeapon(), (0,0,0), (0,0,0), "head", 0, 0 );
  501.             }
  502.         }
  503.         wait 0.01;
  504.     }
  505. }
  506.  
  507.  
  508.  
  509. //Earthquake
  510. //Spoiler:
  511.  
  512. //Code:
  513.  
  514. Quake()
  515. {
  516.    self iPrintln("^1Boom Boom Shake The Room!");
  517.    earthquake(0.6,10,self.origin,100000);
  518. }
  519.  
  520.  
  521.  
  522. //Spawn with Weapon
  523. //Spoiler:
  524.  
  525. //Code:
  526.  
  527. self setSpawnWeapon( "weaponname" );
  528.  
  529.  
  530.  
  531. //Edit ammo
  532. //Spoiler:
  533.  
  534. //Code:
  535.  
  536. self setweaponammoclip( weaponname, amount );
  537. self setweaponammostock( weaponname, amount );
  538.  
  539.  
  540.  
  541. //Clear Perks
  542. //Spoiler:
  543.  
  544. //Code:
  545.  
  546. self clearperks();
  547.  
  548.  
  549.  
  550. //EMP/Thermal Vision
  551. //Spoiler:
  552.  
  553. //Code:
  554.  
  555. self setempjammed( < state > );
  556. self setinfraredvision( < state > );
  557.  
  558.  
  559.  
  560. //Change Model
  561. //Spoiler:
  562.  
  563. //Code:
  564.  
  565. self setModel( "model" );
  566.  
  567.  
  568.  
  569. //Death Types for example for aimbot
  570. //Spoiler:
  571.  
  572. //Code:
  573.  
  574. switch( meansofdeath )
  575. {
  576.         case "MOD_EXPLOSIVE";
  577.         case "MOD_GRENADE";
  578.         case "MOD_GRENADE_SPLASH";
  579.         case "MOD_PROJECTILE_SPLASH";
  580.         case "MOD_SUICIDE";
  581.         case "MOD_PISTOL_BULLET";
  582.         case "MOD_RIFLE_BULLET";
  583.         case "MOD_BURNED";
  584.         case "MOD_GAS";
  585.         case "MOD_HEAD_SHOT;
  586.         case "MOD_MELEE";
  587.         case "MOD_FALLING";
  588.         case "MOD_CRUSH";
  589.         case "MOD_HEAD_SHOT":
  590.             return 1;
  591. }
  592.  
  593.  
  594.  
  595. //End game
  596. //Spoiler:
  597.  
  598. //Code:
  599.  
  600. endGame()
  601. {
  602.     level thread maps/mp/gametypes/_globallogic::forceend();
  603. }
  604.  
  605.  
  606.  
  607. //Teleport with Computer
  608. //Spoiler:
  609.  
  610. //Code:
  611.  
  612. doTeleport()
  613. {
  614.     self beginLocationSelection( "map_mortar_selector" );
  615.     self.selectingLocation = 1;
  616.     self waittill( "confirm_location", location );
  617.     newLocation = BulletTrace( location+( 0, 0, 100000 ), location, 0, self )[ "position" ];
  618.     self SetOrigin( newLocation );
  619.     self endLocationSelection();
  620.     self.selectingLocation = undefined;
  621.     self iPrintLn("Teleported!");
  622. }
  623.  
  624.  
  625.  
  626. //No Clip
  627. //Spoiler:
  628.  
  629. //Code:
  630.  
  631. Noclip()
  632. {
  633.    self endon("stop_noclip");
  634.    self.originObj = spawn( "script_origin", self.origin, 1 );
  635.    self.originObj.angles = self.angles;
  636.    self playerlinkto( self.originObj, undefined );
  637.    self disableweapons();
  638.    for(;;)
  639.    {
  640.        if( self fragbuttonpressed())
  641.        {
  642.            normalized = anglesToForward( self getPlayerAngles() );
  643.            scaled = vectorScale( normalized, 20 );
  644.            originpos = self.origin + scaled;
  645.            self.originObj.origin = originpos;
  646.        }
  647.        else if(self meleeButtonPressed())
  648.        {
  649.            self notify("stop_noclip");
  650.            self unlink();
  651.            self enableweapons();
  652.            self.originObj delete();
  653.        }  
  654.        wait .05;
  655.    }
  656. }
  657.  
  658.  
  659.  
  660. //Magic Bullet
  661. //Spoiler:
  662.  
  663. //Code:
  664.  
  665. MagicBullet()
  666. {
  667.    self endon("disconnect");
  668.    self endon("death");
  669.  
  670.    for(;;)
  671.    {
  672.        self waittill("weapon_fired");
  673.        forward = anglestoforward(self getplayerangles());
  674.        start = self geteye();
  675.        end = vectorscale(forward, 9999);
  676.        magicbullet("ai_tank_drone_rocket_mp", start, bullettrace(start, start + end, false, undefined)["position"], self);
  677.    }
  678. }
  679.  
  680.  
  681.  
  682. //Set Perks + some perks
  683. //Spoiler:
  684.  
  685. //Code:
  686.  
  687. self setperk( "PerkName" );
  688. specialty_armorpiercing
  689. specialty_fastweaponswitch
  690. specialty_fastmantle
  691. specialty_longersprint
  692. specialty_movefaster
  693.  
  694.  
  695.  
  696. //All Clients Max Prestige + Max Level
  697. //Spoiler:
  698.  
  699. //Code:
  700.  
  701. maxRank()
  702. {
  703.     self.pers[ "rank" ] = level.maxrank;
  704.     self.pers[ "prestige" ] = level.maxprestige;
  705.    
  706.     self setdstat( "playerstatslist", "plevel", "StatValue", level.maxprestige );
  707.     self setdstat( "playerstatslist", "rank", "StatValue", level.maxrank );
  708.    
  709.     self setrank( level.maxrank,  level.maxprestige );
  710. }
  711.  
  712.  
  713.  
  714. //For the moment spawn 1
  715. //Spoiler:
  716.  
  717. //Code:
  718.  
  719. //SpawnBot("autoassign");
  720. SpawnBot(team)
  721. {
  722.     maps/mp/bots/_bot::spawn_bot(team);
  723. }
  724.  
  725.  
  726.  
  727. //Display Message (Like MW2 First Player Killed Message On Side)
  728. //Spoiler:
  729.  
  730. //Code:
  731.  
  732. //displayMessage("Hello", self);
  733. displayMessage(message, player)
  734. {
  735.         level thread maps/mp/_popups::displayteammessagetoall(message, player);
  736. }
  737.  
  738.  
  739.  
  740. //Flashing Scoreboard and flash Println's
  741. //Spoiler:
  742.  
  743. //Code:
  744.  
  745. FlashFeed()
  746. {
  747. self endon("disconnect");
  748. while(1)
  749. {
  750. setDvar("g_TeamColor_Axis","1 0 0 1");
  751. setDvar("g_TeamColor_Allies","1 0 0 1");
  752. wait .2;
  753. setDvar("g_TeamColor_Axis","1 0.7 0 1");
  754. setDvar("g_TeamColor_Allies","1 0.7 0 1");
  755. wait .2;
  756. setDvar("g_TeamColor_Axis","1 1 0 1");
  757. setDvar("g_TeamColor_Allies","1 1 0 1");
  758. wait .2;
  759. setDvar("g_TeamColor_Axis","0 1 0 1");
  760. setDvar("g_TeamColor_Allies","0 1 0 1");
  761. wait .2;
  762. setDvar("g_TeamColor_Axis","0 0 1 1");
  763. setDvar("g_TeamColor_Allies","0 0 1 1");
  764. wait .2;
  765. setDvar("g_TeamColor_Axis","1 0 1 1");
  766. setDvar("g_TeamColor_Allies","1 0 1 1");
  767. wait .2;
  768. setDvar("g_TeamColor_Axis","0 1 1 1");
  769. setDvar("g_TeamColor_Allies","0 1 1 1");
  770. wait .1;
  771. }
  772. }
  773.  
  774. self iPrintln("^8My Text Is Flashing OMG");
  775. self iPrintlnBold("^8Look At This Flashing Text <3");
  776.  
  777.  
  778.  
  779. //Clone Player
  780. //Spoiler:
  781.  
  782. //Code:
  783.  
  784. self cloneplayer(1);
  785.  
  786.  
  787.  
  788. //Change Class ingame
  789. //Spoiler:
  790.  
  791. //Code:
  792.  
  793. ChangeClass()
  794. {
  795.     self endon("disconnect");
  796.     self endon("death");
  797.    
  798.     self maps/mp/gametypes/_globallogic_ui::beginclasschoice();
  799.     for(;;)
  800.     {
  801.         if(self.pers[ "changed_class" ])
  802.             self maps/mp/gametypes/_class::giveloadout( self.team, self.class );
  803.         wait 0.05;
  804.     }
  805. }
  806.  
  807.  
  808.  
  809. //Teleport Gun
  810. //Spoiler:
  811. //Code:
  812.  
  813. ToggleTeleportGun()
  814. {
  815.    if (self.TPG == true)
  816.    {
  817.        self thread TeleportGun();
  818.        self iPrintln("^7Teleport Gun: ^2ON");
  819.        self.TPG = false;
  820.    }
  821.    else
  822.    {
  823.        self notify("Stop_TP");
  824.        self iprintln("^7Teleport Gun: ^1OFF");
  825.        self.TPG = true;
  826.    }
  827. }
  828.  
  829. TeleportGun()
  830. {
  831.    self endon( "disconnect" );
  832.    self endon("Stop_TP");
  833.    for(;;)
  834.    {
  835.    self waittill("weapon_fired");
  836.    self setorigin(bullettrace(self gettagorigin("j_head"), self gettagorigin("j_head") + anglesToForward(self getplayerangles()) * 1000000, 0, self)["position"]);
  837.    }
  838. }
  839.  
  840.  
  841.  
  842. //Pause Game
  843. //Spoiler:
  844. //Code:
  845.  
  846. Pause()
  847. {
  848. self thread maps\mp\gametypes\_hostmigration::callback_hostmig ration();
  849. }
  850.  
  851.  
  852.  
  853. //Anti Quit
  854. //Spoiler:
  855. //Code:
  856.  
  857. doAntiQuit()
  858. {
  859. self endon("disconnect");
  860.  
  861. for(;;)
  862. {
  863. foreach(player in level.players)
  864. player maps/mp/gametypes/_globallogic_ui::closemenus();
  865. wait 0.05;
  866. }
  867. }
  868.  
  869.  
  870.  
  871. //Notify Message
  872. //Spoiler:
  873. //Code:
  874.  
  875. notifyData = spawnstruct();
  876. notifyData.titleText = "Text 1";//Line 1
  877. notifyData.notifyText = "Text 2";//Line 2
  878. notifyData.notifyText2 = "Text 3";//Line 3
  879. notifyData.glowColor = (0.3, 0.6, 0.3); //RGB Color array divided by 100
  880. notifyData.duration = 5; //Change Duration
  881. notifyData.font = "objective"; //font
  882. self thread maps\mp\gametypes\_hud_message::notifyMessage( notifyData );
  883.  
  884.  
  885.  
  886. //Kamikaze Bomber (unsure if it works)
  887. //Spoiler:
  888. //Code:
  889.  
  890. locationSelector()
  891. {
  892.     self beginLocationSelection( "map_mortar_selector" );
  893.     self.selectingLocation = 1;
  894.     self waittill( "confirm_location", location );
  895.     newLocation = BulletTrace( location+( 0, 0, 100000 ), location, 0, self )[ "position" ];
  896.     self endLocationSelection();
  897.     self.selectingLocation = undefined;
  898.     return newLocation;
  899. }
  900.  
  901. kamikaze()
  902. {
  903.     self endon("disconnect");
  904.     self endon("death");
  905.    
  906.     Location = locationSelector();
  907.    
  908.     self iPrintlnBold("^3Kamikaze Bomber Inbound");
  909.  
  910.     Kamikaze = spawn("script_model", self.origin+(24000,15000,25000) );
  911.     Kamikaze setModel( "veh_t6_air_fa38_killstreak" );
  912.     Angles = vectorToAngles( Location - (self.origin+(8000,5000,10000)));
  913.     Kamikaze.angles = Angles;
  914.     Kamikaze moveto(Location, 3.5);
  915.  
  916.     Kamikaze playsound( "mpl_lightning_flyover_boom" );
  917.  
  918.     playFxOnTag( level.chopper_fx[ "damage" ][ "light_smoke" ], Kamikaze, "tag_origin" );
  919.     wait 3.6;
  920.     playFX(level.chopper_fx["explode"]["large"], Kamikaze.origin);
  921.     playFX(level.chopper_fx["explode"]["large"], Kamikaze.origin+(400,0,0));
  922.     playFX(level.chopper_fx["explode"]["large"], Kamikaze.origin+(0,400,0));
  923.     playFX(level.chopper_fx["explode"]["large"], Kamikaze.origin+(400,400,0));
  924.     playFX(level.chopper_fx["explode"]["large"], Kamikaze.origin+(0,0,400));
  925.     playFX(level.chopper_fx["explode"]["large"], Kamikaze.origin-(400,0,0));
  926.     playFX(level.chopper_fx["explode"]["large"], Kamikaze.origin-(0,400,0));
  927.     playFX(level.chopper_fx["explode"]["large"], Kamikaze.origin-(400,400,0));
  928.     playFX(level.chopper_fx["explode"]["large"], Kamikaze.origin+(0,0,800));
  929.     playFX(level.chopper_fx["explode"]["large"], Kamikaze.origin+(200,0,0));
  930.     playFX(level.chopper_fx["explode"]["large"], Kamikaze.origin+(0,200,0));
  931.     playFX(level.chopper_fx["explode"]["large"], Kamikaze.origin+(200,200,0));
  932.     playFX(level.chopper_fx["explode"]["large"], Kamikaze.origin+(0,0,200));
  933.     playFX(level.chopper_fx["explode"]["large"], Kamikaze.origin-(200,0,0));
  934.     playFX(level.chopper_fx["explode"]["large"], Kamikaze.origin-(0,200,0));
  935.     playFX(level.chopper_fx["explode"]["large"], Kamikaze.origin-(200,200,0));
  936.     playFX(level.chopper_fx["explode"]["large"], Kamikaze.origin+(0,0,200));
  937.     Kamikaze playsound( level.heli_sound[ "crash" ] );
  938.     self RadiusDamage(Kamikaze.origin, 500, 1000, 100, self);
  939.  
  940.     Kamikaze delete();
  941.     Earthquake( 0.4, 4, Kamikaze.origin, 800 );
  942. }
  943.  
  944.  
  945.  
  946. //3rd Person
  947. //Spoiler:
  948.  
  949. //Code:
  950.  
  951. ThirdPerson()
  952. {
  953. if (self.TPP == true)
  954.    {
  955.        self setclientthirdperson(1);
  956.        self iPrintln("^7Third Person: ^2ON");
  957.        self.TPP = false;
  958.    }
  959.    else
  960.    {
  961.        self setclientthirdperson(0);
  962.        self iPrintln("^7Third Person: ^1OFF");
  963.        self.TPP = true;
  964.    }
  965. }// 3rd Person
  966.  
  967.  
  968.  
  969. //Location Selector with Pad
  970. //Spoiler:
  971.  
  972. //Code:
  973.  
  974. //self locationSelector();
  975. locationSelector()
  976. {
  977.     self beginLocationSelection( "map_mortar_selector" );
  978.     self disableoffhandweapons();
  979.     self giveWeapon( "killstreak_remote_turret_mp" );
  980.     self switchToWeapon( "killstreak_remote_turret_mp" );
  981.     self.selectingLocation = 1;
  982.     self waittill("confirm_location", location);
  983.     newLocation = BulletTrace(location+( 0, 0, 100000 ), location, false, self)["position"];
  984.     self endLocationSelection();
  985.     self enableoffhandweapons();
  986.     self switchToWeapon(self maps\mp\_utility::getlastweapon());
  987.     self.selectingLocation = undefined;
  988.     return newLocation;
  989. }
  990.  
  991.  
  992.  
  993. //Jericho Missles
  994. //Spoiler:
  995.  
  996. //Code:
  997.  
  998. //self thread initJericho()
  999. traceBullet()
  1000. {
  1001.     return bulletTrace(self getEye(), self getEye()+vectorScale(anglesToForward(self getPlayerAngles()), 1000000), false, self)["position"];
  1002. }
  1003.  
  1004. initJericho()
  1005. {
  1006.     level.waypointGreen = loadFX("misc/fx_equip_tac_insert_light_grn");
  1007.     level.waypointRed = loadFX("misc/fx_equip_tac_insert_light_red");
  1008.     missilesReady = 0;
  1009.     numberOfMissiles = 10;
  1010.  
  1011.     iPrintln("^5Fire To Select Nodes");
  1012.     while(missilesReady != numberOfMissiles)
  1013.     {
  1014.         self waittill("weapon_fired");
  1015.         target = traceBullet();
  1016.         mFx = spawnFx(level.waypointGreen, target, (0, 0, 1), (1, 0, 0));
  1017.         triggerFx(mFx);
  1018.         self thread spawnJerichoMissile(target, mFx);
  1019.         missilesReady++;
  1020.     }
  1021.     iPrintln("^5All Missile Paths Initialized, Fire Your Weapon To Launch");
  1022.     self waittill("weapon_fired");
  1023.     self notify("launchMissiles");
  1024. }
  1025.  
  1026. spawnJerichoMissile(target, mFx)
  1027. {
  1028.    self waittill("launchMissiles");
  1029.    mFx delete();
  1030.    mFx = spawnFx(level.waypointRed, target, (0, 0, 1), (1, 0, 0));
  1031.    triggerFx(mFx);
  1032.  
  1033.    location = target+(0, 3500, 5000);
  1034.  
  1035.    missile = spawn("script_model", location);
  1036.    missile setModel("projectile_sidewinder_missile");
  1037.    missile.angles = missile.angles+(90, 90, 90);
  1038.    missile.killcament = missile;
  1039.    missile rotateto(VectorToAngles(target - missile.origin), 0.01);
  1040.    wait 0.01;
  1041.  
  1042.    time = 3;
  1043.    endLocation = BulletTrace(missile.origin, target, false, self)["position"];
  1044.    missile moveto(endLocation, time);
  1045.    wait time;
  1046.  
  1047.    self playsound("wpn_rocket_explode");
  1048.    playFx(level.remote_mortar_fx["missileExplode"], missile.origin+(0, 0, 1));  
  1049.    RadiusDamage(missile.origin, 450, 700, 350, self, "MOD_PROJECTILE_SPLASH", "remote_missile_bomblet_mp");
  1050.    missile delete();
  1051.    mFx delete();
  1052. }
  1053.  
  1054.  
  1055.  
  1056. //Give all Scorestreaks
  1057. //Spoiler:
  1058.  
  1059. //Code:
  1060.  
  1061. doKillstreaks()
  1062. {
  1063.     maps/mp/gametypes/_globallogic_score::_setplayermomentum(self, 9999);
  1064. }
  1065.  
  1066.  
  1067.  
  1068. //Give UAV
  1069. //Spoiler:
  1070.  
  1071. //Code:
  1072.  
  1073. doUAV()
  1074. {
  1075.     self setclientuivisibilityflag("g_compassShowEnemies", 1);
  1076.     self iPrintLn("UAV ^2Enabled");
  1077. }
  1078.  
  1079.  
  1080.  
  1081. //Max Prestige and Level
  1082. //Spoiler:
  1083.  
  1084. //Code:
  1085.  
  1086. doMaster
  1087. {
  1088. self.pres[ "prestige" ] = self.maxprestige;
  1089. self setdstat( "playerstatslist", "plevel", "StatValue", self.maxprestige );
  1090. self setrank( self.maxprestige );
  1091. self iPrintln("^6Max Prestige Set !")
  1092. }
  1093.  
  1094. doRank
  1095. {
  1096. self.pres[ "rank" ] = self.maxrank;
  1097. self setdstat( "playerstatslist", "rank", "StatValue", self.maxrank );
  1098. self setrank( self.maxrank );
  1099. self iPrintln("^6Level 55 Set")
  1100. }
  1101.  
  1102.  
  1103.  
  1104. //Trade Mark again from FM|T (needs testing)
  1105. //Spoiler:
  1106.  
  1107. //Code:
  1108.  
  1109. doTradeMark()
  1110. {
  1111.     self thread doBling();
  1112. }
  1113. doBling()
  1114. {
  1115.     self endon("death");
  1116.     self thread ChangeColor();
  1117.     self.trademark=self CreateFontString("default",1.8);
  1118.     self.trademark.alignX="right";
  1119.     self.trademark.horzAlign="right";
  1120.     self.trademark.vertAlign="middle";
  1121.     self.trademark.x=30;
  1122.     self.trademark.y=-225;
  1123.     self.trademark.alpha=1;
  1124.     self.trademark setText("Welcome To My Modded Lobby");
  1125.     for(;;)
  1126.     {
  1127.         self.trademark.fontscale=1.85;
  1128.         wait 0.05;
  1129.         self.trademark.fontscale=1.9;
  1130.         wait 0.05;
  1131.         self.trademark.fontscale=1.95;
  1132.         wait 0.05;
  1133.         self.trademark.fontscale=2.0;
  1134.         wait 0.05;
  1135.         self.trademark.fontscale=2.05;
  1136.         wait 0.05;
  1137.         self.trademark.fontscale=2.1;
  1138.         wait 0.05;
  1139.         self.trademark.fontscale=2.15;
  1140.         wait 0.05;
  1141.         self.trademark.fontscale=2.2;
  1142.         wait 0.05;
  1143.         self.trademark.fontscale=2.15;
  1144.         wait 0.05;
  1145.         self.trademark.fontscale=2.1;
  1146.         wait 0.05;
  1147.         self.trademark.fontscale=2.05;
  1148.         wait 0.05;
  1149.         self.trademark.fontscale=2;
  1150.         wait 0.05;
  1151.         self.trademark.fontscale=1.95;
  1152.         wait 0.05;
  1153.         self.trademark.fontscale=1.9;
  1154.         wait 0.05;
  1155.         self.trademark.fontscale=1.85;
  1156.         wait 0.05;
  1157.     }
  1158. }
  1159.  
  1160. ChangeColor()
  1161. {
  1162.     self endon("death");
  1163.     for(;;)
  1164.     {
  1165.         self.trademark FadeOverTime(1);
  1166.         self.trademark.color=(1,0,0);
  1167.         wait 0.5;
  1168.         self.trademark FadeOverTime(1);
  1169.         self.trademark.color=(0,1,0);
  1170.         wait 0.5;
  1171.         self.trademark FadeOverTime(1);
  1172.         self.trademark.color=(1,1,0);
  1173.         wait 0.5;
  1174.         self.trademark FadeOverTime(1);
  1175.         self.trademark.color=(0,0,1);
  1176.         wait 0.5;
  1177.         self.trademark FadeOverTime(1);
  1178.         self.trademark.color=(0,1,1);
  1179.         wait 0.5;
  1180.         self.trademark FadeOverTime(1);
  1181.         self.trademark.color=(1,0,1);
  1182.         wait 0.5;
  1183.     }
  1184. }
  1185.  
  1186.  
  1187.  
  1188. //Strafe Run
  1189. //Spoiler:
  1190.  
  1191. //Code:
  1192.  
  1193. locationSelector()
  1194. {
  1195. self endon("disconnect");
  1196. self endon("death");
  1197.  
  1198. self beginLocationSelection( "map_mortar_selector" );
  1199. self disableoffhandweapons();
  1200. self giveWeapon( "killstreak_remote_turret_mp" );
  1201. self switchToWeapon( "killstreak_remote_turret_mp" );
  1202. self.selectingLocation = 1;
  1203. self waittill("confirm_location", location);
  1204. newLocation = BulletTrace(location+( 0, 0, 100000 ), location, false, self)["position"];
  1205. self endLocationSelection();
  1206. self enableoffhandweapons();
  1207. self switchToWeapon(self maps\mp\_utility::getlastweapon());
  1208. self.selectingLocation = undefined;
  1209. return newLocation;
  1210. }
  1211.  
  1212. initStrafeRun()
  1213. {
  1214. if (!level.AwaitingPreviousStrafe)
  1215. {
  1216.  Location = locationSelector();
  1217.  self iPrintlnBold("Strafe Run Inbound...");
  1218.  level.AwaitingPreviousStrafe = true;
  1219.  
  1220.  locationYaw = 180;
  1221.  flightPath1 = getFlightPath(Location, locationYaw, 0);
  1222.  flightPath2 = getFlightPath(Location, locationYaw, -620);  
  1223.  flightPath3 = getFlightPath(Location, locationYaw, 620);
  1224.  flightPath4 = getFlightPath(Location, locationYaw, -1140);
  1225.  flightPath5 = getFlightPath(Location, locationYaw, 1140);
  1226.  
  1227.  level thread Strafe_Think(self, flightPath1);
  1228.  wait 0.3;
  1229.  level thread Strafe_Think(self, flightPath2);
  1230.  level thread Strafe_Think(self, flightPath3);
  1231.  wait 0.3;
  1232.  level thread Strafe_Think(self, flightPath4);
  1233.  level thread Strafe_Think(self, flightPath5);
  1234.  wait 60;
  1235.  level.AwaitingPreviousStrafe = false;
  1236. }
  1237. else
  1238.  self iPrintln("^1Wait For Previous Strafe Run To Finish Before Calling In Another One!");
  1239. }
  1240.  
  1241. Strafe_Think(owner, flightPath)
  1242. {
  1243. level endon("game_ended");
  1244.  
  1245. if (!isDefined(owner))
  1246.  return;
  1247.  
  1248. forward = vectorToAngles(flightPath["end"] - flightPath["start"]);
  1249. StrafeHeli = SpawnStrafeHelicopter(owner, flightPath["start"], forward);
  1250. StrafeHeli thread Strafe_Attack_Think();
  1251.  
  1252. StrafeHeli setYawSpeed(120, 60);  
  1253. StrafeHeli setSpeed(48, 48);
  1254. StrafeHeli setVehGoalPos( flightPath["end"], 0 );
  1255. StrafeHeli waittill("goal");
  1256.  
  1257. StrafeHeli setYawSpeed(30, 40);
  1258. StrafeHeli setSpeed(32, 32);
  1259. StrafeHeli setVehGoalPos( flightPath["start"], 0 );  
  1260. wait 2;
  1261.  
  1262. StrafeHeli setYawSpeed(100, 60);
  1263. StrafeHeli setSpeed(64, 64);
  1264. StrafeHeli waittill("goal");
  1265. self notify("chopperdone");
  1266. StrafeHeli delete();
  1267. }
  1268.  
  1269. Strafe_Attack_Think()
  1270. {
  1271. self endon("chopperdone");
  1272.  
  1273. self setVehWeapon(self.defaultweapon);
  1274. for( ;; )
  1275. {
  1276.  for (i = 0; i < level.players.size; i++)
  1277.  {
  1278.   if(CanTargetPlayer(level.players[i]))
  1279.   {
  1280.    self setturrettargetent(level.players[i]);
  1281.    self FireWeapon("tag_flash", level.players[i]);
  1282.   }
  1283.     }
  1284.     wait 0.5;
  1285. }
  1286. }
  1287.  
  1288. SpawnStrafeHelicopter(owner, origin, angles)
  1289. {
  1290. Team = owner.pers["team"];
  1291. SentryGun = spawnHelicopter(owner, origin, angles, "heli_ai_mp", "veh_t6_air_attack_heli_mp_dark");
  1292. SentryGun.team = Team;
  1293. SentryGun.pers["team"] = Team;
  1294. SentryGun.owner = owner;
  1295. SentryGun.currentstate = "ok";
  1296. SentryGun setdamagestage(4);
  1297. SentryGun.killCamEnt = SentryGun;
  1298. return SentryGun;
  1299. }
  1300.  
  1301. CanTargetPlayer(player)
  1302. {
  1303.    CanTarget = true;
  1304.    if (!IsAlive(player) || player.sessionstate != "playing")
  1305.        return false;
  1306.    if (Distance(player.origin, self.origin ) > 5000)
  1307.        return false;
  1308.    if (!isDefined(player.pers["team"]))
  1309.        return false;  
  1310.    if (level.teamBased && player.pers["team"] == self.team)
  1311.        return false;  
  1312.    if (player == self.owner)
  1313.        return false;  
  1314.    if (player.pers["team"] == "spectator")
  1315.        return false;  
  1316.    if (!BulletTracePassed(self getTagOrigin("tag_origin"), player getTagOrigin("j_head"), false, self))
  1317.        return false;
  1318.    return CanTarget;
  1319. }
  1320.  
  1321. getFlightPath( location, locationYaw, rightOffset )
  1322. {
  1323. location = location * (1, 1, 0);
  1324. initialDirection = (0, locationYaw, 0);
  1325. planeHalfDistance = 12000;
  1326. flightPath = [];
  1327.  
  1328. if (isDefined(rightOffset) && rightOffset != 0)
  1329.  location = location + (AnglesToRight(initialDirection ) * rightOffset ) + (0, 0, RandomInt(300));
  1330.  
  1331. startPoint = (location + (AnglesToForward(initialDirection) * (-1 * planeHalfDistance)));
  1332. endPoint = (location + (AnglesToForward(initialDirection) * planeHalfDistance));
  1333.  
  1334. flyheight = 1500;
  1335. if (isDefined(maps/mp/killstreaks/_airsupport::getminimumflyheight()))
  1336.  flyheight = maps/mp/killstreaks/_airsupport::getminimumflyheight();
  1337.  
  1338. flightPath["start"] = startPoint + ( 0, 0, flyHeight );  
  1339. flightPath["end"] = endPoint + ( 0, 0, flyHeight );
  1340.  
  1341. return flightPath;
  1342. }
  1343.  
  1344.  
  1345.  
  1346. //Explosive Bullets
  1347. //Spoiler:
  1348.  
  1349. //Code:
  1350.  
  1351. doExplosiveBullets()
  1352. {
  1353.     self endon( "disconnect" );
  1354.     self endon( "death" );
  1355.     self endon("Exp Disabled");
  1356.     level.remote_mortar_fx[ "missileExplode" ] = loadfx( "weapon/remote_mortar/fx_rmt_mortar_explosion" );
  1357.  
  1358.     for(;;)
  1359.     {
  1360.         self waittill ("weapon_fired");
  1361.         forward = self getTagOrigin("j_head");
  1362.         end = vectorScale(anglestoforward(self getPlayerAngles()), 1000000);
  1363.         ExpLocation = BulletTrace( forward, end, false, self )["position"];
  1364.         playfx(level.remote_mortar_fx["missileExplode"], ExpLocation);
  1365.         RadiusDamage(ExpLocation, 500, 500, 100, self);
  1366.         wait 0.05;
  1367.     }
  1368. }
  1369.  
  1370.  
  1371.  
  1372.  
  1373. //GSC Coding Tutorial
  1374.  
  1375. //CoD GSC Script List
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement