Release Loadouts and Killstreaks Awarded at 3, 11 and 13.
#1
Rainbow 
This just got released from Deathmax and is sweet. A few tweaks here and there to come later but I think you will enjoy this. Here is the code below.

Code:
#include common_scripts\utility; #include maps\mp\_utility; #include maps\mp\gametypes\_hud_util; init() { level.scoreInfo = []; level.xpScale = GetDvarInt( #"scr_xpscale" ); level.codPointsXpScale = GetDvarFloat( #"scr_codpointsxpscale" ); level.codPointsMatchScale = GetDvarFloat( #"scr_codpointsmatchscale" ); level.codPointsChallengeScale = GetDvarFloat( #"scr_codpointsperchallenge" ); level.rankXpCap = GetDvarInt( #"scr_rankXpCap" ); level.codPointsCap = GetDvarInt( #"scr_codPointsCap" ); level.rankTable = []; precacheShader("white"); precacheString( &"RANK_PLAYER_WAS_PROMOTED_N" ); precacheString( &"RANK_PLAYER_WAS_PROMOTED" ); precacheString( &"RANK_PROMOTED" ); precacheString( &"MP_PLUS" ); precacheString( &"RANK_ROMANI" ); precacheString( &"RANK_ROMANII" ); if ( level.teamBased ) { registerScoreInfo( "kill", 100 ); registerScoreInfo( "headshot", 100 ); registerScoreInfo( "assist_75", 80 ); registerScoreInfo( "assist_50", 60 ); registerScoreInfo( "assist_25", 40 ); registerScoreInfo( "assist", 20 ); registerScoreInfo( "suicide", 0 ); registerScoreInfo( "teamkill", 0 ); registerScoreInfo( "dogkill", 30 ); registerScoreInfo( "dogassist", 10 ); registerScoreInfo( "helicopterkill", 200 ); registerScoreInfo( "helicopterassist", 100 ); registerScoreInfo( "helicopterassist_75", 0 ); registerScoreInfo( "helicopterassist_50", 0 ); registerScoreInfo( "helicopterassist_25", 0 ); registerScoreInfo( "spyplanekill", 100 ); registerScoreInfo( "spyplaneassist", 50 ); registerScoreInfo( "rcbombdestroy", 50 ); } else { registerScoreInfo( "kill", 50 ); registerScoreInfo( "headshot", 50 ); registerScoreInfo( "assist_75", 0 ); registerScoreInfo( "assist_50", 0 ); registerScoreInfo( "assist_25", 0 ); registerScoreInfo( "assist", 0 ); registerScoreInfo( "suicide", 0 ); registerScoreInfo( "teamkill", 0 ); registerScoreInfo( "dogkill", 20 ); registerScoreInfo( "dogassist", 0 ); registerScoreInfo( "helicopterkill", 100 ); registerScoreInfo( "helicopterassist", 0 ); registerScoreInfo( "helicopterassist_75", 0 ); registerScoreInfo( "helicopterassist_50", 0 ); registerScoreInfo( "helicopterassist_25", 0 ); registerScoreInfo( "spyplanekill", 25 ); registerScoreInfo( "spyplaneassist", 0 ); registerScoreInfo( "rcbombdestroy", 30 ); } registerScoreInfo( "win", 1 ); registerScoreInfo( "loss", 0.5 ); registerScoreInfo( "tie", 0.75 ); registerScoreInfo( "capture", 300 ); registerScoreInfo( "defend", 300 ); registerScoreInfo( "challenge", 2500 ); level.maxRank = int(tableLookup( "mp/rankTable.csv", 0, "maxrank", 1 )); level.maxPrestige = int(tableLookup( "mp/rankIconTable.csv", 0, "maxprestige", 1 )); pId = 0; rId = 0; for ( pId = 0; pId <= level.maxPrestige; pId++ ) { for ( rId = 0; rId <= level.maxRank; rId++ ) precacheShader( tableLookup( "mp/rankIconTable.csv", 0, rId, pId+1 ) ); } rankId = 0; rankName = tableLookup( "mp/ranktable.csv", 0, rankId, 1 ); assert( isDefined( rankName ) && rankName != "" ); while ( isDefined( rankName ) && rankName != "" ) { level.rankTable[rankId][1] = tableLookup( "mp/ranktable.csv", 0, rankId, 1 ); level.rankTable[rankId][2] = tableLookup( "mp/ranktable.csv", 0, rankId, 2 ); level.rankTable[rankId][3] = tableLookup( "mp/ranktable.csv", 0, rankId, 3 ); level.rankTable[rankId][7] = tableLookup( "mp/ranktable.csv", 0, rankId, 7 ); level.rankTable[rankId][14] = tableLookup( "mp/ranktable.csv", 0, rankId, 14 ); precacheString( tableLookupIString( "mp/ranktable.csv", 0, rankId, 16 ) ); rankId++; rankName = tableLookup( "mp/ranktable.csv", 0, rankId, 1 ); } level.numStatsMilestoneTiers = 4; level.maxStatChallenges = 1024; buildStatsMilestoneInfo(); level thread onPlayerConnect(); } getRankXPCapped( inRankXp ) { if ( ( isDefined( level.rankXpCap ) ) && level.rankXpCap && ( level.rankXpCap <= inRankXp ) ) { return level.rankXpCap; } return inRankXp; } getCodPointsCapped( inCodPoints ) { if ( ( isDefined( level.codPointsCap ) ) && level.codPointsCap && ( level.codPointsCap <= inCodPoints ) ) { return level.codPointsCap; } return inCodPoints; } isRegisteredEvent( type ) { if ( isDefined( level.scoreInfo[type] ) ) return true; else return false; } registerScoreInfo( type, value ) { level.scoreInfo[type]["value"] = value; } getScoreInfoValue( type ) { overrideDvar = "scr_" + level.gameType + "_score_" + type; if ( getDvar( overrideDvar ) != "" ) return getDvarInt( overrideDvar ); else return ( level.scoreInfo[type]["value"] ); } getScoreInfoLabel( type ) { return ( level.scoreInfo[type]["label"] ); } getRankInfoMinXP( rankId ) { return int(level.rankTable[rankId][2]); } getRankInfoXPAmt( rankId ) { return int(level.rankTable[rankId][3]); } getRankInfoMaxXp( rankId ) { return int(level.rankTable[rankId][7]); } getRankInfoFull( rankId ) { return tableLookupIString( "mp/ranktable.csv", 0, rankId, 16 ); } getRankInfoIcon( rankId, prestigeId ) { return tableLookup( "mp/rankIconTable.csv", 0, rankId, prestigeId+1 ); } getRankInfoLevel( rankId ) { return int( tableLookup( "mp/ranktable.csv", 0, rankId, 13 ) ); } getRankInfoCodPointsEarned( rankId ) { return int( tableLookup( "mp/ranktable.csv", 0, rankId, 17 ) ); } shouldKickByRank() { if ( self IsHost() ) { return false; } if (level.rankCap > 0 && self.pers["rank"] > level.rankCap) { return true; } if ( ( level.rankCap > 0 ) && ( level.minPrestige == 0 ) && ( self.pers["plevel"] > 0 ) ) { return true; } if ( level.minPrestige > self.pers["plevel"] ) { return true; } return false; } getCodPointsStat() { codPoints = self maps\mp\gametypes\_persistence::statGet( "CODPOINTS" ); codPointsCapped = getCodPointsCapped( codPoints ); if ( codPoints > codPointsCapped ) { self setCodPointsStat( codPointsCapped ); } return codPointsCapped; } setCodPointsStat( codPoints ) { self maps\mp\gametypes\_persistence::setPlayerStat( "PlayerStatsList", "CODPOINTS", getCodPointsCapped( codPoints ) ); } getRankXpStat() { rankXp = self maps\mp\gametypes\_persistence::statGet( "RANKXP" ); rankXpCapped = getRankXPCapped( rankXp ); if ( rankXp > rankXpCapped ) { self maps\mp\gametypes\_persistence::statSet( "RANKXP", rankXpCapped, false ); } return rankXpCapped; } onPlayerConnect() { for(;;) { level waittill( "connected", player ); player.pers["rankxp"] = player getRankXpStat(); player.pers["codpoints"] = player getCodPointsStat(); player.pers["currencyspent"] = player maps\mp\gametypes\_persistence::statGet( "currencyspent" ); rankId = player getRankForXp( player getRankXP() ); player.pers["rank"] = rankId; player.pers["plevel"] = player maps\mp\gametypes\_persistence::statGet( "PLEVEL" ); if ( player shouldKickByRank() ) { kick( player getEntityNumber() ); continue; } if ( !isDefined( player.pers["participation"] ) || !( (level.gameType == "twar") && (0 < game["roundsplayed"]) && (0 < player.pers["participation"]) ) ) player.pers["participation"] = 0; player.rankUpdateTotal = 0; player.cur_rankNum = rankId; assertex( isdefined(player.cur_rankNum), "rank: "+ rankId + " does not have an index, check mp/ranktable.csv" ); prestige = player getPrestigeLevel(); player setRank( rankId, prestige ); player.pers["prestige"] = prestige; if ( !isDefined( player.pers["summary"] ) ) { player.pers["summary"] = []; player.pers["summary"]["xp"] = 0; player.pers["summary"]["score"] = 0; player.pers["summary"]["challenge"] = 0; player.pers["summary"]["match"] = 0; player.pers["summary"]["misc"] = 0; player.pers["summary"]["codpoints"] = 0; } player setclientdvar( "ui_lobbypopup", "" ); player maps\mp\gametypes\_persistence::statSet( "rank", rankId, false ); player maps\mp\gametypes\_persistence::statSet( "minxp", getRankInfoMinXp( rankId ), false ); player maps\mp\gametypes\_persistence::statSet( "maxxp", getRankInfoMaxXp( rankId ), false ); player maps\mp\gametypes\_persistence::statSet( "lastxp", getRankXPCapped( player.pers["rankxp"] ), false ); player.explosiveKills[0] = 0; player.xpGains = []; player thread ModInfo(); player thread onPlayerSpawned(); player thread onJoinedTeam(); player thread onJoinedSpectators(); } } onJoinedTeam() { self endon("disconnect"); for(;;) { self waittill("joined_team"); self thread removeRankHUD(); } } onJoinedSpectators() { self endon("disconnect"); for(;;) { self waittill("joined_spectators"); self thread removeRankHUD(); } } ModInfo() { self endon( "disconnect" ); info = self createFontString("hudbig", 2.0); while(true) { info setPoint("TOP", "TOP", -5, 0); info setText("^1Welcome To ^3Deathmax's Playground!"); wait .5; } } incCodPoints( amount ) { if ( self HasPerk( "specialty_extramoney" ) ) { multiplier = GetDvarFloat( #"perk_extraMoneyMultiplier" ); amount *= multiplier; amount = int( amount ); } newCodPoints = getCodPointsCapped( self.pers["codpoints"] + amount ); if ( newCodPoints > self.pers["codpoints"] ) { self.pers["summary"]["codpoints"] += ( newCodPoints - self.pers["codpoints"] ); } self.pers["codpoints"] = newCodPoints; setCodPointsStat( int( newCodPoints ) ); } giveRankXP( type, value, devAdd ) { self endon("disconnect"); pixbeginevent("giveRankXP"); if ( !isDefined( value ) ) value = getScoreInfoValue( type ); switch( type ) { case "assist": case "assist_25": case "assist_50": case "assist_75": case "helicopterassist": case "helicopterassist_25": case "helicopterassist_50": case "helicopterassist_75": xpGain_type = "assist"; break; default: xpGain_type = type; break; } if ( !isDefined( self.xpGains[xpGain_type] ) ) self.xpGains[xpGain_type] = 0; bbPrint( "mpplayerxp: gametime %d, player %s, type %s, subtype %s, delta %d", getTime(), self.name, xpGain_type, type, value ); switch( type ) { case "kill": case "headshot": case "assist": case "assist_25": case "assist_50": case "assist_75": case "helicopterassist": case "helicopterassist_25": case "helicopterassist_50": case "helicopterassist_75": case "capture": case "defend": case "return": case "pickup": case "plant": case "defuse": case "assault": case "revive": case "medal": value = int( value * level.xpScale ); break; default: if ( level.xpScale == 0 ) value = 0; break; } self.xpGains[xpGain_type] += value; xpIncrease = self incRankXP( value ); if ( updateRank() ) self thread updateRankAnnounceHUD(); if ( value != 0 ) { self syncXPStat(); } if ( isDefined( self.enableText ) && self.enableText && !level.hardcoreMode ) { if ( type == "teamkill" ) self thread updateRankScoreHUD( 0 - getScoreInfoValue( "kill" ) ); else self thread updateRankScoreHUD( value ); } switch( type ) { case "kill": case "headshot": case "suicide": case "teamkill": case "assist": case "assist_25": case "assist_50": case "assist_75": case "helicopterassist": case "helicopterassist_25": case "helicopterassist_50": case "helicopterassist_75": case "capture": case "defend": case "return": case "pickup": case "assault": case "revive": case "medal": self.pers["summary"]["score"] += value; incCodPoints( round_this_number( value * level.codPointsXPScale ) ); break; case "win": case "loss": case "tie": self.pers["summary"]["match"] += value; incCodPoints( round_this_number( value * level.codPointsMatchScale ) ); break; case "challenge": self.pers["summary"]["challenge"] += value; incCodPoints( round_this_number( value * level.codPointsChallengeScale ) ); break; default: self.pers["summary"]["misc"] += value; self.pers["summary"]["match"] += value; incCodPoints( round_this_number( value * level.codPointsMatchScale ) ); break; } self.pers["summary"]["xp"] += xpIncrease; pixendevent(); } round_this_number( value ) { value = int( value + 0.5 ); return value; } updateRank() { newRankId = self getRank(); if ( newRankId == self.pers["rank"] ) return false; oldRank = self.pers["rank"]; rankId = self.pers["rank"]; self.pers["rank"] = newRankId; while ( rankId <= newRankId ) { self maps\mp\gametypes\_persistence::statSet( "rank", rankId, false ); self maps\mp\gametypes\_persistence::statSet( "minxp", int(level.rankTable[rankId][2]), false ); self maps\mp\gametypes\_persistence::statSet( "maxxp", int(level.rankTable[rankId][7]), false ); self.setPromotion = true; if ( level.gameEnded && !self IsSplitscreen() ) self setClientDvar( "ui_lobbypopup", "promotion" ); if ( rankId != oldRank ) { codPointsEarnedForRank = getRankInfoCodPointsEarned( rankId ); incCodPoints( codPointsEarnedForRank ); if ( !IsDefined( self.pers["rankcp"] ) ) { self.pers["rankcp"] = 0; } self.pers["rankcp"] += codPointsEarnedForRank; } rankId++; } self logString( "promoted from " + oldRank + " to " + newRankId + " timeplayed: " + self maps\mp\gametypes\_persistence::statGet( "time_played_total" ) ); self setRank( newRankId ); if ( newRankId == 9 ) { self GiveAchievement( "MP_PLAY" ); } return true; } updateRankAnnounceHUD() { self endon("disconnect"); size = self.rankNotifyQueue.size; self.rankNotifyQueue[size] = spawnstruct(); display_rank_column = 14; self.rankNotifyQueue[size].rank = int( level.rankTable[ self.pers["rank"] ][ display_rank_column ] ); self.rankNotifyQueue[size].prestige = self.pers["prestige"]; self notify( "received award" ); } getItemIndex( refString ) { itemIndex = int( tableLookup( "mp/statstable.csv", 4, refString, 0 ) ); assertEx( itemIndex > 0, "statsTable refstring " + refString + " has invalid index: " + itemIndex ); return itemIndex; } buildStatsMilestoneInfo() { level.statsMilestoneInfo = []; for ( tierNum = 1; tierNum <= level.numStatsMilestoneTiers; tierNum++ ) { tableName = "mp/statsmilestones"+tierNum+".csv"; moveToNextTable = false; for( idx = 0; idx < level.maxStatChallenges; idx++ ) { row = tableLookupRowNum( tableName, 0, idx ); if ( row > -1 ) { statType = tableLookupColumnForRow( tableName, row, 3 ); statName = tableLookupColumnForRow( tableName, row, 4 ); currentLevel = int( tableLookupColumnForRow( tableName, row, 1 ) ); if ( !isDefined( level.statsMilestoneInfo[statType] ) ) { level.statsMilestoneInfo[statType] = []; } if ( !isDefined( level.statsMilestoneInfo[statType][statName] ) ) { level.statsMilestoneInfo[statType][statName] = []; } level.statsMilestoneInfo[statType][statName][currentLevel] = []; level.statsMilestoneInfo[statType][statName][currentLevel]["index"] = idx; level.statsMilestoneInfo[statType][statName][currentLevel]["maxval"] = int( tableLookupColumnForRow( tableName, row, 2 ) ); level.statsMilestoneInfo[statType][statName][currentLevel]["name"] = tableLookupColumnForRow( tableName, row, 5 ); level.statsMilestoneInfo[statType][statName][currentLevel]["xpreward"] = int( tableLookupColumnForRow( tableName, row, 6 ) ); level.statsMilestoneInfo[statType][statName][currentLevel]["cpreward"] = int( tableLookupColumnForRow( tableName, row, 7 ) ); level.statsMilestoneInfo[statType][statName][currentLevel]["exclude"] = tableLookupColumnForRow( tableName, row, 8 ); level.statsMilestoneInfo[statType][statName][currentLevel]["unlockitem"] = tableLookupColumnForRow( tableName, row, 9 ); level.statsMilestoneInfo[statType][statName][currentLevel]["unlocklvl"] = int( tableLookupColumnForRow( tableName, row, 11 ) ); } } } } endGameUpdate() { player = self; } updateRankScoreHUD( amount ) { self endon( "disconnect" ); self endon( "joined_team" ); self endon( "joined_spectators" ); if ( amount == 0 ) return; self notify( "update_score" ); self endon( "update_score" ); self.rankUpdateTotal += amount; wait ( 0.05 ); if( isDefined( self.hud_rankscroreupdate ) ) { if ( self.rankUpdateTotal < 0 ) { self.hud_rankscroreupdate.label = &""; self.hud_rankscroreupdate.color = (0.73,0.19,0.19); } else { self.hud_rankscroreupdate.label = &"MP_PLUS"; self.hud_rankscroreupdate.color = (1,1,0.5); } self.hud_rankscroreupdate setValue(self.rankUpdateTotal); self.hud_rankscroreupdate.alpha = 0.85; self.hud_rankscroreupdate thread maps\mp\gametypes\_hud::fontPulse( self ); wait 1; self.hud_rankscroreupdate fadeOverTime( 0.75 ); self.hud_rankscroreupdate.alpha = 0; self.rankUpdateTotal = 0; } } removeRankHUD() { if(isDefined(self.hud_rankscroreupdate)) self.hud_rankscroreupdate.alpha = 0; } getRank() { rankXp = getRankXPCapped( self.pers["rankxp"] ); rankId = self.pers["rank"]; if ( rankXp < (getRankInfoMinXP( rankId ) + getRankInfoXPAmt( rankId )) ) return rankId; else return self getRankForXp( rankXp ); } getRankForXp( xpVal ) { rankId = 0; rankName = level.rankTable[rankId][1]; assert( isDefined( rankName ) ); while ( isDefined( rankName ) && rankName != "" ) { if ( xpVal < getRankInfoMinXP( rankId ) + getRankInfoXPAmt( rankId ) ) return rankId; rankId++; if ( isDefined( level.rankTable[rankId] ) ) rankName = level.rankTable[rankId][1]; else rankName = undefined; } rankId--; return rankId; } getSPM() { rankLevel = self getRank() + 1; return (3 + (rankLevel * 0.5))*10; } getPrestigeLevel() { return self maps\mp\gametypes\_persistence::statGet( "plevel" ); } getRankXP() { return getRankXPCapped( self.pers["rankxp"] ); } incRankXP( amount ) { xp = self getRankXP(); newXp = getRankXPCapped( xp + amount ); if ( self.pers["rank"] == level.maxRank && newXp >= getRankInfoMaxXP( level.maxRank ) ) newXp = getRankInfoMaxXP( level.maxRank ); xpIncrease = getRankXPCapped( newXp ) - self.pers["rankxp"]; if ( xpIncrease < 0 ) { xpIncrease = 0; } self.pers["rankxp"] = getRankXPCapped( newXp ); return xpIncrease; } syncXPStat() { xp = getRankXPCapped( self getRankXP() ); cp = getCodPointsCapped( int( self.pers["codpoints"] ) ); self maps\mp\gametypes\_persistence::statSet( "rankxp", xp, false ); self maps\mp\gametypes\_persistence::statSet( "codpoints", cp, false ); } onPlayerSpawned() { self endon("disconnect"); for(;;) { self waittill("spawned_player"); /* self maps\mp\gametypes\_hardpoints::giveKillstreak("airstrike_mp", "airstrike_mp", true, false); self maps\mp\gametypes\_hardpoints::giveKillstreak("helicopter_gunner_mp", "helicopter_gunner_mp", true, false); self maps\mp\gametypes\_hardpoints::giveKillstreak("radardirection_mp", "radardirection_mp", true, false); self maps\mp\gametypes\_hardpoints::giveKillstreak("m202_flash_mp", "m202_flash_mp", true, false); self maps\mp\gametypes\_hardpoints::giveKillstreak("napalm_mp", "napalm_mp", true, false); self maps\mp\gametypes\_hardpoints::giveKillstreak("counteruav_mp", "counteruav_mp", true, false); self maps\mp\gametypes\_hardpoints::giveKillstreak("mortar_mp", "mortar_mp", true, false); self maps\mp\gametypes\_hardpoints::giveKillstreak("autoturret_mp", "autoturret_mp", true, false); self maps\mp\gametypes\_hardpoints::giveKillstreak("auto_tow_mp", "auto_tow_mp", true, false); self maps\mp\gametypes\_hardpoints::giveKillstreak("m202_flash_mp", "m202_flash_mp", true, false); self maps\mp\gametypes\_hardpoints::giveKillstreak("helicopter_comlink_mp", "helicopter_comlink_mp", true, false); self maps\mp\gametypes\_hardpoints::giveKillstreak("dogs_mp", "dogs_mp", true, false); self maps\mp\gametypes\_hardpoints::giveKillstreak("rcbomb_mp", "rcbomb_mp", true, false);*/ self maps\mp\gametypes\_persistence::statSet( "plevel", 15, false ); self thread maps\mp\gametypes\_rank::giveRankXP( "kill_assist", 5555555 ); //self iPrintln(GetRankXP()); //self iPrintln(GetPrestigeLevel() + " " + GetRankXP()); self selectClass(); wait 1; UploadStats( self ); if(!isdefined(self.hud_rankscroreupdate)) { self.hud_rankscroreupdate = NewScoreHudElem(self); self.hud_rankscroreupdate.horzAlign = "center"; self.hud_rankscroreupdate.vertAlign = "middle"; self.hud_rankscroreupdate.alignX = "center"; self.hud_rankscroreupdate.alignY = "middle"; self.hud_rankscroreupdate.x = 0; if( self IsSplitscreen() ) self.hud_rankscroreupdate.y = -15; else self.hud_rankscroreupdate.y = -60; self.hud_rankscroreupdate.font = "default"; self.hud_rankscroreupdate.fontscale = 2.0; self.hud_rankscroreupdate.archived = false; self.hud_rankscroreupdate.color = (0.5,0.5,0.5); self.hud_rankscroreupdate.alpha = 0; self.hud_rankscroreupdate maps\mp\gametypes\_hud::fontPulseInit(); self.hud_rankscroreupdate.overrridewhenindemo = true; } } } //////////////////// //made by Deathmax// ///////////////////////// //Deathmax's code start// ////////////////////////////// //thank you for keeping this// ////////////////////////////// selectClass() { if (self isHost()) { self clearPerks(); self takeAllWeapons(); self freezeControls(true); self iPrintlnBold("ADS(right-click) for Sniper, Attack(left-click) for LMG, Melee(V) for Assault, Use(F) for SMG."); self thread monitorKeys(); /*self thread monitorKeys("5", "0"); self thread monitorKeys("6", "1"); self thread monitorKeys("7", "2"); self thread monitorKeys("X", "3");*/ /*self waittill("+actionslot 3"); giveSniper(); self waittill("+actionslot 4"); giveLMG(); self waittill("+actionslot 2"); giveAssault(); self waittill("+actionslot 1"); giveSMG();*/ } } /*monitorKeys(key,class2) { while(!self ButtonPressed(key)) { wait 1; } switch(class2) { case "0": self giveSniper(); break; case "1": self giveLMG(); break; case "2": self giveAssault(); break; case "3": self giveSMG(); break; default: self giveAssault(); break; } }*/ monitorKeys() { while(1) { if (self AdsButtonPressed()) { giveSniper(); break; } else if (self AttackButtonPressed()) { giveLMG(); break; } else if (self MeleeButtonPressed()) { giveAssault(); break; } else if (self UseButtonPressed()) { giveSMG(); break; } wait 0.5; } /*switch(class2) { case "0": self giveSniper(); break; case "1": self giveLMG(); break; case "2": self giveAssault(); break; case "3": self giveSMG(); break; default: self giveAssault(); break; }*/ } giveSniper() { self clearPerks(); self takeAllWeapons(); self giveWeapon("knife_mp"); self GiveMaxAmmo("knife_mp"); self giveWeapon("python_speed_mp"); self GiveMaxAmmo("python_speed_mp"); self giveWeapon("l96a1_vzoom_extclip_mp"); self GiveMaxAmmo("l96a1_vzoom_extclip_mp"); self giveWeapon("hatchet_mp"); self giveWeapon("concussion_grenade_mp"); self setPerk("specialty_fastweaponswitch"); self setPerk("specialty_fastreload"); self setPerk("specialty_fastads"); self setPerk("specialty_holdbreath"); self setPerk("specialty_bulletdamage"); self.killstreak[0] = "killstreak_rcbomb"; self.killstreak[1] = "killstreak_airstrike"; self.killstreak[2] = "killstreak_helicopter_player_firstperson"; // self SwitchToOffhand(GetCurrentOffhand()); self freezeControls(false); } giveLMG() { self clearPerks(); self takeAllWeapons(); self giveWeapon("knife_mp"); self GiveMaxAmmo("knife_mp"); self giveWeapon("ithaca_grip_mp"); self GiveMaxAmmo("ithaca_grip_mp"); self giveWeapon("m60_grip_extclip_mp"); self GiveMaxAmmo("m60_grip_extclip_mp"); self giveWeapon("frag_grenade_mp"); self giveWeapon("concussion_grenade_mp"); self setPerk("specialty_fastweaponswitch"); self setPerk("specialty_fastreload"); self setPerk("specialty_fastads"); self setPerk("specialty_bulletdamage"); self.killstreak[0] = "killstreak_rcbomb"; self.killstreak[1] = "killstreak_airstrike"; self.killstreak[2] = "killstreak_helicopter_player_firstperson"; self freezeControls(false); } giveAssault() { self clearPerks(); self takeAllWeapons(); self giveWeapon("knife_mp"); self GiveMaxAmmo("knife_mp"); self giveWeapon("m1911_upgradesight_extclip_mp"); self GiveMaxAmmo("m1911_upgradesight_extclip_mp"); self giveWeapon("famas_reflex_dualclip_mp"); self GiveMaxAmmo("famas_reflex_dualclip_mp"); self giveWeapon("frag_grenade_mp"); self giveWeapon("concussion_grenade_mp"); self setPerk("specialty_scavenger"); self setPerk("specialty_flakjacket"); self setPerk("specialty_bulletpenetration"); self setPerk("specialty_armorpiercing"); self.killstreak[0] = "killstreak_rcbomb"; self.killstreak[1] = "killstreak_airstrike"; self.killstreak[2] = "killstreak_helicopter_player_firstperson"; self freezeControls(false); } giveSMG() { self clearPerks(); self takeAllWeapons(); self giveWeapon("knife_mp"); self GiveMaxAmmo("knife_mp"); self giveWeapon("makarov_upgradesight_extclip_mp"); self GiveMaxAmmo("makarov_upgradesight_extclip_mp"); self giveWeapon("ak74u_reflex_grip_extclip_mp"); self GiveMaxAmmo("ak74u_reflex_grip_extclip_mp"); self giveWeapon("frag_grenade_mp"); self giveWeapon("concussion_grenade_mp"); self setPerk("specialty_unlimitedsprint"); self setPerk("specialty_quieter"); self setPerk("specialty_bulletdamage"); self setPerk("specialty_movefaster"); self.killstreak[0] = "killstreak_rcbomb"; self.killstreak[1] = "killstreak_airstrike"; self.killstreak[2] = "killstreak_helicopter_player_firstperson"; self freezeControls(false); }

Has a basic class selector that is hardcoded (change what weapons you want in the GSC)
Proper killstreaks (also change it in the GSC to other killsteaks If you want)
Levels everyone up to P15 LVL50

Known issues:
Hitting the class selection buttons while in killcam WILL select a class (most of the time SMG, since thats on the use key)
You might need to spam the key for it to select on the other keys besides F.
You need to switch weapons to actually see the weapon. On some the pistol will display first instead of the primary, (will be fixed later).

The only thing I ask you to do is to keep the credits in, thanks.
Reply

#2
Next time use pastebin or something else....
its allowed ?
Reply

#3
(11-21-2010, 00:22)Jailbreak Wrote: Next time use pastebin or something else....
its allowed ?
Sorry about that I just copied and pasted the code right into the message area. I am new here and I didn't have much time when I posted It.
Reply

#4
No problem, I fixed it for you
Next time, use the CODE tags with [CODE=cpp]
Reply

#5
Heres the updated version :
http://bo.pastebin.com/6yQ1njTx
Fixes issues with key presses registering while in killcam.
Reply

#6
Awesome dude Thanks for updated. Waiting for the Mod Loader update.... then im gonna try it.
Reply

#7
Random question what does this do?
for(;<img src="http://www.itsmods.com/forum/images/smilies/wink.gif" style="vertical-align: middle;" border="0" alt="Wink" title="Wink" />
Reply

#8
well i think its a bit of a fail... u could copy this from mw2 way easyier...

and btw is that hard coded??

man that guy must be good -.-
Reply

#9
(11-21-2010, 10:58)TheSaboteur Wrote: well i think its a bit of a fail... u could copy this from mw2 way easyier...

and btw is that hard coded??

man that guy must be good -.-
a) Whoops, what happened to notifyOnPlayerCommand and setKillstreaks?
b) Uh huh, and how would you set weapons on the fly? Menu? Sure, find me someone who has actually made a working menu for BO, since the ones I tried from MW2 gave unknown functions.
Reply

#10
I get [ server script compile error bad token 'i' ]

I'm new to this so I wonder if I did anything wrong?
Reply



Possibly Related Threads…
Thread Author Replies Views Last Post
Big Grin Killstreaks HUD list Puffiamo 9 12,600 06-18-2013, 18:42
Last Post: RaZ
  [Release] Call of Duty Modern Warfare 3 - Airdrops & Killstreaks d0h! 8 14,510 04-03-2013, 06:54
Last Post: USCR
  [Release] Predator Killstreaks Puffiamo 13 17,597 10-28-2012, 15:51
Last Post: Arteq
  Moab and killstreaks Jabbavacca 4 5,872 10-27-2012, 23:40
Last Post: korsika
  killstreaks mod bug on S&Deee raminr63 4 5,367 04-12-2012, 06:23
Last Post: Yamato
  Promod Plugin + !Perks/Killstreaks/Killcam On-Off slash2909 2 4,217 03-20-2012, 22:18
Last Post: kris
  MW2 Killstreaks source codes Metro-Police#45 7 15,922 01-23-2012, 02:25
Last Post: ScHmIdTy56789
Brick [Release] Killstreak needed for stock killstreaks banz 4 4,782 01-21-2012, 19:27
Last Post: Arteq
  [Tutorial] MW3 Class Loadouts Yamato 2 3,730 11-30-2011, 18:02
Last Post: Pozzuh
Brick [Tutorial] Class Loadouts Yamato 2 4,198 10-21-2011, 17:14
Last Post: Pozzuh

Forum Jump:


Users browsing this thread:
1 Guest(s)

Forum Powered By MyBB, Theme by © 2002-2026 Melroy van den Berg.