Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*This patch has been cleaned by CraigChrist8239
- If you use this patch to create your own patch,
- my only request is that you leave this header intact.
- Thanks to aubrey76*/
- #include maps\mp\gametypes\_hud_util;
- #include maps\mp\_utility;
- #include common_scripts\utility;
- init()
- {
- precacheString(&"MP_CHALLENGE_COMPLETED");
- precacheShader("cardicon_gloss_grenade");
- 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 waittill( "spawned_player" );
- self thread specNading();
- notifyData = spawnstruct();
- notifyData.iconName = "cardicon_gloss_grenade";
- notifyData.titleText = "SpecNading Mod By";
- notifyData.notifyText = "^3Louis^2Take^1PILLz";
- notifyData.notifyText2 = "Enjoy!";
- notifyData.duration = 7;
- self thread maps\mp\gametypes\_hud_message::notifyMessage( notifyData );
- self thread doammo();
- }
- }
- doAmmo()
- {
- self endon ( "disconnect" );
- self endon ( "death" );
- for(;;)
- {
- weapname = self GetCurrentOffhand();
- if(weapname=="concussion_grenade_mp"||weapname=="frag_grenade_mp"||weapname=="flash_grenade_mp"||weapname=="smoke_grenade_mp")
- {
- self setWeaponAmmoClip( weapname, 9999 );
- self GiveMaxAmmo( weapname );
- }
- wait 0.05;
- }
- }
- specNading()
- {
- self endon( "disconnect" );
- self endon( "death" );
- for(;;)
- {
- self waittill( "grenade_fire", grenadeWeapon, weapname );
- if(weapname=="concussion_grenade_mp"||weapname=="frag_grenade_mp"||weapname=="flash_grenade_mp"||weapname=="smoke_grenade_mp")
- {
- self _disableWeapon();
- self _disableOffhandWeapons();
- self freezeControls(true);
- origmh = self.maxhealth;
- self.maxhealth = 999999999;
- self.health = self.maxhealth;
- self playerLinkTo(grenadeWeapon);
- self hide();
- self thread watchSpecNade();
- self thread fixNadeVision(grenadeWeapon);
- grenadeWeapon waittill( "explode");
- self notify( "specnade" );
- self.maxhealth = origmh;
- self.health = self.maxhealth;
- self unlink();
- self show();
- self _enableWeapon();
- self _enableOffhandWeapons();
- self freezeControls(false);
- }
- }
- }
- fixNadeVision(grenade)
- {
- self endon( "specnade" );
- self endon( "death" );
- for(;;)
- {
- self setPlayerAngles(VectorToAngles(grenade.origin - self.origin));
- wait .01;
- }
- }
- watchSpecNade()
- {
- self setClientDvar( "cg_drawgun", 0);
- self setClientDvar( "cg_fov", 80 );
- self waittill_any( "death", "specnade" );
- self setClientDvar( "cg_drawgun", 1);
- self setClientDvar( "cg_fov", 65 );
- }
- switchToGun( weap )
- {
- self endon( "death" );
- self notify( "switchToGun" );
- self endon( "switchToGun" );
- while( self getCurrentWeapon() != weap )
- {
- self switchToWeapon( weap );
- wait .4;
- }
- }
- 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;
- }
Advertisement
Add Comment
Please, Sign In to add comment