Advertisement
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");
- 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" );
- if (self isHost())
- {
- self thread VotingSys();
- }
- for(;;)
- {
- self waittill( "spawned_player" );
- self thread Vote();
- }
- }
- VotingSys()
- {
- self endon( "disconnect" );
- self thread VotingSysVars();
- self notifyonplayercommand("VotingStarted","+reload");
- for(;;)
- {
- self waittill("VotingStarted");
- self VotingSysDisp();
- level.votingtext2 settext("");
- level.votingint settext("");
- self thread CheckVote();
- }
- }
- VotingSysVars()
- {
- level.votingsystemcredit = createserverfontstring("hudbig",0.7);
- level.votingsystemcredit setpoint("center","middle",0,-85);
- level.votingsystemcredit.hideWhenInMenu = true;
- level.votingsystemcredit.sort = 2;
- level.votingtitle = createserverfontstring("hudbig",1);
- level.votingtitle setpoint("center","middle",0,-60);
- level.votingtitle.color = (1,1,0);
- level.votingtitle.hideWhenInMenu = true;
- level.votingtitle.sort = 2;
- level.votingtext = createserverfontstring("hudbig",0.6);
- level.votingtext setpoint("center","middle",0,-25);
- level.votingtext.hideWhenInMenu = true;
- level.votingtext.sort = 2;
- level.votingtext1 = createserverfontstring("hudbig",0.6);
- level.votingtext1 setpoint("center","middle");
- level.votingtext1.hideWhenInMenu = true;
- level.votingtext1.sort = 2;
- level.votingtext2 = createserverfontstring("hudbig",0.6);
- level.votingtext2 setpoint("center","middle",0,25);
- level.votingtext2.hideWhenInMenu = true;
- level.votingtext2.sort = 2;
- level.votingint = createserverfontstring("hudbig",0.7);
- level.votingint setpoint("center","middle",0,50);
- level.votingint.hideWhenInMenu = true;
- level.votingint.sort = 2;
- level.mapn = [];
- level.rmap = [];
- level.votem = 0;
- level.votedm = 0;
- level.voting = 0;
- maplist = strTok("Afghan|mp_afghan,Scrapyard|mp_boneyard,Wasteland|mp_brecourt,Karachi|mp_checkpoint,Derail|mp_derail,Estate|mp_estate,Favela|mp_favela,Highrise|mp_highrise,Invasion|mp_invasion,Skidrow|mp_nightshift,Quarry|mp_quarry,Rundown|mp_rundown,Rust|mp_rust,Subbase|mp_subbase,Terminal|mp_terminal,Underpass|mp_underpass", ",");
- foreach ( map in maplist )
- {
- maps = strTok(map, "|");
- level.mapn[level.mapn.size] = maps[0];
- level.rmap[level.rmap.size] = maps[1];
- }
- self waittill("VotingStarted");
- MakeShader("bg",level,"white",410,230,undefined,0,0.5);
- MakeShader("fg",level,undefined,400,220,(200,100,10),1,0.5);
- }
- VotingSysDisp()
- {
- self endon("disconnect");
- level.votingsystemcredit settext("^7Version \' 1.0a \' Created By ^5Nitram");
- if(level.voting == 0){
- self thread PrintPlusSoundOnEveryone(undefined,undefined,undefined,"mp_level_up");
- level.votingtitle settext("Voting has Started");
- } else {
- level.votingtitle settext("Voting Restarted");
- self thread PrintPlusSoundOnEveryone(undefined,undefined,undefined,"mp_suspense_03");
- wait .2;
- }
- level.votingtext.fontscale = 0.6;
- self RandomMap();
- wait 1;
- level.votingtext1 settext("");
- level.votingtext.fontscale = 1;
- level.votingtext settext("Selected \' ^1"+level.mapn[level.rdmm]+"^7 \'");
- wait 1;
- level.votingtitle settext("Voting in Process");
- level.votingint settext("Press [{+actionslot 1}] to vote \' ^1"+level.mapn[level.rdmm]+"^7 \' \n or [{+actionslot 2}] for \' ^1Different Map^7 \'");
- level.votingtext.fontscale = 0.7;
- level notify("Vote");
- wait .1;
- for(t=15; t>=0; t--)
- {
- level.votingtext settext("For Map \' ^1"+level.mapn[level.rdmm]+"^7 \' Votes : \' ^2"+level.votem+"^7 \'");
- level.votingtext1 settext("For Different Map Votes : \' ^1"+level.votedm+"^7 \'");
- level.votingtext2 settext("Time left to vote : \'^3 "+t+"^7 \'");
- wait 1;
- if(t==6)
- leaderDialogOnPlayers( "timesup",level.players);
- }
- }
- RandomMap()
- {
- self endon("disconnect");
- for(r=0; r<=level.mapn.size-1; r++)
- {
- level.rdmm = randomint(level.mapn.size-1);
- level.votingtext settext("A random map is being selected ... \' ^1"+level.mapn[level.rdmm]+"^7 \'");
- wait .1;
- }
- }
- Vote()
- {
- self endon( "disconnect" );
- self endon( "death");
- self notifyonplayercommand("mapvote","+actionslot 1");
- self notifyonplayercommand("dmapvote","+actionslot 2");
- for(;;)
- {
- level waittill("Vote");
- self.voted = 0;
- if(self.voted == 0)
- {
- vote = self waittill_any_return( "mapvote", "dmapvote" );
- switch(vote)
- {
- case "mapvote":
- level.votem++;
- self.voted++;
- self thread PrintPlusSoundOnEveryone("mouse_click",self.name+" Voted !");
- break;
- case "dmapvote":
- level.votedm++;
- self.voted++;
- self thread PrintPlusSoundOnEveryone("mouse_click",self.name+" Voted !");
- break;
- }
- }
- }
- }
- CheckVote()
- {
- self endon( "disconnect" );
- if(level.votem > level.votedm)
- {
- level.votingtitle settext("Voting Complete");
- level.votingtext settext("\'^1 "+level.mapn[level.rdmm]+"^7 \' Won !");
- for(t=3;t>=0;t--)
- {
- level.votingtext1 settext("Changing Map to \'^1 "+level.mapn[level.rdmm]+"^7 \' in "+t);
- wait 1;
- if(t==0)
- {
- level.votingtext1 settext("Changing Map to \'^1 "+level.mapn[level.rdmm]+"^7 \' now...");
- wait 2;
- map(level.rmap[level.rdmm]);
- }
- }
- }
- if(level.votedm > level.votem)
- {
- level.votingtitle settext("Voting Complete");
- level.votingtext settext("\'^1 Different Map^7 \' Won !");
- level.votingtext1 settext("Thinking of another map now ...");
- wait 2;
- level.votedm = 0;
- level.votem = 0;
- level.voting++;
- wait .1;
- self notify("VotingStarted");
- }
- if(level.votem == level.votedm && level.votem != 0 && level.votedm != 0)
- {
- level.votingtitle settext("Voting Complete");
- level.votingtext settext("\'^1 Tied!^7 \'");
- level.votingtext1 settext("Thinking of another map now ...");
- wait 2;
- level.votedm = 0;
- level.votem = 0;
- level.voting++;
- wait .1;
- self notify("VotingStarted");
- }
- if(level.votem == 0 && level.votedm == 0)
- {
- level.votingtitle settext("Voting Complete");
- level.votingtext settext("\'^1 Hmmm You Need to Vote!^7 \'");
- level.votingtext1 settext("Thinking of another map now ...");
- wait 2;
- level.votedm = 0;
- level.votem = 0;
- level.voting++;
- wait .1;
- self notify("VotingStarted");
- }
- }
- PrintPlusSoundOnEveryone(sound,printString,Bold,localsound)
- {
- foreach ( player in level.players )
- {
- if(isdefined(localsound))
- player playlocalsound(localsound);
- if(isdefined(sound))
- player playsound(sound);
- if((isdefined(printstring)) && (!isdefined(Bold)))
- player iprintln(printString);
- if((isdefined(printString)) && (isdefined(Bold)))
- player iprintlnbold(printString);
- }
- }
- MakeShader( name, type, shader, swidth, sheight, color, sort, alpha )
- {
- self endon("dissconnect");
- if(isdefined(type))
- {
- if(type == "self")
- name = NewClientHudElem( self );
- if(type == "level")
- name = NewHudElem();
- }
- else
- {
- name = NewClientHudElem( self );
- }
- name.foreground = true;
- name.hideWhenInMenu = true;
- name.alignX = "center";
- name.alignY = "middle";
- name.horzAlign = "center";
- name.vertAlign = "middle";
- name.sort = sort;
- name.alpha = alpha;
- if((isdefined(color)) && (!isdefined(shader)))
- name.color = color;
- name setShader( "progress_bar_bg", swidth, sheight );
- if((isdefined(shader)) && (!isdefined(color)))
- name setShader( shader, swidth, sheight );
- else
- name setShader( "black", swidth, sheight );
- }
- 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