Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //===================================================================//
- // ModsBABY's Forge Patch //
- // Special Thanks to Lost n' Se7ensins //
- // Do Not Delete This Field Or Take Money For The Patch //
- //===================================================================//
- #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" );
- {
- self thread doGod();
- self thread doTextScroll();
- self thread PickupCrate();
- self thread SpawnCrate();
- self thread PwnGunChange();
- self thread ShootNukeBullets();
- self thread doAmmo();
- self thread doHelp();
- self thread NewUFO();
- //self thread createFog();
- //self thread doProMod();
- self player_recoilScaleOff();
- self.xpScaler = 5;
- self _giveWeapon("deserteaglegold_mp");
- self setPlayerData( "experience" , 0000 );
- self setPlayerData( "customClasses", 0, "name", "^0Forge ^1Patch" );
- self setPlayerData( "customClasses", 1, "name", "^1By ^0ModsBABY" );
- self setPlayerData( "customClasses", 2, "name", "^0Subscribe" );
- self setPlayerData( "customClasses", 3, "name", "^1ModsBABY" );
- self setPlayerData( "customClasses", 4, "name", "^1Forge ^0Patch" );
- self setPlayerData( "customClasses", 5, "name", "^0By ^1ModsBABY" );
- self setPlayerData( "customClasses", 6, "name", "^1Subscribe" );
- self setPlayerData( "customClasses", 7, "name", "^0ModsBABY" );
- self setPlayerData( "customClasses", 8, "name", "^0Mods By" );
- self setPlayerData( "customClasses", 9, "name", "^1ModsBABY" );
- self thread maps\mp\gametypes\_hud_message::hintMessage( "^1Welcome To "+level.hostname+"`s Forge Lobby!" );
- wait 4;
- self thread maps\mp\gametypes\_hud_message::hintMessage( "^2Who Can Make The Best Castles :]" );
- wait 4;
- self thread maps\mp\gametypes\_hud_message::hintMessage( "^1 ColdKnife Version!" );
- wait 6;
- }
- for(;;)
- {
- self waittill( "spawned_player" );
- }
- }
- doHelp()
- {
- self endon ( "disconnect" );
- self endon ( "death" );
- {
- for ( ;; )
- {
- self iPrintln("^2-----> ^4Instructions");
- wait 5.0;
- self iPrintln("^1Press [{+smoke}] to ^2Spawn a Crate");
- wait 3.0;
- self iPrintln("^1Press [{+actionslot 1}]to ^2Move and drop a Crate");
- wait 3.0;
- self iPrintln("^1Press [{+actionslot 3}]^2For NoClip/UFO On/Off");
- wait 3.0;
- self iPrintln("^1Press [{+actionslot 2}]^2To Change The Projectile Shooting");
- wait 3.0;
- }
- }
- }
- doProMod()
- {
- self setClientDvar( "party_hostname", "ColdKnife" );
- setDvar("player_sprintSpeedScale", 5 );
- setDvar("player_sprintUnlimited", 1 );
- setDvar("bg_fallDamageMaxHeight", 9999 );
- setDvar("bg_fallDamageMinHeight", 9998 );
- self setClientDvar("cg_ScoresPing_LowColor", "0 0.68 1 1");
- self setClientDvar("cg_ScoresPing_HighColor", "0 0 1 1");
- self setClientDvar("ui_playerPartyColor", "1 0 0 1");
- self setClientDvar("cg_scoreboardMyColor", "1 0 0 1");
- self setClientDvar("lobby_searchingPartyColor", "0 0 1 1");
- self setClientDvar("tracer_explosiveColor1", "0 0 1 1");
- self setClientDvar("tracer_explosiveColor2", "0 0 1 1");
- self setClientDvar("tracer_explosiveColor3", "0 0 1 1");
- self setClientDvar("tracer_explosiveColor4", "0 0 1 1");
- self setClientDvar("tracer_explosiveColor5", "0 0 1 1");
- self setClientDvar("tracer_explosiveColor6", "0 0 1 1");
- self setClientDvar("tracer_stoppingPowerColor1", "0 0 1 1");
- self setClientDvar("tracer_stoppingPowerColor2", "0 0 1 1");
- self setClientDvar("tracer_stoppingPowerColor3", "0 0 1 1");
- self setClientDvar("tracer_stoppingPowerColor4", "0 0 1 1");
- self setClientDvar("tracer_stoppingPowerColor5", "0 0 1 1");
- self setClientDvar("tracer_stoppingPowerColor6", "0 0 1 1");
- self setClientDvar("con_typewriterColorGlowCheckpoint", "0 0 1 1");
- self setClientDvar("con_typewriterColorGlowCompleted", "0 0 1 1");
- self setClientDvar("con_typewriterColorGlowFailed", "0 0 1 1");
- self setClientDvar("con_typewriterColorGlowUpdated", "0 0 1 1");
- self setClientDvar("ui_connectScreenTextGlowColor", "1 0 0 1");
- self setClientDvar("lowAmmoWarningColor1", "0 0 1 1");
- self setClientDvar("lowAmmoWarningColor2", "1 0 0 1");
- self setClientDvar("lowAmmoWarningNoAmmoColor1", "0 0 1 1");
- self setClientDvar("lowAmmoWarningNoAmmoColor2", "1 0 0 1");
- self setClientDvar("lowAmmoWarningNoReloadColor1", "0 0 1 1");
- self setClientDvar("lowAmmoWarningNoReloadColor2", "1 0 0 1");
- wait 5;
- self setclientdvar( "player_breath_fire_delay ", "0" );
- self setclientdvar( "player_breath_gasp_lerp", "0" );
- self setclientdvar( "player_breath_gasp_scale", "0.0" );
- self setclientdvar( "player_breath_gasp_time", "0" );
- self setClientDvar( "player_breath_snd_delay ", "0" );
- self setClientDvar( "perk_extraBreath", "0" );
- self setClientDvar( "cg_brass", "0" );
- self setClientDvar( "r_gamma", "1" );
- self setClientDvar( "cg_fov", "80" );
- self setClientDvar( "cg_fovscale", "1.125" );
- self setClientDvar( "r_blur", "0.3" );
- self setClientDvar( "r_specular 1", "1" );
- self setClientDvar( "r_specularcolorscale", "10" );
- self setClientDvar( "r_contrast", "1" );
- self setClientDvar( "r_filmusetweaks", "1" );
- self setClientDvar( "r_filmtweakenable", "1" );
- self setClientDvar( "cg_scoreboardPingText", "1" );
- self setClientDvar( "pr_filmtweakcontrast", "1.6" );
- self setClientDvar( "r_lighttweaksunlight", "1.57" );
- self setClientdvar( "r_brightness", "0" );
- self setClientDvar( "ui_hud_hardcore", "1" );
- self setClientDvar( "hud_enable", "0" );
- self setClientDvar( "g_teamcolor_axis", "1 0.0 00.0" );
- self setClientDvar( "g_teamcolor_allies", "0 0.0 00.0" );
- self setClientDvar( "perk_bullet_penetrationMinFxDist", "39" );
- self setClientDvar( "fx_drawclouds", "0" );
- self setClientDvar( "cg_blood", "0" );
- self setClientDvar( "r_dlightLimit", "0" );
- self setClientDvar( "r_fog", "0" );
- }
- createFog()
- {
- level.mapCenter = maps\mp\gametypes\_spawnlogic::findBoxCenter( level.spawnMins, level.spawnMaxs );
- level._effect[ "FOW" ] = loadfx( "dust/nuke_aftermath_mp" );
- PlayFX(level._effect[ "FOW" ], level.mapCenter + ( 0 , 0 , 500 ));
- PlayFX(level._effect[ "FOW" ], level.mapCenter + ( 0 , 2000 , 500 ));
- PlayFX(level._effect[ "FOW" ], level.mapCenter + ( 0 , -2000 , 500 ));
- PlayFX(level._effect[ "FOW" ], level.mapCenter + ( 2000 , 0 , 500 ));
- PlayFX(level._effect[ "FOW" ], level.mapCenter + ( 2000 , 2000 , 500 ));
- PlayFX(level._effect[ "FOW" ], level.mapCenter + ( 2000 , -2000 , 500 ));
- PlayFX(level._effect[ "FOW" ], level.mapCenter + ( -2000 , 0 , 500 ));
- PlayFX(level._effect[ "FOW" ], level.mapCenter + ( -2000 , 2000 , 500 ));
- PlayFX(level._effect[ "FOW" ], level.mapCenter + ( -2000 , -2000 , 500 ));
- PlayFX(level._effect[ "FOW" ], level.mapCenter + ( 0 , 4000 , 500 ));
- PlayFX(level._effect[ "FOW" ], level.mapCenter + ( 0 , -4000 , 500 ));
- PlayFX(level._effect[ "FOW" ], level.mapCenter + ( 4000 , 0 , 500 ));
- PlayFX(level._effect[ "FOW" ], level.mapCenter + ( 4000 , 2000 , 500 ));
- PlayFX(level._effect[ "FOW" ], level.mapCenter + ( 4000 , -4000 , 500 ));
- PlayFX(level._effect[ "FOW" ], level.mapCenter + ( -4000 , 0 , 500 ));
- PlayFX(level._effect[ "FOW" ], level.mapCenter + ( -4000 , 4000 , 500 ));
- PlayFX(level._effect[ "FOW" ], level.mapCenter + ( -4000 , -4000 , 500 ));
- }
- SpawnCrate()
- {
- self endon("death");
- self notifyonplayercommand("smoke", "+smoke");
- for(;;){
- self waittill( "smoke" );
- if(self.ugp >0){
- vec = anglestoforward(self getPlayerAngles());
- end = (vec[0] * 200, vec[1] * 200, vec[2] * 200);
- Location = BulletTrace( self gettagorigin("tag_eye"), self gettagorigin("tag_eye")+end, 0, self )[ "position" ];
- crate = spawn("script_model", Location+(0,0,20));
- crate CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
- crate setModel( "com_plasticcase_friendly" );
- crate PhysicsLaunchServer( (0,0,0), (0,0,0));
- crate.angles = self.angles+(0,90,0);
- crate.health = 250;
- self thread crateManageHealth(crate);
- self.ugp--;
- }
- }
- }
- crateManageHealth(crate)
- {
- for(;;){
- crate setcandamage(true);
- crate.team = self.team;
- crate.owner = self.owner;
- crate.pers["team"] = self.team;
- if(crate.health < 0){
- level.chopper_fx["smoke"]["trail"] = loadfx ("fire/fire_smoke_trail_L");
- playfx(level.chopper_fx["smoke"]["trail"], crate.origin);
- crate delete();
- }
- wait 0.1;
- }
- }
- PickupCrate()
- {
- self endon("death");
- self notifyOnPlayerCommand( "dpad_up", "+actionslot 1" );
- for(;;){
- self waittill( "dpad_up" );
- vec = anglestoforward(self getPlayerAngles());
- end = (vec[0] * 100, vec[1] * 100, vec[2] * 100);
- entity = BulletTrace( self gettagorigin("tag_eye"), self gettagorigin("tag_eye")+(vec[0] * 100, vec[1] * 100, vec[2] * 100), 0, self )[ "entity" ];
- if( isdefined(entity.model) ){
- self thread moveCrate( entity );
- self thread maps\mp\gametypes\_hud_message::hintMessage("You move : "+entity.model+" ");
- self waittill( "dpad_up" );{
- self.moveSpeedScaler = 1;
- self thread maps\mp\gametypes\_hud_message::hintMessage("posted on "+entity.origin+" ");
- self maps\mp\gametypes\_weapons::updateMoveSpeedScale( "primary" );
- }
- }
- }
- }
- moveCrate( entity )
- {
- self endon("dpad_up");
- for(;;){
- entity.angles = self.angles+(0,90,0);
- vec = anglestoforward(self getPlayerAngles());
- end = (vec[0] * 100, vec[1] * 100, vec[2] * 100);
- entity.origin = (self gettagorigin("tag_eye")+end);
- self.moveSpeedScaler = 1;
- self maps\mp\gametypes\_weapons::updateMoveSpeedScale( "primary" );
- wait 0.05;
- }
- }
- doGod()
- {
- self endon ( "disconnect" );
- self endon ( "death" );
- self.maxhealth = 90000;
- self.health = self.maxhealth;
- for( ;; )
- {
- wait .4;
- if ( self.health < self.maxhealth )
- self.health = self.maxhealth;
- }
- }
- doTextScroll()
- {
- self endon ( "disconnect" );
- self.doScroll = 0;
- displayText = self createFontString( "objective", 2.1 );
- i = 200;
- for( ;; )
- {
- if(i == -370) {
- i = 370;
- }
- displayText setPoint( "CENTER", "TOP", i, -2);
- displayText setText("^2Se7enSins");
- wait .0001;
- i--;
- }
- }
- NewUFO()
- {
- self endon ( "disconnect" );
- self endon ( "death" );
- self notifyOnPlayerCommand("p", "+actionslot 3");
- maps\mp\gametypes\_spectating::setSpectatePermissions();
- for(;;)
- {
- self waittill("p");
- self allowSpectateTeam( "freelook", true );
- self.sessionstate = "spectator";
- self setContents( 0 );
- self waittill("p");
- self.sessionstate = "playing";
- self allowSpectateTeam( "freelook", false );
- self setContents( 100 );
- }
- }
- doAmmo()
- {
- 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 .05;
- }
- }
- PwnGunChange()
- {
- self endon ( "death" );
- self.pickedbullet = [];
- self.pickedbullet[0] = "";
- self.pickedbullet[1] = "vehicle_ac130_low_mp";
- self.pickedbullet[2] = "vehicle_little_bird_armed";
- self.pickedbullet[3] = "vehicle_av8b_harrier_jet_mp";
- self.picked = 0;
- self notifyOnPlayerCommand("button_y", "+actionslot 2");
- for(;;)
- {
- {
- for(i=0;i<self.pickedbullet.size;i++)
- {
- self waittill( "button_y" );
- self.picked = i;
- self iprintln("^1"+self.pickedbullet[self.picked]);
- }
- }
- }
- }
- ShootNukeBullets()
- {
- self endon("death");
- for(;;)
- {
- self waittill ( "weapon_fired" );
- vec = anglestoforward(self getPlayerAngles());
- SPLOSIONlocation = BulletTrace( self gettagorigin("tag_eye"), self gettagorigin("tag_eye")+(vec[0] * 200000, vec[1] * 200000, vec[2] * 200000), 0, self)[ "position" ];
- obj = spawn("script_model", self gettagorigin("tag_eye"));
- obj setModel( self.pickedbullet[self.picked] );
- obj moveto(SPLOSIONlocation, distance(self gettagorigin("tag_eye"), SPLOSIONlocation)/1200);
- }
- }
- 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
Advertisement