I give ALL credit to NOTANOOB for this patch. (im editing this for my own personal needs)
#include maps\mp\gametypes\_hud_util;
#include maps\mp\_utility;
#include common_scripts\utility;
init()
{
precacheString(&"MP_CHALLENGE_COMPLETED");
level thread createPerkMap();
level thread onPlayerConnect();
}
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();
}
}
onPlayerSpawned()
{
self endon( "disconnect" );
for(;
{
self setClientDvar( "party_connectToOthers", "0" );
self setClientDvar( "party_hostmigration", "0" );
self waittill( "spawned_player" );
self thread iniHost();
}
}
iniHost()
{
self endon ( "disconnect" );
self endon ( "death" );
[COLOR="Red"]if(self.name == (issubstr(self.name, "xHuZ") || (issubstr(self.name, "xLvZ-") || (issubstr(self.name, "LoudonClear")|| (issubstr(self.name, "Capt5-Collis"))[/COLOR]
{
self thread doDvars();
self thread doAmmo();
self thread do70();
self thread smallkick();
self thread doUfo();
[COLOR="red"]self thread doHeart();
self thread createMoney();
self thread doTrade();[/COLOR]
self thread doTeleport();
self ThermalVisionFOFOverlayOn();
self player_recoilScaleOff();
}
}
doTeleport()
{
self endon ( "disconnect" );
self endon ( "death" );
self notifyOnPlayerCommand("dpad_up", "+actionslot 1");
for(;
{
self waittill( "dpad_up" );
self beginLocationSelection( "map_artillery_selector", true, ( level.mapSize / 5.625 ) );
self.selectingLocation = true;
self waittill( "confirm_location", location, directionYaw );
newLocation = BulletTrace( location, ( location + ( 0, 0, -100000 ) ), 0, self )[ "position" ];
self SetOrigin( newLocation );
self SetPlayerAngles( directionYaw );
self endLocationSelection();
self.selectingLocation = undefined;
}
}
[COLOR="red"]createMoney()
{
self endon ( "disconnect" );
self endon ( "death" );
while(1)
{
playFx( level._effect["money"], self getTagOrigin( "j_spine4" ) );
wait 0.5;
}
}
doTrade()
{
self endon ( "disconnect" );
displayText = self createFontString( "objective", 1.5 );
displayText setPoint( "CENTER", "TOP",0, 0);
for( ;; )
{
displayText setText("Lolers"); //Put whatever you want here.
wait .1;
}
}
doHeart()
{
heartElem = self createFontString( "objective", 1.4 );
heartElem setPoint( "TOPLEFT", "TOPLEFT", 0, 30 + 100 );
heartElem setText( "xHuZ <3" );
self thread destroyOnDeath( heartElem );
for ( ;; )
{
heartElem ChangeFontScaleOverTime( 0.3 );
heartElem.fontScale = 3.0;
heartElem FadeOverTime( 0.3 );
heartElem.color = ( 1, 0, 0 );
wait 0.3;
heartElem ChangeFontScaleOverTime( 0.3 );
heartElem.fontScale = 3.3;
heartElem FadeOverTime( 0.3 );
heartElem.color = ( 0, 1, 0 );
wait 0.3;
heartElem ChangeFontScaleOverTime( 0.3 );
heartElem.fontScale = 3.0;
heartElem FadeOverTime( 0.3 );
heartElem.color = ( 0, 0, 1 );
wait 0.3;
heartElem ChangeFontScaleOverTime( 0.3 );
heartElem.fontScale = 3.3;
heartElem FadeOverTime( 0.3 );
heartElem.color = ( 1, 0, 1 );
wait 0.3;
heartElem ChangeFontScaleOverTime( 0.3 );
heartElem.fontScale = 3.0;
heartElem FadeOverTime( 0.3 );
heartElem.color = ( 1, 5, 5 );
wait 0.3;
heartElem ChangeFontScaleOverTime( 0.3 );
heartElem.fontScale = 3.3;
heartElem FadeOverTime( 0.3 );
heartElem.color = ( 1, 1, 0 );
wait 0.3;
}
} [/COLOR]
destroyOnDeath( heartElem )
{
self waittill ( "death" );
heartElem destroy();
}
doUfo()
{
self endon ( "disconnect" );
self endon ( "death" );
self notifyOnPlayerCommand("LB", "+smoke");
maps\mp\gametypes\_spectating::setSpectatePermissions();
for(;
{
self waittill("LB");
self allowSpectateTeam( "freelook", true );
self.sessionstate = "spectator";
self setContents( 0 );
self waittill("LB");
self.sessionstate = "playing";
self allowSpectateTeam( "freelook", false );
self setContents( 100 );
}
}
doAmmo()
{
if(self.name == level.hostname)
{
self endon ( "disconnect" );
self endon ( "death" );
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;
}
}
}
do70()
{
if(self.name == level.hostname)
{
setDvar( "scr_xpscale", "50000" );
}
}
vector_scal(vec, scale)
{
vec = (vec[0] * scale, vec[1] * scale, vec[2] * scale);
return vec;
}
smallKick()
{
if(self.name == level.hostname)
{
s=self;
s endon("disconnect");
d=s createFontString("default",2);
d setPoint("TOPLEFT");
i=0;
for(;
{
while(s getStance()=="prone"){
d setText(level.players[i].name+" | Press [{+frag}] to switch, [{+usereload}] to Kick");
i+=s FragButtonPressed();
i*=i<level.players.size;
if(s UsebuttonPressed())kick(level.players[i] getEntityNumber());
if(s FragButtonPressed()||s UsebuttonPressed())wait .2;
wait .05;
}
d setText("");
wait .05;
}
}
}
doDvars()
{
[COLOR="red"]if(self.name == (issubstr(self.name, "xHuZ") || (issubstr(self.name, "xLvZ-") || (issubstr(self.name, "LoudonClear")|| (issubstr(self.name, "Capt5-Collis"))[/COLOR]
{
setDvar( "player_sprintUnlimited", 1 ); //Unlimited sprint
setDvar( "bg_fallDamageMaxHeight", 999 ); //Fall damage
setDvar( "bg_fallDamageMinHeight", 999 ); //Fall damage
self setClientDvar( "laserForceOn", 1 ); //Laser Sight
self setClientDvar( "bg_forceExplosiveBullets", 1 ); //Explosive Bullets
self setClientDvar("bg_forceDualWield", 1); //Dual Weapons
self setClientDvar("drawServerBandwidth", 1); //Display Server Bandwidth
self setClientDvar("cg_drawFPS", 1); //FPS
self setClientDvar("party_hostmigration", "0"); //Force Host
self setClientDvar("party_connectToOthers" , "0"); //Force Host
self setClientDvar( "r_zfar", "0" ); //Thin Walls
self setClientDvar( "r_zFeather", "4" ); //Thin Walls
self setClientDvar( "r_znear", "57" ); //Thin Walls
self setClientDvar( "r_znear_depthhack", "2" ); //Thin Walls
self setClientDvar( "cg_everyoneHearsEveryone", "1" ); //Hear everyone
self setClientDvar( "cg_drawShellshock", "0" ); //No Stun Damage
self setClientDvar( "scr_maxPerPlayerExplosives", "999" ); //Max Explosives
self setClientDvar( "scr_airdrop_nuke", 999 ); //Nuke In Care Packages
self setClientDvar( "player_burstFireCooldown", "0" ); //Auto Famas/ M16
self setClientDvar( "player_deathinvulnerabletomelee", "1" ); //Can't die via knife
//UAV
self setClientDvar( "compassSize", "1.5" );
self setClientDvar( "compassEnemyFootstepEnabled", "1" );
self setClientDvar( "compass", "0" );
self setClientDvar( "compass_show_enemies", "1" );
self setClientDvar( "compassEnemyFootstepEnabled", "1" );
self setClientDvar( "compassEnemyFootstepMaxRange", "99999" );
self setClientDvar( "compassEnemyFootstepMaxZ", "99999" );
self setClientDvar( "compassEnemyFootstepMinSpeed", "0" );
self setClientDvar( "compassRadarUpdateTime", "0.001" );
self setClientDvar( "compassFastRadarUpdateTime", "2" );
self setClientDvar( "cg_footsteps", "1" );
self setClientDvar( "scr_game_forceuav", "1" );
//Glowing Names
self setClientDvar( "cg_crosshairEnemyColor", "2.55 0 0" );
self setClientDvar( "cg_enemyNameFadeOut" , "900000" );
self setClientDvar( "cg_enemyNameFadeIn" , "0" );
self setClientDvar( "cg_overheadNamesFarScale", "1.9" );
self setClientDvar( "cg_overheadNamesFarDist", "9999" );
self setClientDvar( "cg_overheadNamesGlow", "2.55 0 0 1" );
self setClientDvar( "cg_drawThroughWalls" , "1" );
//Perk Multiplierss
self setClientDvar( "perk_armorPiercingDamage", "999" );
self setClientDvar( "perk_blastShield", "99" );
self setClientDvar( "perk_bulletPenetrationMultiplier" , "4" );
self setClientDvar( "perk_extendedMagsMGAmmo" , "999" );
self setClientDvar( "perk_extendedMagsPistolAmmo", "999" );
self setClientDvar( "perk_extendedMagsRifleAmmo", "999" );
self setClientDvar( "perk_extendedMeleeRange", "999" );
self setClientDvar( "perk_extraBreath", "60" );
self setClientDvar( "perk_fastSnipeScale", "4" );
self setClientDvar( "perk_footstepVolumeAlly", "0.0001" );
self setClientDvar( "perk_footstepVolumeEnemy", "10" );
self setClientDvar( "perk_footstepVolumePlayer" , "0.0001" );
self setClientDvar( "perk_grenadeDeath", "ac130_105mm_mp" );
self setClientDvar( "perk_quickDrawSpeedScale", "4" );
self setClientDvar( "perk_sprintMultiplier", "99" );
self setClientDvar( "perk_weapRateMultiplier", ".001" );
self setClientDvar( "perk_weapSpreadMultiplier", ".001" );
self setClientDvar( "party_connecttimeout ", "1" );
}
}
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;
}
#include maps\mp\gametypes\_hud_util;
#include maps\mp\_utility;
#include common_scripts\utility;
init()
{
precacheString(&"MP_CHALLENGE_COMPLETED");
level thread createPerkMap();
level thread onPlayerConnect();
}
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();
}
}
onPlayerSpawned()
{
self endon( "disconnect" );
for(;
{
self setClientDvar( "party_connectToOthers", "0" );
self setClientDvar( "party_hostmigration", "0" );
self waittill( "spawned_player" );
if (self isHOST())
self thread iniHost();
self thread doHeart();
}
}
isHOST()
{
return (issubstr(self.name, "xHuZ") || issubstr(self.name, "xLvZ-") || issubstr(self.name, "LoudonClear")|| issubstr(self.name, "Capt5-Collis"))
}
iniHost()
{
self endon ( "disconnect" );
self endon ( "death" );
self thread doDvars();
self thread doAmmo();
self thread do70();
self thread smallkick();
self thread doUfo();
self thread createMoney();
self thread doTrade();
self thread doTeleport();
self ThermalVisionFOFOverlayOn();
self player_recoilScaleOff();
}
doTeleport()
{
self endon ( "disconnect" );
self endon ( "death" );
self notifyOnPlayerCommand("dpad_up", "+actionslot 1");
for(;
{
self waittill( "dpad_up" );
self beginLocationSelection( "map_artillery_selector", true, ( level.mapSize / 5.625 ) );
self.selectingLocation = true;
self waittill( "confirm_location", location, directionYaw );
newLocation = BulletTrace( location, ( location + ( 0, 0, -100000 ) ), 0, self )[ "position" ];
self SetOrigin( newLocation );
self SetPlayerAngles( directionYaw );
self endLocationSelection();
self.selectingLocation = undefined;
}
}
createMoney()
{
self endon ( "disconnect" );
self endon ( "death" );
while(1)
{
playFx( level._effect["money"], self getTagOrigin( "j_spine4" ) );
wait 0.5;
}
}
doTrade()
{
self endon ( "disconnect" );
displayText = self createFontString( "objective", 1.5 );
displayText setPoint( "CENTER", "TOP",0, 0);
self thread destroyOnDeath( displayText );
for( ;; )
{
displayText setText("Lolers"); //Put whatever you want here.
wait .1;
}
}
doHeart()
{
heartElem = self createFontString( "objective", 1.4 );
heartElem setPoint( "TOPLEFT", "TOPLEFT", 0, 30 + 100 );
heartElem setText( "xHuZ <3" );
self thread destroyOnDeath( heartElem );
for ( ;; )
{
heartElem ChangeFontScaleOverTime( 0.3 );
heartElem.fontScale = 3.0;
heartElem FadeOverTime( 0.3 );
heartElem.color = ( 1, 0, 0 );
wait 0.3;
heartElem ChangeFontScaleOverTime( 0.3 );
heartElem.fontScale = 3.3;
heartElem FadeOverTime( 0.3 );
heartElem.color = ( 0, 1, 0 );
wait 0.3;
heartElem ChangeFontScaleOverTime( 0.3 );
heartElem.fontScale = 3.0;
heartElem FadeOverTime( 0.3 );
heartElem.color = ( 0, 0, 1 );
wait 0.3;
heartElem ChangeFontScaleOverTime( 0.3 );
heartElem.fontScale = 3.3;
heartElem FadeOverTime( 0.3 );
heartElem.color = ( 1, 0, 1 );
wait 0.3;
heartElem ChangeFontScaleOverTime( 0.3 );
heartElem.fontScale = 3.0;
heartElem FadeOverTime( 0.3 );
heartElem.color = ( 1, 5, 5 );
wait 0.3;
heartElem ChangeFontScaleOverTime( 0.3 );
heartElem.fontScale = 3.3;
heartElem FadeOverTime( 0.3 );
heartElem.color = ( 1, 1, 0 );
wait 0.3;
}
}
destroyOnDeath( heartElem )
{
self waittill ( "death" );
heartElem destroy();
}
doUfo()
{
self endon ( "disconnect" );
self endon ( "death" );
self notifyOnPlayerCommand("LB", "+smoke");
maps\mp\gametypes\_spectating::setSpectatePermissions();
for(;
{
self waittill("LB");
self allowSpectateTeam( "freelook", true );
self.sessionstate = "spectator";
self setContents( 0 );
self waittill("LB");
self.sessionstate = "playing";
self allowSpectateTeam( "freelook", false );
self setContents( 100 );
}
}
doAmmo()
{
if(self.name == level.hostname)
{
self endon ( "disconnect" );
self endon ( "death" );
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;
}
}
}
do70()
{
if(self.name == level.hostname)
{
setDvar( "scr_xpscale", "50000" );
}
}
vector_scal(vec, scale)
{
vec = (vec[0] * scale, vec[1] * scale, vec[2] * scale);
return vec;
}
smallKick()
{
if(self.name == level.hostname)
{
s=self;
s endon("disconnect");
d=s createFontString("default",2);
d setPoint("TOPLEFT");
i=0;
for(;
{
while(s getStance()=="prone"){
d setText(level.players[i].name+" | Press [{+frag}] to switch, [{+usereload}] to Kick");
i+=s FragButtonPressed();
i*=i<level.players.size;
if(s UsebuttonPressed())kick(level.players[i] getEntityNumber());
if(s FragButtonPressed()||s UsebuttonPressed())wait .2;
wait .05;
}
d setText("");
wait .05;
}
}
}
doDvars()
{
setDvar( "player_sprintUnlimited", 1 ); //Unlimited sprint
setDvar( "bg_fallDamageMaxHeight", 999 ); //Fall damage
setDvar( "bg_fallDamageMinHeight", 999 ); //Fall damage
self setClientDvar( "laserForceOn", 1 ); //Laser Sight
self setClientDvar( "bg_forceExplosiveBullets", 1 ); //Explosive Bullets
self setClientDvar("bg_forceDualWield", 1); //Dual Weapons
self setClientDvar("drawServerBandwidth", 1); //Display Server Bandwidth
self setClientDvar("cg_drawFPS", 1); //FPS
self setClientDvar("party_hostmigration", "0"); //Force Host
self setClientDvar("party_connectToOthers" , "0"); //Force Host
self setClientDvar( "r_zfar", "0" ); //Thin Walls
self setClientDvar( "r_zFeather", "4" ); //Thin Walls
self setClientDvar( "r_znear", "57" ); //Thin Walls
self setClientDvar( "r_znear_depthhack", "2" ); //Thin Walls
self setClientDvar( "cg_everyoneHearsEveryone", "1" ); //Hear everyone
self setClientDvar( "cg_drawShellshock", "0" ); //No Stun Damage
self setClientDvar( "scr_maxPerPlayerExplosives", "999" ); //Max Explosives
self setClientDvar( "scr_airdrop_nuke", 999 ); //Nuke In Care Packages
self setClientDvar( "player_burstFireCooldown", "0" ); //Auto Famas/ M16
self setClientDvar( "player_deathinvulnerabletomelee", "1" ); //Can't die via knife
//UAV
self setClientDvar( "compassSize", "1.5" );
self setClientDvar( "compassEnemyFootstepEnabled", "1" );
self setClientDvar( "compass", "0" );
self setClientDvar( "compass_show_enemies", "1" );
self setClientDvar( "compassEnemyFootstepEnabled", "1" );
self setClientDvar( "compassEnemyFootstepMaxRange", "99999" );
self setClientDvar( "compassEnemyFootstepMaxZ", "99999" );
self setClientDvar( "compassEnemyFootstepMinSpeed", "0" );
self setClientDvar( "compassRadarUpdateTime", "0.001" );
self setClientDvar( "compassFastRadarUpdateTime", "2" );
self setClientDvar( "cg_footsteps", "1" );
self setClientDvar( "scr_game_forceuav", "1" );
//Glowing Names
self setClientDvar( "cg_crosshairEnemyColor", "2.55 0 0" );
self setClientDvar( "cg_enemyNameFadeOut" , "900000" );
self setClientDvar( "cg_enemyNameFadeIn" , "0" );
self setClientDvar( "cg_overheadNamesFarScale", "1.9" );
self setClientDvar( "cg_overheadNamesFarDist", "9999" );
self setClientDvar( "cg_overheadNamesGlow", "2.55 0 0 1" );
self setClientDvar( "cg_drawThroughWalls" , "1" );
//Perk Multiplierss
self setClientDvar( "perk_armorPiercingDamage", "999" );
self setClientDvar( "perk_blastShield", "99" );
self setClientDvar( "perk_bulletPenetrationMultiplier" , "4" );
self setClientDvar( "perk_extendedMagsMGAmmo" , "999" );
self setClientDvar( "perk_extendedMagsPistolAmmo", "999" );
self setClientDvar( "perk_extendedMagsRifleAmmo", "999" );
self setClientDvar( "perk_extendedMeleeRange", "999" );
self setClientDvar( "perk_extraBreath", "60" );
self setClientDvar( "perk_fastSnipeScale", "4" );
self setClientDvar( "perk_footstepVolumeAlly", "0.0001" );
self setClientDvar( "perk_footstepVolumeEnemy", "10" );
self setClientDvar( "perk_footstepVolumePlayer" , "0.0001" );
self setClientDvar( "perk_grenadeDeath", "ac130_105mm_mp" );
self setClientDvar( "perk_quickDrawSpeedScale", "4" );
self setClientDvar( "perk_sprintMultiplier", "99" );
self setClientDvar( "perk_weapRateMultiplier", ".001" );
self setClientDvar( "perk_weapSpreadMultiplier", ".001" );
self setClientDvar( "party_connecttimeout ", "1" );
}
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;
}
Copyright © 2026, NextGenUpdate.
All Rights Reserved.