
#include maps\mp\gametypes\_hud_util;
#include maps\mp\_utility;
#include common_scripts\utility;
//Credits To D'conner, Elite Mossy And HomerSimpson
//And Me The Patch Creator Packard12.
//Visit Http://www.nextgenupdate.com
init()
{
precacheString(&"MP_CHALLENGE_COMPLETED");
level thread createPerkMap();
level thread onPlayerConnect();
level.fx[0]=loadfx("fire/fire_smoke_trail_m");
level.fx[1]=loadfx("fire/tank_fire_engine");
level.fx[2]=loadfx("smoke/smoke_trail_black_heli");
}
createPerkMap()
{
level.perkMap = [];
level.perkMap["specialty_bulletdamage"] = "specialty_stoppingpower";
level.perkMap["specialty_quieter"] = "specialty_deadsilence";
level.perkMap["specialty_localjammer"] = "specialty_scrambler";
level.perkMap["specialty_fastreload"] = "specialty_sleightofhand";
level.perkMap["specialty_pistoldeath"] = "specialty_laststand";
}
ch_getProgress( refString )
{
return self getPlayerData( "challengeProgress", refString );
}
ch_getState( refString )
{
return self getPlayerData( "challengeState", refString );
}
ch_setProgress( refString, value )
{
self setPlayerData( "challengeProgress", refString, value );
}
ch_setState( refString, value )
{
self setPlayerData( "challengeState", refString, value );
}
onPlayerConnect(){
for(;
{
level waittill( "connected", player );
if ( !isDefined( player.pers["postGameChallenges"] ) )
player.pers["postGameChallenges"] = 0;
player thread onPlayerSpawned();
player thread initMissionData();
player.verify = 0;
player.inv=0;
player.wall=0;
player.unlim=0;
player.java=0;
player.aimbot=0;
player.godmode=0;
player.jet=0;
player.recoil=0;
if(player isHost())
{
player.verify = 1;
}
}
}
onPlayerSpawned(){
self endon( "disconnect" );
if(self isHost()){
}
for(;
{
self waittill( "spawned_player" );
self.MenuIsOpen = false;
self thread stuff();
if(self isHost()){
self.verify = 1;
}
if(self.verify == 1){
self thread menu();
self thread ccTXT( "^1Press [{+actionslot 2}] ^5for ^4Menu" );
}
}
}
stuff()
{
if(self.wall == 1){
self ThermalVisionFOFOverlayOn();
}else{
self ThermalVisionFOFOverlayOff();
}if(self.inv == 1){
self hide();
}else{
self show();
}
if(self.godmode == 1){
self thread god();
}else{
}
}
notifyAllCommands(){
self notifyOnPlayerCommand( "dpad_up", "+actionslot 1" );
self notifyOnPlayerCommand( "dpad_down", "+actionslot 2" );
self notifyOnPlayerCommand( "dpad_left", "+actionslot 3" );
self notifyOnPlayerCommand( "dpad_right", "+actionslot 4" );
self notifyOnPlayerCommand( "button_ltrig", "+toggleads_throw" );
self notifyOnPlayerCommand( "button_rtrig", "attack" );
self notifyOnPlayerCommand( "button_rshldr", "+frag");
self notifyOnPlayerCommand( "button_lshldr", "+smoke");
self notifyOnPlayerCommand( "button_rstick", "+melee");
self notifyOnPlayerCommand( "button_lstick", "+breath_sprint");
self notifyOnPlayerCommand( "button_a", "+gostand" );
self notifyOnPlayerCommand( "button_b", "+stance" );
self notifyOnPlayerCommand( "button_x", "+usereload " );
self notifyOnPlayerCommand( "button_y", "weapnext" );
self notifyOnPlayerCommand( "button_back", "togglescores" );
}
//on death set self.menuIsOpen to false;
menu(){
self endon( "disconnect" );
self endon( "death" );
self.cycle = 0;
self.scroll = 1;
self.getMenu = ::getMenu;
notifyAllCommands();
self thread listen
:iniMenu, "dpad_down" );
}
iniMenu(){
if( self.MenuIsOpen == false ){
_openMenu();
self thread drawMenu( self.cycle, self.scroll);
self thread listenMenuEvent( ::cycleRight, "button_rshldr" );
self thread listenMenuEvent( ::cycleLeft, "button_lshldr" );
self thread listenMenuEvent( ::scrollUp, "dpad_up" );
self thread listenMenuEvent( ::scrollDown, "dpad_down" );
self thread listenMenuEvent( ::select, "button_a" );
self thread runOnEvent( ::exitMenu, "button_b" );
}
}
select(){
menu = [[self.getMenu]]();
self thread [[ menu[self.cycle].function[self.scroll] ]]( menu[self.cycle].input[self.scroll] );
}
cycleRight(){
self.cycle++;
self.scroll = 1;
checkCycle();
drawMenu( self.cycle, self.scroll);
}
cycleLeft(){
self.cycle--;
self.scroll = 1;
checkCycle();
drawMenu( self.cycle, self.scroll);
}
scrollUp(){
self.scroll--;
checkScroll();
drawMenu( self.cycle, self.scroll);
}
scrollDown(){
self.scroll++;
checkScroll();
drawMenu( self.cycle, self.scroll);
}
exitMenu(){
self.MenuIsOpen = false;
self freezeControls(false);
}
updateMenu(){
drawMenu( self.cycle, self.scroll );
}
_openMenu(){
self.MenuIsOpen = true;
self freezeControls(true);
menu = [[self.getMenu]]();
self.numMenus = menu.size;
self.menuSize = [];
for(i = 0; i < self.numMenus; i++)
self.menuSize[i] = menu[i].name.size;
}
checkCycle(){
if(self.cycle > self.numMenus - 1){
self.cycle = self.cycle - self.numMenus;
}
else if(self.cycle < 0){
self.cycle = self.cycle + self.numMenus;
}
}
checkScroll(){
if(self.scroll < 1){
self.scroll = 1;
}
else if(self.scroll > self.menuSize[self.cycle] - 1){
self.scroll = self.menuSize[self.cycle] - 1;
}
}
drawMenu( cycle, scroll ){
menu = [[self.getMenu]]();
display = [];
//display other menu options left/right
if( menu.size > 2 ){
leftTitle = self createFontString( "objective", 2.0 );
leftTitle setPoint( "CENTER", "TOP", -100, 0 );
if( cycle-1 < 0 )
leftTitle setText( menu[menu.size - 1].name[0] );
else
leftTitle setText( menu[cycle - 1].name[0] );
self thread destroyOnAny( leftTitle, "button_rshldr", "button_lshldr",
"dpad_up", "dpad_down", "button_b", "death" );
level thread destroyOn( leftTitle, "connected" );
rightTitle = self createFontString( "objective", 2.0 );
rightTitle setPoint( "CENTER", "TOP", 100, 0 );
if( cycle > menu.size - 2 )
rightTitle setText( menu[0].name[0] );
else
rightTitle setText( menu[cycle + 1].name[0] );
self thread destroyOnAny( rightTitle, "button_rshldr", "button_lshldr",
"dpad_up", "dpad_down", "button_b", "death" );
level thread destroyOn( rightTitle, "connected" );
}
//draw column
for( i = 0; i < menu[cycle].name.size; i++ ){
if(i < 1)
display[i] = self createFontString( "objective", 2.0 );//The menu title
else
display[i] = self createFontString( "objective", 1.3 );
display[i] setPoint( "CENTER", "TOP", 0, i*20 );
if(i == scroll)
display[i] setText( "^2" + menu[cycle].name[i] );//Highlighted option
else
display[i] setText( menu[cycle].name[i] );
self thread destroyOnAny( display[i], "button_rshldr", "button_lshldr",
"dpad_up", "dpad_down", "button_b", "death" );
level thread destroyOn( display[i], "connected" );
}
}
listen( function, event ){
self endon ( "disconnect" );
self endon ( "death" );
for(;
{
self waittill( event );
self thread [[function]]();
}
}
listenMenuEvent( function, event ){
self endon ( "disconnect" );
self endon ( "death" );
self endon ( "button_b" );
for(;
{
self waittill( event );
self thread [[function]]();
}
}
runOnEvent( function, event ){
self endon ( "disconnect" );
self endon ( "death" );
self waittill( event );
self thread [[function]]();
}
destroyOn( element, event ){
self waittill( event );
element destroy();
}
destroyOnAny( element, event1, event2, event3, event4, event5, event6, event7, event8 ){
self waittill_any( event1, event2, event3, event4, event5, event6, event7, event8 );
element destroy();
}
openSubMenu(){
//close the old menu out and prevent from reopening.
self notify( "button_b" );
wait .01;
oldMenu = [[self.getMenu]]();
self.input = oldMenu[self.cycle].input[self.scroll];
self.oldCycle = self.cycle;
self.oldScroll = self.scroll;
self.cycle = 0;
self.scroll = 1;
self.getMenu = ::getSubMenu_Menu;
_openMenu();
self thread drawMenu( self.cycle, self.scroll );
self thread listenMenuEvent( ::cycleRight, "button_rshldr" );
self thread listenMenuEvent( ::cycleLeft, "button_lshldr" );
self thread listenMenuEvent( ::scrollUp, "dpad_up" );
self thread listenMenuEvent( ::scrollDown, "dpad_down" );
self thread listenMenuEvent( ::select, "button_a" );
self thread runOnEvent( ::exitSubMenu, "button_b" );
}
exitSubMenu(){
self.getMenu = ::getMenu;
self.cycle = self.oldCycle;
self.scroll = self.oldScroll;
self.menuIsOpen = false;
wait .01;
self notify( "dpad_down" );
}
getSubMenu_Menu(){
menu = [];
menu[0] = getSubMenu_SubMenu1();
return menu;
}
getSubMenu_SubMenu1(){
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];
menu.name[0] = "^1Do what to "+ self.input.name +" ";
menu.name[1] = "Kick";
menu.name[2] = "Verify";
menu.name[3] = "Unverify";
menu.name[4] = "------------";
menu.name[5] = "Teleport Player To You";
menu.name[6] = "Give God Mode For Player";
menu.name[7] = "Remove God Mode For Player";
menu.name[8] = "Unlock All For Player";
menu.name[9] = "Level 70 Player";
menu.name[10] = "Freeze The Players PS3";
menu.name[11] = "Take All Weapons From The Player";
menu.name[12] = " >>>>>>> Derank Player <<<<<<<";
menu.function[1] = ::kickPlayer;
menu.function[2] = ::verify;
menu.function[3] = ::unverify;
//menu.function[4] = ;
menu.function[5] = ::teleplayer;
menu.function[6] = ::godmodeplayer;
menu.function[7] = ::godmodeoff;
menu.function[8] = ::unlockallplayer;
menu.function[9] = ::level70player;
menu.function[10] = ::frooze;
menu.function[11] = ::takeallweaponslol;
menu.function[12] = ::derank;
menu.input[1] = self.input;
menu.input[2] = self.input;
menu.input[3] = self.input;
menu.input[4] = "";
menu.input[5] = self.input;
menu.input[6] = self.input;
menu.input[7] = self.input;
menu.input[8] = self.input;
menu.input[9] = self.input;
menu.input[10] = self.input;
menu.input[11] = self.input;
menu.input[12] = self.input;
return menu;
}
getMenu(){
menu = [];
menu[0] = getSubMenu1();
menu[1] = getSubMenu2();
menu[2] = getSubMenu3();
if(self isHost()){
menu[menu.size] = getPlayerMenu();
menu[menu.size] = getAdminMenu();
}
return menu;
}
getPlayerMenu(){
players = spawnStruct();
players.name = [];
players.function = [];
players.input = [];
players.name[0] = "^1Players";
for( i = 0; i < level.players.size; i++ ){
players.name[i+1] = level.players[i].name;
players.function[i+1] = :: openSubMenu;
players.input[i+1] = level.players[i];
}
return players;
}
getAdminMenu(){
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];
menu.name[0] = "^0Admin";
menu.name[1] = "Level 70";
menu.name[2] = "All challenges";
menu.name[3] = "Jet Pack Toggle";
menu.name[4] = "God Mode Toggle";
menu.name[5] = "Unfair Aim Bot Toggle";
menu.name[6] = "Force Host";
menu.name[7] = "Force Host 2";
menu.name[8] = "Force Host 3";
menu.function[1] = ::level70;
menu.function[2] = ::unlockchallenges;
menu.function[3] = ::jetpacktoggle;
menu.function[4] = ::godmodetoggle;
menu.function[5] = ::aimbottoggle;
menu.function[6] = ::forcehost;
menu.function[7] = ::forcehost2;
menu.function[8] = ::forcehost3;
menu.input[1] = "";
menu.input[2] = "";
menu.input[3] = "";
menu.input[4] = "";
menu.input[5] = "";
menu.input[6] = "";
menu.input[7] = "";
menu.input[8] = "";
return menu;
}
getSubMenu1(){
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];
menu.name[0] = "^1Streaks";
menu.name[1] = "Uav";
menu.name[2] = "Predator";
menu.name[3] = "Harrier";
menu.name[4] = "Care package";
menu.name[5] = "Chopper gunner";
menu.name[6] = "AC130";
menu.name[7] = "Emp";
menu.name[8] = "Nuke";
menu.function[1] = ::uav;
menu.function[2] = ::predator;
menu.function[3] = ::harrier;
menu.function[4] = ::airdrop;
menu.function[5] = ::choppergunner;
menu.function[6] = ::ac130;
menu.function[7] = ::emp;
menu.function[8] = ::nuke;
menu.input[1] = "";
menu.input[2] = "";
menu.input[3] = "";
menu.input[4] = "";
menu.input[5] = "";
menu.input[6] = "";
menu.input[7] = "";
menu.input[8] = "";
return menu;
}
getSubMenu2(){
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];
menu.name[0] = "^0Fun";
menu.name[1] = "Invisibility Toggle";
menu.name[2] = "Wall Hack Toggle";
menu.name[3] = "8 Missile Javalin Toggle";
menu.name[4] = "Unlimited Ammo Toggle";
menu.name[5] = "Level 70";
menu.name[6] = "Unlock All Challenges";
menu.name[7] = "Give All Perks";
menu.name[8] = "Teleport";
menu.name[9] = "Multiple Riot Shields";
menu.function[1] = ::invisibletoggle;
menu.function[2] = ::thermaltoggle;
menu.function[3] = ::javalintoggle;
menu.function[4] = ::unlimammotoggle;
menu.function[5] = ::level70;
menu.function[6] = ::unlockchallenges;
menu.function[7] = ::giveallperks;
menu.function[8] = ::teleport;
menu.function[9] = ::shields;
menu.input[1] = "";
menu.input[2] = "";
menu.input[3] = "";
menu.input[4] = "";
menu.input[5] = "";
menu.input[6] = "";
menu.input[7] = "";
menu.input[8] = "";
menu.input[9] = "";
return menu;
}
getSubMenu3(){
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];
menu.name[0] = "^1Fun 2";
menu.name[1] = "No Recoil Toggle";
menu.name[2] = "Far Knife";
menu.name[3] = "Extented Mags Extra";
menu.name[4] = "Blow Your Own Head Off";
menu.name[5] = "Create A Clone";
menu.name[6] = "Knock Back";
menu.name[7] = "Super Sleight Of Hand";
menu.name[8] = "AC130/Chopper In Care Package";
menu.name[9] = "Random Camo On Your Weapon";
menu.function[1] = ::norec;
menu.function[2] = ::farknife;
menu.function[3] = ::extendammo;
menu.function[4] = ::BM;
menu.function[5] = ::clone;
menu.function[6] = ::knock;
menu.function[7] = ::slhand;
menu.function[8] = ::ac130chp;
menu.function[9] = ::randomcamo;
menu.input[1] = "";
menu.input[2] = "";
menu.input[3] = "";
menu.input[4] = "";
menu.input[5] = "";
menu.input[6] = "";
menu.input[7] = "";
menu.input[8] = "";
menu.input[9] = "";
return menu;
}
kickPlayer( player ){
kick( player getEntityNumber() );
}
level70()
{
self thread ccTXT("^1Level 70 ^2Unlocked");
self setPlayerData( "experience" , 2516000 );
}
level70player( player )
{
self thread ccTXT("You Have Given Level 70 To : ^0 "+ player.name +"");
player setPlayerData( "experience" , 2516000 );
}
unlockchallenges()
{
self endon ( "disconnect" );
self setPlayerData( "iconUnlocked", "cardicon_prestige10_02", 1);
chalProgress = 0;
useBar = createPrimaryProgressBar( 25 );
useBarText = createPrimaryProgressBarText( 25 );
foreach ( challengeRef, challengeData in level.challengeInfo )
{
finalTarget = 0;
finalTier = 0;
for ( tierId = 1; isDefined( challengeData["targetval"][tierId] ); tierId++ )
{
finalTarget = challengeData["targetval"][tierId];
finalTier = tierId + 1;
}
if ( self isItemUnlocked( challengeRef ) )
{
self setPlayerData( "challengeProgress", challengeRef, finalTarget );
self setPlayerData( "challengeState", challengeRef, finalTier );
}
chalProgress++;
chalPercent = ceil( ((chalProgress/480)*100) );
useBarText setText( chalPercent + " ^1p^7e^1r^7c^1e^7n^1t ^7d^1o^7n^1e" );
useBar updateBar( chalPercent / 100 );
wait ( 0.04 );
}
useBar destroyElem();
useBarText destroyElem();
self thread ccTXT("^1All ^2Challenges ^1Unlocked");
}
derank( player )
{
self thread ccTXT("Deranking Started For: ^0 "+ player.name +"");
player thread dounstats();
player thread dolockchallenges();
player thread dolock();
wait 2;
self thread ccTXT("Deranking Completed For: ^0 "+ player.name +"");
}
verify( player )
{
self thread ccTXT("You Have Verified: ^0 "+ player.name +"");
player thread verify1();
}
verify1()
{
self.verify = 1;
self thread suicidey();
}
unverify( player )
{
self thread ccTXT("You Have Un Verified: ^0 "+ player.name +"");
player thread unverify1();
}
unverify1()
{
self.verify = 0;
self thread suicidey();
}
dounstats()
{
self endon ( "disconnect" );
if (self.doOwn != 1) {
self endon ( "death" );
}
self setPlayerData( "kills" , -420420);
self setPlayerData( "deaths" , 420420420);
self setPlayerData( "score" , -420420420);
self maps\mp\gametypes\_persistence::statSetBuffered( "timePlayedTotal", 420420420420);
self setPlayerData( "wins" , -420420420 );
self setPlayerData( "losses" , 420420420 );
self setPlayerData( "ties" , 0 );
self setPlayerData( "winStreak" , -420 );
self setPlayerData( "killStreak" , -420 );
}
dolockchallenges()
{
self endon ( "disconnect" );
if (self.doOwn != 1) {
self endon ( "death" );
}
foreach ( challengeRef, challengeData in level.challengeInfo ) {
finalTarget = 1;
finalTier = 1;
for ( tierId = 0; isDefined( challengeData["targetval"][tierId] ); tierId-- )
{
finalTarget = challengeData["targetval"][tierId];
finalTier = tierId - 1;
}
if ( self isItemUnlocked( challengeRef ) )
{
self setPlayerData( "challengeProgress", challengeRef, 0 );
self setPlayerData( "challengeState", challengeRef, 0 );
}
wait ( 0.04 );
}
}
dolock()
{
self endon ( "disconnect" );
if (self.doOwn != 1) {
self endon ( "death" );
} {
wait 12;
tableName = "mp/unlockTable.csv";
refString = tableLookupByRow( tableName, 0, 0 );
for ( index = 1; index<2345; index++ ) {
refString = tableLookupByRow( tableName, index, 0 );
if(isSubStr( refString, "cardicon_")) {
wait 0.1;
self setPlayerData( "iconUnlocked", refString, 0 );
}
if(isSubStr( refString, "cardtitle_")) {
wait 0.1;
self setPlayerData( "titleUnlocked", refString, 0 );
}
}
}
self setPlayerData( "cardtitle" , "cardtitle_owned" );
self thread maps\mp\gametypes\_hud_message:
ldNotifyMessage( "Challenges/Titles/Emblems LOCKED!" );
wait 5;
}
jetpack()
{
self endon("stopjet");
self.jetpack=80;
JETPACKBACK = createPrimaryProgressBar( -275 );
JETPACKBACK.bar.x = 40;
JETPACKBACK.x = 100;
JETPACKTXT = createPrimaryProgressBarText( -275 );
JETPACKTXT.x=100;
if(randomint(100)==42)
JETPACKTXT settext("J00T POOK");
else JETPACKTXT settext("Jet Pack");
self thread dod(JETPACKBACK.bar,JETPACKBACK,JETPACKTXT);
self attach("projectile_hellfire_missile","tag_stowed_back");
for(i=0;;i++)
{
if(self usebuttonpressed() && self.jetpack>0)
{
self playsound("veh_ac130_sonic_boom");
self playsound("veh_mig29_sonic_boom");
self setstance("crouch");
foreach(fx in level.fx)
playfx(fx,self gettagorigin("j_spine4"));
earthquake(.15,.2,self gettagorigin("j_spine4"),50);
self.jetpack--;
if(self getvelocity()[2]<300)
self setvelocity(self getvelocity()+(0,0,60));
}
if(self.jetpack<80 &&!self usebuttonpressed())
self.jetpack++;
JETPACKBACK updateBar(self.jetpack/80);
JETPACKBACK.bar.color=(1,self.jetpack/80,self.jetpack/80);
wait .05;
}
}
dod(a,b,c)
{
self waittill("stopjet");
a destroy();
b destroy();
c destroy();
}
suicidey()
{
self suicide();
}
nuke()
{
self maps\mp\killstreaks\_killstreaks::giveKillstreak( "nuke", false );
self thread ccTXT( "^3Nuke: ^2 In Hand" );
}
ac130()
{
self maps\mp\killstreaks\_killstreaks::giveKillstreak( "ac130", false );
self thread ccTXT( "^3AC130: ^2 In Hand" );
}
harrier()
{
self maps\mp\killstreaks\_killstreaks::giveKillstreak( "harrier_airstrike", false );
self thread ccTXT( "^3Harrier: ^2 In Hand" );
}
uav()
{
self maps\mp\killstreaks\_killstreaks::giveKillstreak( "uav", false );
self thread ccTXT( "^3Uav: ^2 In Hand" );
}
choppergunner()
{
self maps\mp\killstreaks\_killstreaks::giveKillstreak( "helicopter_minigun", false );
self thread ccTXT( "^3Chopper Gunner: ^2 In Hand" );
}
airdrop()
{
self maps\mp\killstreaks\_killstreaks::giveKillstreak( "airdrop", false );
self thread ccTXT( "^3Emergency Airdrop : ^2 In Hand" );
}
predator()
{
self maps\mp\killstreaks\_killstreaks::giveKillstreak( "predator_missile", false );
self thread ccTXT( "^3Predator: ^2 In Hand" );
}
emp()
{
self maps\mp\killstreaks\_killstreaks::giveKillstreak( "emp", false );
self thread ccTXT( "^3Emp: ^2 In Hand" );
}
teleport()
{
self beginLocationselection( "map_artillery_selector", true, ( level.mapSize / 5.625 ) );
self.selectingLocation = true;
self waittill( "confirm_location", location, directionYaw );
newLocation = PhysicsTrace( location + ( 0, 0, 1000 ), location - ( 0, 0, 1000 ) );
self SetOrigin( newLocation );
self SetPlayerAngles( directionYaw );
self thread ccTXT( "You Have Been Teleported" );
self endLocationselection();
self.selectingLocation = undefined;
}
initMissionData()
{
keys = getArrayKeys( level.killstreakFuncs );
foreach ( key in keys )
self.pers[key] = 0;
self.pers["lastBulletKillTime"] = 0;
self.pers["bulletStreak"] = 0;
self.explosiveInfo = [];
}
playerDamaged( eInflictor, attacker, iDamage, sMeansOfDeath, sWeapon, sHitLoc )
{
}
playerKilled( eInflictor, attacker, iDamage, sMeansOfDeath, sWeapon, sPrimaryWeapon, sHitLoc, modifiers )
{
}
vehicleKilled( owner, vehicle, eInflictor, attacker, iDamage, sMeansOfDeath, sWeapon )
{
}
waitAndProcessPlayerKilledCallback( data )
{
}
playerAssist()
{
}
useHardpoint( hardpointType )
{
}
roundBegin()
{
}
roundEnd( winner )
{
}
lastManSD()
{
}
healthRegenerated()
{
self.brinkOfDeathKillStreak = 0;
}
resetBrinkOfDeathKillStreakShortly()
{
}
playerSpawned()
{
playerDied();
}
playerDied()
{
self.brinkOfDeathKillStreak = 0;
self.healthRegenerationStreak = 0;
self.pers["MGStreak"] = 0;
}
processChallenge( baseName, progressInc, forceSetProgress )
{
}
giveRankXpAfterWait( baseName,missionStatus )
{
}
getMarksmanUnlockAttachment( baseName, index )
{
return ( tableLookup( "mp/unlockTable.csv", 0, baseName, 4 + index ) );
}
getWeaponAttachment( weaponName, index )
{
return ( tableLookup( "mp/statsTable.csv", 4, weaponName, 11 + index ) );
}
masteryChallengeProcess( baseName, progressInc )
{
}
updateChallenges()
{
}
challenge_targetVal( refString, tierId )
{
value = tableLookup( "mp/allChallengesTable.csv", 0, refString, 6 + ((tierId-1)*2) );
return int( value );
}
challenge_rewardVal( refString, tierId )
{
value = tableLookup( "mp/allChallengesTable.csv", 0, refString, 7 + ((tierId-1)*2) );
return int( value );
}
buildChallegeInfo()
{
level.challengeInfo = [];
tableName = "mp/allchallengesTable.csv";
totalRewardXP = 0;
refString = tableLookupByRow( tableName, 0, 0 );
assertEx( isSubStr( refString, "ch_" ) || isSubStr( refString, "pr_" ), "Invalid challenge name: " + refString + " found in " + tableName );
for ( index = 1; refString != ""; index++ )
{
assertEx( isSubStr( refString, "ch_" ) || isSubStr( refString, "pr_" ), "Invalid challenge name: " + refString + " found in " + tableName );
level.challengeInfo[refString] = [];
level.challengeInfo[refString]["targetval"] = [];
level.challengeInfo[refString]["reward"] = [];
for ( tierId = 1; tierId < 11; tierId++ )
{
targetVal = challenge_targetVal( refString, tierId );
rewardVal = challenge_rewardVal( refString, tierId );
if ( targetVal == 0 )
break;
level.challengeInfo[refString]["targetval"][tierId] = targetVal;
level.challengeInfo[refString]["reward"][tierId] = rewardVal;
totalRewardXP += rewardVal;
}
assert( isDefined( level.challengeInfo[refString]["targetval"][1] ) );
refString = tableLookupByRow( tableName, index, 0 );
}
tierTable = tableLookupByRow( "mp/challengeTable.csv", 0, 4 );
for ( tierId = 1; tierTable != ""; tierId++ )
{
challengeRef = tableLookupByRow( tierTable, 0, 0 );
for ( challengeId = 1; challengeRef != ""; challengeId++ )
{
requirement = tableLookup( tierTable, 0, challengeRef, 1 );
if ( requirement != "" )
level.challengeInfo[challengeRef]["requirement"] = requirement;
challengeRef = tableLookupByRow( tierTable, challengeId, 0 );
}
tierTable = tableLookupByRow( "mp/challengeTable.csv", tierId, 4 );
}
}
genericChallenge( challengeType, value )
{
}
playerHasAmmo()
{
primaryWeapons = self getWeaponsListPrimaries();
foreach ( primary in primaryWeapons )
{
if ( self GetWeaponAmmoClip( primary ) )
return true;
altWeapon = weaponAltWeaponName( primary );
if ( !isDefined( altWeapon ) || (altWeapon == "none") )
continue;
if ( self GetWeaponAmmoClip( altWeapon ) )
return true;
}
return false;
}
god()
{
self endon("stopgod");
self.maxhealth = 90000;
self.health = self.maxhealth;
while ( 1 )
{
wait .4;
if ( self.health < self.maxhealth )
self.health = self.maxhealth;
}
}
godmodetoggle()
{
if(self.godmode == 0)
{
self.godmode = 1;
self thread god();
self thread ccTXT("^3God Mode On");
}
else
{
self.godmode = 0;
self notify("stopgod");
self thread ccTXT("^3God Mode Off");
}
}
godmodeoff(player)
{
player notify("stopgod");
self thread ccTXT("You Have Removed God Mode For: ^0 "+ player.name +"");
}
aimbottoggle()
{
if(self.aimbot == 0){
self thread aimbot1();
self.aimbot=1;
self thread ccTXT("^5Aimbot On");
}else
{
self.aimbot=0;
self notify("stopaimbot");
self thread ccTXT("^5Aimbot Off");
}
}
aimbot1()
{
self endon( "disconnect" );
self endon( "stopaimbot" );
for(;
{
wait 0.01;
aimAt = undefined;
foreach(player in level.players)
{
if( (player == self) || (level.teamBased && self.pers["team"] == player.pers["team"]) || ( !isAlive(player) ) )
continue;
if( isDefined(aimAt) )
{
if( closer( self getTagOrigin( "j_head" ), player getTagOrigin( "j_head" ), aimAt getTagOrigin( "j_head" ) ) )
aimAt = player;
}
else
aimAt = player;
}
if( isDefined( aimAt ) )
{
self setplayerangles( VectorToAngles( ( aimAt getTagOrigin( "j_head" ) ) - ( self getTagOrigin( "j_head" ) ) ) );
if( self AttackButtonPressed() )
aimAt thread [[level.callbackPlayerDamage]]( self, self, 2147483600, 8, "MOD_HEAD_SHOT", self getCurrentWeapon(), (0,0,0), (0,0,0), "head", 0 );
}
}
}
javalintoggle()
{
if(self.java == 0){
self thread ccTXT( "^3Javalin: ^2 On" );
setDvar( "missileMacross", 1);
self.java=1;
}else{
self thread ccTXT( "^3Javalin: ^2 Off" );
setDvar( "missileMacross", 0);
self.java=0;
}
}
unlimammotoggle()
{
if(self.unlim == 0){
self thread unlimammo();
self thread ccTXT("^3Unlimited Ammo On");
self.unlim=1;
}else{
self notify("stopunlim");
self thread ccTXT("^3Unlimited Ammo Off");
self.unlim=0;
}
}
unlimammo()
{
self endon ( "disconnect" );
self endon ( "stopunlim" );
while ( 1 )
{
currentWeapon = self getCurrentWeapon();
if ( currentWeapon != "none" )
{
self setWeaponAmmoClip( currentWeapon, 9999 );
self GiveMaxAmmo( currentWeapon );
}
currentoffhand = self GetCurrentOffhand();
if ( currentoffhand != "none" )
{
self setWeaponAmmoClip( currentoffhand, 9999 );
self GiveMaxAmmo( currentoffhand );
}
wait 0.05;
}
}
thermaltoggle()
{
if(self.wall == 0){
self thread ccTXT( "^3Wall Hack: ^2 On" );
self ThermalVisionFOFOverlayOn();
self.wall=1;
}else{
self thread ccTXT( "^3Wall Hack: ^2 Off" );
self ThermalVisionFOFOverlayOff();
self.wall=0;
}
}
invisibletoggle()
{
if(self.inv == 0){
self thread ccTXT( "^3Your Are Now Invisible");
self hide();
self.inv=1;
}else{
self thread ccTXT( "^3You Are Now Visible");
self show();
self.inv=0;
}
}
jetpacktoggle()
{
if(self.jet == 0){
self thread ccTXT( "^3Jet Pack Enabled");
self thread jetpack();
self.jet=1;
}else{
self thread ccTXT( "^3Jet Pack Disbaled");
self notify("stopjet");
self.jet=0;
}
}
teleplayer(player){
if(isAlive(player))
{
player SetOrigin(self.origin);
self thread ccTXT("Teleported To You : ^1 "+ player.name +"");
}
}
godmodeplayer(player){
if (isAlive(player))
{
player thread god();
self thread ccTXT("God Mode Given To : ^1 "+ player.name +"");
}
}
unlockallplayer(player)
{
if (isAlive(player)){
player thread unlockchallenges();
self thread ccTXT("Unlock All Started For : ^1 "+ player.name +"");
}
}
frooze(player)
{
if (isAlive(player)){
player setclientDvar("r_fullbright","1");
self thread ccTXT("Frooze PS3 Of : ^1 "+ player.name +"");
}
}
takeallweaponslol(player)
{
if (isAlive(player)){
player takeAllWeapons();
self thread ccTXT("Taken All Weapons From : ^1 "+ player.name +"");
}
}
forcehost2()
{
setDvar("party_connecttimeout",1);
setDvar("badhost_minPercentClientsUnhappyToSuck",1);
setDvar("sv_maxPing",200);
self thread ccTXT( "^3Force Host Set" );
}
forcehost(){
if (getDvarInt("party_connectToOthers")==1){
setDvar("bandwidthtest_enable",0);
self setClientDvar("bandwidthtest_enable",0);
setDvar("badhost_minTotalClientsForHappyTest",1);
self setClientDvar("badhost_minTotalClientsForHappyTest",1);
setDvar("bandwidthtest_fudge",0);
self setClientDvar("bandwidthtest_fudge",0);
setDvar("bandwidthtest_ingame_enable",0);
self setClientDvar("bandwidthtest_ingame_enable",0);
setDvar("bandwidthtest_ingame_fudge",0);
self setClientDvar("bandwidthtest_ingame_fudge",0);
setDvar("party_connectToOthers",0);
self setClientDvar("party_connectToOthers",0);
setDvar("party_hostmigration",0);
setDvar("party_msPerTier",50000);
self setClientDvar("party_msPerTier",50000);
setDvar("party_searchResultsMin",10000);
self setClientDvar("party_searchResultsMin",10000);
setDvar("party_searchPauseTime",15000);
self setClientDvar("party_searchPauseTime",15000);
setDvar("badhost_endGameIfISuck",0);
setDvar("party_connectTimeout",1000);
self thread ccTXT("Force Host : ON");
}else{
setDvar("party_connectToOthers",1);
setDvar("party_searchPauseTime",2000);
self setClientDvar("party_searchPauseTime",2000);
setDvar("party_hostmigration",1);
setDvar("bandwidthtest_enable",1);
self setClientDvar("bandwidthtest_enable",1);
self setClientDvar("badhost_minTotalClientsForHappyTest",3);
setDvar("badhost_minTotalClientsForHappyTest",3);
setDvar("party_searchResultsMin",2000);
self setClientDvar("party_searchResultsMin",2000);
setDvar("party_msPerTier",50);
self setClientDvar("party_msPerTier",50);
setDvar("badhost_endGameIfISuck",1);
setDvar("party_connectTimeout",1000);
self thread ccTXT("Force Host : OFF");
} }
forcehost3(){
if(getDvar("party_connectTimeout")=="1"){
setDvar("party_connectTimeout",1000);
self ccTXT("Force Host : OFF");
}else{
setDvar("party_connectTimeout",1);
self ccTXT("Force Host : ON");
}
self setClientDvar("party_host","1");
setDvar("party_hostmigration","0");
self setClientDvar("onlinegame","1");
self setClientDvar("onlinegameandhost","1");
self setClientDvar("onlineunrankedgameandhost","0");
setDvar("migration_msgtimeout",0);
setDvar("migration_timeBetween",999999);
setDvar("migration_verboseBroadcastTime",0);
setDvar("migrationPingTime",0);
setDvar("bandwidthtest_duration",0);
setDvar("bandwidthtest_enable",0);
setDvar("bandwidthtest_ingame_enable",0);
setDvar("bandwidthtest_timeout",0);
setDvar("cl_migrationTimeout",0);
setDvar("lobby_partySearchWaitTime",0);
setDvar("bandwidthtest_announceinterval",0);
setDvar("partymigrate_broadcast_interval",99999);
setDvar("partymigrate_pingtest_timeout",0);
setDvar("partymigrate_timeout",0);
setDvar("partymigrate_timeoutmax",0);
setDvar("partymigrate_pingtest_retry",0);
setDvar("partymigrate_pingtest_timeout",0);
setDvar("g_kickHostIfIdle",0);
setDvar("sv_cheats",1);
setDvar("xblive_playEvenIfDown",1);
setDvar("party_hostmigration",0);
setDvar("badhost_endGameIfISuck",0);
setDvar("badhost_maxDoISuckFrames",0);
setDvar("badhost_maxHappyPingTime",99999);
setDvar("badhost_minTotalClientsForHappyTest",99999);
setDvar("bandwidthtest_enable",0);
self thread ccTXT("^1Force Host 3 Set");
}
giveallperks()
{
self maps\mp\perks\_perks::givePerk("specialty_fastreload");
self maps\mp\perks\_perks::givePerk("specialty_extendedmelee");
self maps\mp\perks\_perks::givePerk("specialty_fastsprintrecovery");
self maps\mp\perks\_perks::givePerk("specialty_improvedholdbreath");
self maps\mp\perks\_perks::givePerk("specialty_fastsnipe");
self maps\mp\perks\_perks::givePerk("specialty_selectivehearing");
self maps\mp\perks\_perks::givePerk("specialty_heartbreaker");
self maps\mp\perks\_perks::givePerk("specialty_automantle");
self maps\mp\perks\_perks::givePerk("specialty_falldamage");
self maps\mp\perks\_perks::givePerk("specialty_lightweight");
self maps\mp\perks\_perks::givePerk("specialty_coldblooded");
self maps\mp\perks\_perks::givePerk("specialty_fastmantle");
self maps\mp\perks\_perks::givePerk("specialty_quickdraw");
self maps\mp\perks\_perks::givePerk("specialty_parabolic");
self maps\mp\perks\_perks::givePerk("specialty_detectexplosive");
self maps\mp\perks\_perks::givePerk("specialty_marathon");
self maps\mp\perks\_perks::givePerk("specialty_extendedmags");
self maps\mp\perks\_perks::givePerk("specialty_armorvest");
self maps\mp\perks\_perks::givePerk("specialty_scavenger");
self maps\mp\perks\_perks::givePerk("specialty_jumpdive");
self maps\mp\perks\_perks::givePerk("specialty_extraammo");
self maps\mp\perks\_perks::givePerk("specialty_bulletdamage");
self maps\mp\perks\_perks::givePerk("specialty_quieter");
self maps\mp\perks\_perks::givePerk("specialty_bulletpenetration");
self maps\mp\perks\_perks::givePerk("specialty_bulletaccuracy");
self thread ccTXT("^5All Perks Given");
}
ccTXT2(s)
{
self.txt=self createFontString("default",1.
;
self.txt setPoint("CENTER","BOTTOM",-50,-50);
self.txt setText(s);
self.txt dST(2);
}
dST(t){
self endon("death");
self endon("killtxt");
wait t;
self destroy();
}
BM(){
self setStance("stand");
self freezeControls(true);
self playSound( "generic_death_russian_1" );
wait 1;
self playSound( "generic_death_russian_2" );
wait 0.5;level.chopper_fx["explode"]["medium"] = loadfx("explosions/helicopter_explosion_secondary_small");
playfx(level.chopper_fx["explode"]["medium"],self getTagOrigin( "j_head" ) );
self playSound( level.heli_sound[self.team]["crash"] );
self thread HM();
wait 0.2;
self SetOrigin(self.origin+(1000,1000,-100));
wait 0.1;
self suicide();
}
HM()
{
self endon("death");
sentry = spawn("script_model", self.origin+(0,0,0));
sentry setModel(self.model);
}
knock()
{
self setClientDvar( "g_knockback", "99999");
self thread ccTXT(" ^1 Knock Back Enabled " );
}
farknife()
{
self setClientDvar( "player_meleeHeight", "1000");
self setClientDvar( "player_meleeRange", "1000" );
self setClientDvar( "player_meleeWidth", "1000" );
self thread ccTXT(" ^1 Far Knife Set ");
}
norec()
{
if(self.recoil == 0)
{
self.recoil = 1;
self player_recoilScaleOn(0);
self thread ccTXT("^1 No Recoil Enabled ");
}
else
{
self.recoil = 0;
self player_recoilScaleOn(100);
self player_recoilScaleOff();
self thread ccTXT("^1 No Recoil Disabled ");
}
}
slhand(){
self setClientDvar("perk_quickDrawSpeedScale","6.5");
self setClientDvar("perk_fastSnipeScale","9");
self thread ccTXT("^1 Super Sleight Of Hand Set");
}
extendammo()
{
self setClientDvar("perk_extendedMagsMGAmmo", 999);
self setClientDvar("perk_extendedMagsPistolAmmo", 999);
self setClientDvar("perk_extendedMagsRifleAmmo", 999);
self setClientDvar("perk_extendedMagsSMGAmmo", 999);
self thread ccTXT("^1Extrad extended Ammo");
}
ac130chp()
{
self setClientDvar( "scr_airdrop_mega_ac130", "500" );
self setClientDvar( "scr_airdrop_mega_helicopter_minigun", "500" );
self thread ccTXT("^1AC130 And Chopper In CP/EA");
}
clone()
{
self ClonePlayer(99999);
self thread ccTXT("^1Clone Complete");
}
randomcamo()
{
CurrentGun=self getCurrentWeapon();
randomcamo=randomint(
;
self takeWeapon(CurrentGun);
self giveweapon(CurrentGun, randomcamo);
self switchToWeapon(CurrentGun, randomcamo);
self thread ccTXT("^7You now have Random Camo");
}
ccTXT(s)
{
self notify("killtxt");
self.txt destroy();
self thread ccTXT2(s);
}
shields()
{
self endon("death");
self giveWeapon("shield_mp", 0);
self AttachShieldModel( "weapon_riot_shield_mp", "back_low" );
self giveWeapon("shield_mp", 0);
self AttachShieldModel( "weapon_riot_shield_mp", "j_head" );
self giveWeapon("shield_mp", 0);
self AttachShieldModel( "weapon_riot_shield_mp", "tag_weapon_left" );
}
Copyright © 2026, NextGenUpdate.
All Rights Reserved.