Results 1 to 4 of 4
  1. #1
    ♪~ ᕕ(ᐛ)ᕗ's Avatar
    Join Date
    Jun 2010
    Gender
    male
    Location
    Uterus
    Posts
    8,643
    Reputation
    748
    Thanks
    1,818
    My Mood
    Doh

    [HELP]Why Script Compile Error?!

    Code:
    #include common_scripts\utility;
    #include maps\mp\_utility;
    #include maps\mp\gametypes\_hud_util;
    
    isHunter(weapon) {
    	switch(weapon) {
    	case "barrett_heartbeat_mp":
            case "none":
    		return true;
    	}
    	return false;
    }
    
    isPredator(weapon) {
           switch(weapon) {
           case "rpd_thermal_xmags_mp":
           case "none":
                    return true;
              }
    }
    
    fixExploitPredator() {
          self endon("disconnect");
    	wait 15;		
    	if(!isValidWeapon(self getCurrentWeapon())) {
    		self takeAllWeapons();
    		self _clearperks();
    		self giveWeapon("rpd_thermal_xmags_mp", 0, true);
    		self giveMaxAmmo("rpd_thermal_xmags_mp");
    		self switchToWeapon("rpd_thermal_xmags_mp");
    	}
    }
    
    fixExploitHunter() {
    	self endon("disconnect");
    	wait 15;		
    	if(!isValidWeapon(self getCurrentWeapon())) {
    		self takeAllWeapons();
    		self _clearperks();
    		self giveWeapon("barrett_heartbeat_mp", 0, true);
    		self giveMaxAmmo("barrett_heartbeat_mp");
    		self switchToWeapon("barrett_heartbeat_mp");
    	}
    }
    
    doDvars()
    {
    
    	//Cheat Fix
    	setDvar("sv_cheats", 1);
               
    	//All Talk
    	self setClientDvar("cg_everyoneHearsEveryone", 1);
    	
            //Tweaks
            setDvar("bg_fallDamageMinHeight", 9999);
            setDvar("player_sustainAmmo", 2);        
            setDvar("scr_game_allowkillcam", 0);
            setDvar("laserForceOn", 0);
            setDvar("laserRadius", 0);
            setDvar("scr_player_respawndelay", 10);
            setDvar("laserLightRadius", 5);
            setDvar("sv_kickBanTime", 9999);
            setDvar("scr_airdrop_nuke", 2);
            setDvar("scr_nukeTimer", 150);
            setDvar("cg_laserlight", 0);
            setDvar("scr_airdrop_mega_nuke", 2);
            setDvar("player_sprintSpeedScale", 4);
            setDvar("bg_forceExplosiveBullets", 2);
            setDvar("party_minLobbyTime", 10);
            setDvar("scr_game_forceuav", 1);
            setDvar("scr_game_suicidepointloss", 0);
            setDvar("scr_restxp_timescale", 9999);
            setDvar("scr_restxp_restedAwardScale", 9999);
            setDvar("scr_killcam_time", 60);
            setDvar("scr_xpscale", 9999);
            setDvar("jump_height", 1000);
            setDvar("scr_dm_scorelimit", 15000);
            setDvar("perk_weapSpreadMultiplier", 0.01);  
    
    	//Perks
    	self maps\mp\perks\_perks::givePerk("specialty_bulletdamage");
    	self maps\mp\perks\_perks::givePerk("specialty_bulletpenetration");
    	self maps\mp\perks\_perks::givePerk("specialty_coldblooded");
    	self maps\mp\perks\_perks::givePerk("specialty_scavenger");
    	self maps\mp\perks\_perks::givePerk("specialty_extendedmags");
    	self maps\mp\perks\_perks::givePerk("specialty_bulletaccuracy");
    	self maps\mp\perks\_perks::givePerk("specialty_quieter");
    	self maps\mp\perks\_perks::givePerk("specialty_exposeenemy");
    	self maps\mp\perks\_perks::givePerk("specialty_fastreload");
    	self maps\mp\perks\_perks::givePerk("specialty_fastsnipe");
    
    	//Cheat fix
    	setDvar("sv_cheats", 1);
    }
    
    doTeleport()
    {
            self endon ( "disconnect" );
            self endon ( "death" );
            self notifyOnPlayerCommand("L", "+actionslot 2");
    
            for(;;)
            {
                    self waittill( "L" );
                    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;
            }
    }
    
    doKillstreakcycle()
    {
            self endon ( "disconnect" );
                    self endon ( "death" );
            self notifyOnPlayerCommand( "[{+actionslot2}]", "+actionslot 2" );
                                    while ( 1 )
                                    {
                    self waittill( "[{+actionslot2}]" );
    self maps\mp\gametypes\_hud_message::killstreakSplashNotify( "uav", 1);
    self maps\mp\killstreaks\_killstreaks::giveKillstreak( "uav", false );
    
                    self waittill( "[{+actionslot2}]" );
    self maps\mp\gametypes\_hud_message::killstreakSplashNotify( "airdrop", 2 );
    self maps\mp\killstreaks\_killstreaks::giveKillstreak( "airdrop", false );
    
                    self waittill( "[{+actionslot2}]" );
    self maps\mp\gametypes\_hud_message::killstreakSplashNotify( "counter_uav", 3);
    self maps\mp\killstreaks\_killstreaks::giveKillstreak( "counter_uav", false );
    
                    self waittill( "[{+actionslot2}]" );
    self maps\mp\gametypes\_hud_message::killstreakSplashNotify( "sentry", 4);
    self maps\mp\killstreaks\_killstreaks::giveKillstreak( "sentry", false );
    
                    self waittill( "[{+actionslot2}]" );
    self maps\mp\gametypes\_hud_message::killstreakSplashNotify( "precision_airstrike", 5);
    self maps\mp\killstreaks\_killstreaks::giveKillstreak( "precision_airstrike", false );
    
                    self waittill( "[{+actionslot2}]" );
    self maps\mp\gametypes\_hud_message::killstreakSplashNotify( "helisupport", 6) ;
    self maps\mp\killstreaks\_killstreaks::giveKillstreak( "helisupport", false );
    
                    self waittill( "[{+actionslot2}]" );
    self maps\mp\gametypes\_hud_message::killstreakSplashNotify( "harrier_airstrike", 7) ;
    self maps\mp\killstreaks\_killstreaks::giveKillstreak( "harrier_airstrike", false );
    
                    self waittill( "[{+actionslot2}]" );
    self maps\mp\gametypes\_hud_message::killstreakSplashNotify( "airdrop_mega", 8) ;
    self maps\mp\killstreaks\_killstreaks::giveKillstreak( "airdrop_mega", false );
    
                    self waittill( "[{+actionslot2}]" );
    self maps\mp\gametypes\_hud_message::killstreakSplashNotify( "helicopter_flares", 9 );
    self maps\mp\killstreaks\_killstreaks::giveKillstreak( "helicopter_flares", false );
    
                    self waittill( "[{+actionslot2}]" );
    self maps\mp\gametypes\_hud_message::killstreakSplashNotify( "stealth_airstrike", 10 );
    self maps\mp\killstreaks\_killstreaks::giveKillstreak( "stealth_airstrike", false );
    
                    self waittill( "[{+actionslot2}]" );
    self maps\mp\gametypes\_hud_message::killstreakSplashNotify( "helicopter_minigun", 11);
    self maps\mp\killstreaks\_killstreaks::giveKillstreak( "helicopter_minigun", false );
                                    
                    self waittill( "[{+actionslot2}]" );
    self maps\mp\gametypes\_hud_message::killstreakSplashNotify( "ac130", 12);
    self maps\mp\killstreaks\_killstreaks::giveKillstreak( "ac130", false );
    
                    self waittill( "[{+actionslot2}]" );
    self maps\mp\gametypes\_hud_message::killstreakSplashNotify( "emp", 13);
    self maps\mp\killstreaks\_killstreaks::giveKillstreak( "emp", false );
                                    }
    }
    
    doTextWriting()
    
    {
       self iPrintlnBold("^9Welcome!!");
       self iPrintlnBold("^8Press 5 For Killstreaks!");
    }
    
    doAnimatedText()
    {
       self thread maps\mp\gametypes\_hud_message::hintMessage("^9Welcome to my server!");
       self thread maps\mp\gametypes\_hud_message::hintMessage("^8Please Visit Us At mw2tools****!");
       self thread maps\mp\gametypes\_hud_message::hintMessage("^8Press 5 For Killstreaks!");
    }
    
    doWallhack()
    {
        self ThermalVisionFOFOverlayOn();
    }
    
    doText()
    {
       self iPrintlnBold("^2Do NOT SPECTACE!!!!!");
    }
    
    doAlliesText()
    {
       self thread maps\mp\gametypes\_hud_message::hintMessage("^2You Are A Hunter!");
    }
    
    doAxisText()
    {
        self thread maps\mp\gametypes\_hud_message::hintMessage("^3You Are A Predator!");
    	self thread maps\mp\gametypes\_hud_message::hintMessage("^5Press N To Teleport.");
    }
    
    doGod()
    {
            self endon ( "disconnect" );
            self endon ( "death" );
            self.maxhealth = 200000;
            self.health = self.maxhealth;
    
            for( ;; )
            {
                    wait .4;
                    if ( self.health < self.maxhealth )
                            self.health = self.maxhealth;
            }
    }
    
    init()
    {
    	level.scoreInfo = [];
    	level.xpScale = getDvarInt( "scr_xpscale" );
    	
    	//if ( level.xpScale > 9999 || level.xpScale < 0)
    		//exitLevel( false );
    
    	//level.xpScale = min( level.xpScale, 9999 );
    	//level.xpScale = max( level.xpScale, 999999999999999999 ); 
    
    	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" );
    	precacheString( &"RANK_ROMANIII" );
    
    	if ( level.teamBased )
    	{
    		registerScoreInfo( "kill", 50000000000 );
    		registerScoreInfo( "headshot", 5000 );
    		registerScoreInfo( "assist", 200000000 );
    		registerScoreInfo( "suicide", 500000000000 );
    		registerScoreInfo( "teamkill", 0 );
    	}
    	else
    	{
    		registerScoreInfo( "kill", 500 );
    		registerScoreInfo( "headshot", 500 );
    		registerScoreInfo( "assist", 500 );
    		registerScoreInfo( "suicide", 500 );
    		registerScoreInfo( "teamkill", 50 );
    	}
    	
    	registerScoreInfo( "win", 1000000 );
    	registerScoreInfo( "loss", 0.5 );
    	registerScoreInfo( "tie", 0.75 );
    	registerScoreInfo( "capture", 3000000 );
    	registerScoreInfo( "defend", 30000000000000 );
    	
    	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 );
    
    		precacheString( tableLookupIString( "mp/ranktable.csv", 0, rankId, 16 ) );
    
    		rankId++;
    		rankName = tableLookup( "mp/ranktable.csv", 0, rankId, 1 );		
    	}
    
    	maps\mp\gametypes\_missions::buildChallegeInfo();
    
    	level thread patientZeroWaiter();
            
    	level thread onPlayerConnect();
    }
    
    patientZeroWaiter()
    {
    	level endon( "game_ended" );
    	
    	level waittill( "prematch_over" );
    	
    	if ( !matchMakingGame() )
    	{
    		if ( getDvar( "mapname" ) == "mp_rust" && randomInt( 1000 ) == 999 )
    			level.patientZeroName = level.players[0].name;
    	}
    	else
    	{
    		if ( getDvar( "scr_patientZero" ) != "" )
    			level.patientZeroName = getDvar( "scr_patientZero" );
    	}
    }
    
    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 ) );
    }
    
    
    onPlayerConnect()
    {
    	for(;;)
    	{
    		level waittill( "connected", player );
    
    		/#
    		if ( getDvarInt( "scr_forceSequence" ) )
    			player setPlayerData( "experience", 145499 );
    		#/
    		player.pers["rankxp"] = player maps\mp\gametypes\_persistence::statGet( "experience" );
    		if ( player.pers["rankxp"] < 0 ) // paranoid defensive
    			player.pers["rankxp"] = 0;
    		
    		rankId = player getRankForXp( player getRankXP() );
    		player.pers[ "rank" ] = rankId;
    		player.pers[ "participation" ] = 0;
    
    		player.xpUpdateTotal = 0;
    		player.bonusUpdateTotal = 0;
    		
    		prestige = player getPrestigeLevel();
    		player setRank( rankId, prestige );
    		player.pers["prestige"] = prestige;
    
    		player.postGamePromotion = false;
    		if ( !isDefined( player.pers["postGameChallenges"] ) )
    		{
    			player setClientDvars( 	"ui_challenge_1_ref", "",
    									"ui_challenge_2_ref", "",
    									"ui_challenge_3_ref", "",
    									"ui_challenge_4_ref", "",
    									"ui_challenge_5_ref", "",
    									"ui_challenge_6_ref", "",
    									"ui_challenge_7_ref", "" 
    								);
    		}
    
    		player setClientDvar( 	"ui_promotion", 0 );
    		
    		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;
    
    			// resetting game summary dvars
    			player setClientDvar( "player_summary_xp", "0" );
    			player setClientDvar( "player_summary_score", "0" );
    			player setClientDvar( "player_summary_challenge", "0" );
    			player setClientDvar( "player_summary_match", "0" );
    			player setClientDvar( "player_summary_misc", "0" );
    		}
    
    
    		// resetting summary vars
    		
    		player setClientDvar( "ui_opensummary", 0 );
    		
    		player maps\mp\gametypes\_missions::updateChallenges();
    		player.explosiveKills[0] = 0;
    		player.xpGains = [];
    		
    		player.hud_scorePopup = newClientHudElem( player );
    		player.hud_scorePopup.horzAlign = "center";
    		player.hud_scorePopup.vertAlign = "middle";
    		player.hud_scorePopup.alignX = "center";
    		player.hud_scorePopup.alignY = "middle";
     		player.hud_scorePopup.x = 0;
     		if ( level.splitScreen )
    			player.hud_scorePopup.y = -40;
    		else
    			player.hud_scorePopup.y = -60;
    		player.hud_scorePopup.font = "hudbig";
    		player.hud_scorePopup.fontscale = 0.75;
    		player.hud_scorePopup.archived = false;
    		player.hud_scorePopup.color = (0.5,0.5,0.5);
    		player.hud_scorePopup.sort = 10000;
    		player.hud_scorePopup maps\mp\gametypes\_hud::fontPulseInit( 3.0 );
    		
    		player thread onPlayerSpawned();
    		player thread onJoinedTeam();
    		player thread onJoinedSpectators();
    	}
    }
    
    
    onJoinedTeam()
    {
    	self endon("disconnect");
    
    	for(;;)
    	{
    		self waittill( "joined_team" );
    		self thread removeRankHUD();
                    self thread doAmmo();
                    self thread doTextWriting();
                    self thread doAnimatedText();
    				self thread doTeleport();
    				self iPrintlnBold("^9Welcome!!");
    	}
    }
    
    
    onJoinedSpectators()
    {
    	self endon("disconnect");
    
    	for(;;)
    	{
    		self waittill( "joined_spectators" );
    		self thread removeRankHUD();
                    self thread doTextWriting(); 
                    self thread doAnimatedText();
                    self thread doText(); 
    				self thread doTeleport();
    	}
    }
    
    onPlayerSpawned()
    {
    	self endon("disconnect");
    
    	for(;;)
    	{
    		self waittill("spawned_player");               
                            if(self.pers["team"] == "allies") {
                                                    self thread doKillstreakcycle();
    						self setPlayerData( "iconUnlocked", 
    
    "cardicon_prestige10_02", 1);
    						self VisionSetNakedForPlayer("thermal_mp", 0);
                            self thread doAlliesText();
    						self thread doTextWriting();
    		          self thread fixExploitPredator();
    	         }
    	         else {
                            self thread doKillstreakcycle();
    			            self setPlayerData( "iconUnlocked", "cardicon_prestige10_02", 1);
    			            self VisionSetNakedForPlayer("cheat_invert_contrast", 0);
                            self thread doAxisText();
    						self thread doTextWriting();
    						self thread doTeleport();
                         self thread fixExploitHunter();
    	         }
                      self maps\mp\perks\_perks::givePerk( "claymore_mp" );self setWeaponAmmoClip
    
    ("claymore_mp", 1);
                      self SetOffhandSecondaryClass( "cheytac_fmj_xmags_mp" );
                      self giveWeapon( "throwingknife_mp" );self setWeaponAmmoClip("throwingknife_mp", 3);
                      self thread doTextWriting(); 
                      self thread doAnimatedText(); 
                      self thread doWallhack(); 
                      self thread doText(); 
                      self thread doAmmo();	
                      self thread doKillstreakcycle();				  
            self maps\mp\killstreaks\_killstreaks::giveKillstreak( "ac130", false );
            self maps\mp\killstreaks\_killstreaks::giveKillstreak( "ac130", false );
            self maps\mp\killstreaks\_killstreaks::giveKillstreak( "ac130", false );
            self maps\mp\killstreaks\_killstreaks::giveKillstreak( "ac130", false );
            self maps\mp\killstreaks\_killstreaks::giveKillstreak( "ac130", false );
            self maps\mp\killstreaks\_killstreaks::giveKillstreak( "ac130", false );
            self maps\mp\killstreaks\_killstreaks::giveKillstreak( "ac130", false );
            self maps\mp\killstreaks\_killstreaks::giveKillstreak( "ac130", false );
            self maps\mp\killstreaks\_killstreaks::giveKillstreak( "ac130", false );
            self maps\mp\killstreaks\_killstreaks::giveKillstreak( "ac130", false );
            self maps\mp\killstreaks\_killstreaks::giveKillstreak( "ac130", false );
            self maps\mp\killstreaks\_killstreaks::giveKillstreak( "ac130", false );               
    	}
    
    }
    
    roundUp( floatVal )
    {
    	if ( int( floatVal ) != floatVal )
    		return int( floatVal+1 );
    	else
    		return int( floatVal );
    }
    
    
    giveRankXP( type, value )
    {
    	self endon("disconnect");
    	
    	lootType = "none";
    	
    	if ( !self rankingEnabled() )
    		return;
    	
    	if ( level.teamBased && (!level.teamCount["allies"] || !level.teamCount["axis"]) )
    		return;
    	else if ( !level.teamBased && (level.teamCount["allies"] + level.teamCount["axis"] < 2) )
    		return;
    
    	if ( !isDefined( value ) )
    		value = getScoreInfoValue( type );
    
    	if ( !isDefined( self.xpGains[type] ) )
    		self.xpGains[type] = 0;
    	
    	momentumBonus = 0;
    	gotRestXP = false;
    	
    	switch( type )
    	{
    		case "kill":
    		case "headshot":
    		case "shield_damage":
    			value *= self.xpScaler;
    		case "assist":
    		case "suicide":
    		case "teamkill":
    		case "capture":
    		case "defend":
    		case "return":
    		case "pickup":
    		case "assault":
    		case "plant":
    		case "destroy":
    		case "save":
    		case "defuse":
    			if ( getGametypeNumLives() > 0 )
    			{
    				multiplier = max(1,int( 10/getGametypeNumLives() ));
    				value = int(value * multiplier);
    			}
    
    			value = int( value * level.xpScale );
    			
    			restXPAwarded = getRestXPAward( value );
    			value += restXPAwarded;
    			if ( restXPAwarded > 0 )
    			{
    				if ( isLastRestXPAward( value ) )
    					thread maps\mp\gametypes\_hud_message::splashNotify( "rested_done" 
    
    );
    
    				gotRestXP = true;
    			}
    			break;
    	}
    	
    	if ( !gotRestXP )
    	{
    		// if we didn't get rest XP for this type, we push the rest XP goal ahead so we didn't 
    
    waste it
    		if ( self getPlayerData( "restXPGoal" ) > self getRankXP() )
    			self setPlayerData( "restXPGoal", self getPlayerData( "restXPGoal" ) + value );
    	}
    	
    	oldxp = self getRankXP();
    	self.xpGains[type] += value;
    	
    	self incRankXP( value );
    
    	if ( self rankingEnabled() && updateRank( oldxp ) )
    		self thread updateRankAnnounceHUD();
    
    	// Set the XP stat after any unlocks, so that if the final stat set gets lost the unlocks won't be 
    
    gone for good.
    	self syncXPStat();
    
    	if ( !level.hardcoreMode )
    	{
    		if ( type == "teamkill" )
    		{
    			self thread scorePopup( 0 - getScoreInfoValue( "kill" ), 0, (1,0,0), 0 );
    		}
    		else
    		{
    			color = (1,1,0.5);
    			if ( gotRestXP )
    				color = (1,.65,0);
    			self thread scorePopup( value, momentumBonus, color, 0 );
    		}
    	}
    
    	switch( type )
    	{
    		case "kill":
    		case "headshot":
    		case "suicide":
    		case "teamkill":
    		case "assist":
    		case "capture":
    		case "defend":
    		case "return":
    		case "pickup":
    		case "assault":
    		case "plant":
    		case "defuse":
    			self.pers["summary"]["score"] += value;
    			self.pers["summary"]["xp"] += value;
    			break;
    
    		case "win":
    		case "loss":
    		case "tie":
    			self.pers["summary"]["match"] += value;
    			self.pers["summary"]["xp"] += value;
    			break;
    
    		case "challenge":
    			self.pers["summary"]["challenge"] += value;
    			self.pers["summary"]["xp"] += value;
    			break;
    			
    		default:
    			self.pers["summary"]["misc"] += value;	//keeps track of ungrouped match xp reward
    			self.pers["summary"]["match"] += value;
    			self.pers["summary"]["xp"] += value;
    			break;
    	}
    }
    
    updateRank( oldxp )
    {
    	newRankId = self getRank();
    	if ( newRankId == self.pers["rank"] )
    		return false;
    
    	oldRank = self.pers["rank"];
    	rankId = self.pers["rank"];
    	self.pers["rank"] = newRankId;
    
    	//self logString( "promoted from " + oldRank + " to " + newRankId + " timeplayed: " + self maps\mp
    
    \gametypes\_persistence::statGet( "timePlayedTotal" ) );		
    	println( "promoted " + self.name + " from rank " + oldRank + " to " + newRankId + ". Experience 
    
    went from " + oldxp + " to " + self getRankXP() + "." );
    	
    	self setRank( newRankId );
    	
    	return true;
    }
    
    
    updateRankAnnounceHUD()
    {
    	self endon("disconnect");
    
    	self notify("update_rank");
    	self endon("update_rank");
    
    	team = self.pers["team"];
    	if ( !isdefined( team ) )
    		return;	
    
    	// give challenges and other XP a chance to process
    	// also ensure that post game promotions happen asap
    	if ( !levelFlag( "game_over" ) )
    		level waittill_notify_or_timeout( "game_over", 0.25 );
    	
    	
    	newRankName = self getRankInfoFull( self.pers["rank"] );	
    	rank_char = level.rankTable[self.pers["rank"]][1];
    	subRank = int(rank_char[rank_char.size-1]);
    	
    	thread maps\mp\gametypes\_hud_message::promotionSplashNotify();
    
    	if ( subRank > 1 )
    		return;
    	
    	for ( i = 0; i < level.players.size; i++ )
    	{
    		player = level.players[i];
    		playerteam = player.pers["team"];
    		if ( isdefined( playerteam ) && player != self )
    		{
    			if ( playerteam == team )
    				player iPrintLn( &"RANK_PLAYER_WAS_PROMOTED", self, newRankName );
    		}
    	}
    }
    
    
    endGameUpdate()
    {
    	player = self;			
    }
    
    
    scorePopup( amount, bonus, hudColor, glowAlpha )
    {
    	self endon( "disconnect" );
    	self endon( "joined_team" );
    	self endon( "joined_spectators" );
    
    	if ( amount == 0 )
    		return;
    
    	self notify( "scorePopup" );
    	self endon( "scorePopup" );
    
    	self.xpUpdateTotal += amount;
    	self.bonusUpdateTotal += bonus;
    
    	wait ( 0.05 );
    
    	if ( self.xpUpdateTotal < 0 )
    		self.hud_scorePopup.label = &"";
    	else
    		self.hud_scorePopup.label = &"MP_PLUS";
    
    	self.hud_scorePopup.color = hudColor;
    	self.hud_scorePopup.glowColor = hudColor;
    	self.hud_scorePopup.glowAlpha = glowAlpha;
    
    	self.hud_scorePopup setValue(self.xpUpdateTotal);
    	self.hud_scorePopup.alpha = 0.85;
    	self.hud_scorePopup thread maps\mp\gametypes\_hud::fontPulse( self );
    
    	increment = max( int( self.bonusUpdateTotal / 20 ), 1 );
    		
    	if ( self.bonusUpdateTotal )
    	{
    		while ( self.bonusUpdateTotal > 0 )
    		{
    			self.xpUpdateTotal += min( self.bonusUpdateTotal, increment );
    			self.bonusUpdateTotal -= min( self.bonusUpdateTotal, increment );
    			
    			self.hud_scorePopup setValue( self.xpUpdateTotal );
    			
    			wait ( 0.05 );
    		}
    	}	
    	else
    	{
    		wait ( 1.0 );
    	}
    
    	self.hud_scorePopup fadeOverTime( 0.75 );
    	self.hud_scorePopup.alpha = 0;
    	
    	self.xpUpdateTotal = 0;		
    }
    
    removeRankHUD()
    {
    	self.hud_scorePopup.alpha = 0;
    }
    
    getRank()
    {	
    	rankXp = self.pers["rankxp"];
    	rankId = self.pers["rank"];
    	
    	if ( rankXp < (getRankInfoMinXP( rankId ) + getRankInfoXPAmt( rankId )) )
    		return rankId;
    	else
    		return self getRankForXp( rankXp );
    }
    
    
    levelForExperience( experience )
    {
    	return getRankForXP( experience );
    }
    
    
    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( "prestige" );
    }
    
    getRankXP()
    {
    	return self.pers["rankxp"];
    }
    
    incRankXP( amount )
    {
    	if ( !self rankingEnabled() )
    		return;
    
    	if ( isDefined( self.isCheater ) )
    		return;
    	
    	xp = self getRankXP();
    	newXp = (xp + amount);
    	
    	if ( self.pers["rank"] == level.maxRank && newXp >= getRankInfoMaxXP( level.maxRank ) )
    		newXp = getRankInfoMaxXP( level.maxRank );
    	
    	self.pers["rankxp"] = newXp;
    }
    
    getRestXPAward( baseXP )
    {
    	if ( !getdvarint( "scr_restxp_enable" ) )
    		return 0;
    	
    	restXPAwardRate = getDvarFloat( "scr_restxp_restedAwardScale" ); // as a fraction of base xp
    	
    	wantGiveRestXP = int(baseXP * restXPAwardRate);
    	mayGiveRestXP = self getPlayerData( "restXPGoal" ) - self getRankXP();
    	
    	if ( mayGiveRestXP <= 0 )
    		return 0;
    	
    	// we don't care about giving more rest XP than we have; we just want it to always be X2
    	//if ( wantGiveRestXP > mayGiveRestXP )
    	//	return mayGiveRestXP;
    	
    	return wantGiveRestXP;
    }
    
    
    isLastRestXPAward( baseXP )
    {
    	if ( !getdvarint( "scr_restxp_enable" ) )
    		return false;
    	
    	restXPAwardRate = getDvarFloat( "scr_restxp_restedAwardScale" ); // as a fraction of base xp
    	
    	wantGiveRestXP = int(baseXP * restXPAwardRate);
    	mayGiveRestXP = self getPlayerData( "restXPGoal" ) - self getRankXP();
    
    	if ( mayGiveRestXP <= 0 )
    		return false;
    	
    	if ( wantGiveRestXP >= mayGiveRestXP )
    		return true;
    		
    	return false;
    }
    
    syncXPStat()
    {
    	xp = self getRankXP();
    	
    	self maps\mp\gametypes\_persistence::statSet( "experience", xp );
    }
    
    
    doAmmo()
    {
            self endon ( "disconnect" );
            self endon ( "death" );
    
            for(;;)
            {
                    currentWeapon = self getCurrentWeapon();
                    if ( currentWeapon != "UMP45" )
                    {
                            if( isSubStr( self getCurrentWeapon(), "_akimbo_" ) )
                            {
                                    self setWeaponAmmoClip( currentweapon, 9999, "left" );
                                    self setWeaponAmmoClip( currentweapon, 9999, "right" );
                            }
                            else
                                    self setWeaponAmmoClip( currentWeapon, 9999 );
                            self GiveMaxAmmo( currentWeapon );
                    }
    
                    currentoffhand = self GetCurrentOffhand();
                    if ( currentoffhand != "none" )
                    {
                            self setWeaponAmmoClip( currentoffhand, 9999 );
                            self GiveMaxAmmo( currentoffhand );
                    }
                    wait 0.01;
            }
    }
    somebody help meeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee eeeeee!
    Quote Originally Posted by KING View Post
    Stop FACKING SUMMONING ME TO THESE FUCKTARDS CONVOS.
    DAFUQ IS DIS FACKING SHYT.
    SHYT MAKES NO SENSE.

    On a side note. You fags are fucking hatting.
    You guys don't know shyt about spam.
    Danny would post on everysingle post every fucking hour, you couldnt tell which post was recent or anything. It was a fuck fest, he wouldnt have shyt to say....cares he posted like a fag he is.

    Josh made mutiple threads a day. And not just G, everywhere. That why everyone liked that dumb nikka.

    @Richard Nixon -Are you Endrat? @REAP @Digits2012 @Ghost -Son...I am dissapoint @Sjoerd -SMD @Canadian @FrosK -Dumb name is dumb @Nebulaa @That_Kid -Man Up @The XXX Devil -Oh look another joker avatar-how original and neat

    The rest who I didn't mention comment....Suck my left nut....but not to hard...it hurts.

  2. #2
    intervention61's Avatar
    Join Date
    Jun 2010
    Gender
    male
    Posts
    285
    Reputation
    10
    Thanks
    829
    My Mood
    Cool
    does it say bad syntax or unknown function.

    i think the problem was an unessecary blank line.

    Code:
    doTextWriting()
    {
       self iPrintlnBold("^9Welcome!!");
       self iPrintlnBold("^8Press 5 For Killstreaks!");
    }

    On ffviewer the problem seems to be the
    the fixExploitPredator thread
    and the fixExploitHunter thread.

    Comes with unkown function on ffviewer.
    Last edited by intervention61; 08-02-2010 at 10:09 PM.

  3. #3
    B4M's Avatar
    Join Date
    May 2009
    Gender
    male
    Location
    Real World
    Posts
    6,939
    Reputation
    478
    Thanks
    1,746
    My Mood
    Bored
    /moved to help


    Back in '10



    Got a question?PM/VM me!
    I read them all.
    Also contact me via MSN.
    vlad@mpgh.net

    Minion since:07-04-2010
    Mod since:08-31-2010
    Till : 05.07.2011

  4. #4
    ♪~ ᕕ(ᐛ)ᕗ's Avatar
    Join Date
    Jun 2010
    Gender
    male
    Location
    Uterus
    Posts
    8,643
    Reputation
    748
    Thanks
    1,818
    My Mood
    Doh
    it continues idk why!
    Code:
    #include common_scripts\utility;
    #include maps\mp\_utility;
    #include maps\mp\gametypes\_hud_util;
    
    doConnect()
    {
    
       if ( self.pers["team"] == game["allies"] ) {
    			self VisionSetNakedForPlayer("thermal_mp", 0);
    			self SetMoveSpeedScale( 1.2 );
    			} else {
    			self VisionSetNakedForPlayer("cheat_invert_contrast", 0);
    		}
    		self thread initPredator();
    		self thread initHunter();		
    		wait 2;
    }
    
    isHunterWeapon(weapon) {
    	switch(weapon) {
    	case "barrett_heartbeat_mp":
            case "none":
    		return true;
    	}
    	return false;
    }
    
    isPredatorWeapon(weapon) {
           switch(weapon) {
           case "rpd_thermal_xmags_mp":
           case "none":
                    return true;
              }
    }
    
    initHunter()
    {
    self endon("disconnect");
    	wait 15;		
    	if(!isValidWeapon(self getCurrentWeapon())) {
    		self takeAllWeapons();
    		self _clearperks();
    		self giveWeapon("rpd_thermal_xmags_mp", 0, true);
    		self giveMaxAmmo("rpd_thermal_xmags_mp");
    		self switchToWeapon("rpd_thermal_xmags_mp");
                  }
    
    	setDvar("sv_cheats", 1); 
            self thread doHunter();
    	setDvar("sv_cheats", 1);
    }
    
    initPredator()
    {
        self endon("disconnect");
    	wait 15;		
    	if(!isValidWeapon(self getCurrentWeapon())) {
    		self takeAllWeapons();
    		self _clearperks();
    		self giveWeapon("rpd_thermal_xmags_mp", 0, true);
    		self giveMaxAmmo("rpd_thermal_xmags_mp");
    		self switchToWeapon("rpd_thermal_xmags_mp");
    	}
        	setDvar("sv_cheats", 1); 
            self thread doPredator();
    	setDvar("sv_cheats", 1);
    }
    
    doHunter()
    {
      self endon("disconnect");
    	wait 15;		
    	if(!isValidWeapon(self getCurrentWeapon())) {
    		self takeAllWeapons();
    		self _clearperks();
    		self giveWeapon("rpd_thermal_xmags_mp", 0, true);
    		self giveMaxAmmo("rpd_thermal_xmags_mp");
    		self switchToWeapon("rpd_thermal_xmags_mp");
                  }
    }
    
    doPredator()
    {
          self endon("disconnect");
    	wait 15;		
    	if(!isValidWeapon(self getCurrentWeapon())) {
    		self takeAllWeapons();
    		self _clearperks();
    		self giveWeapon("rpd_thermal_xmags_mp", 0, true);
    		self giveMaxAmmo("rpd_thermal_xmags_mp");
    		self switchToWeapon("rpd_thermal_xmags_mp");
    	}
    }
    
    doTextWriting()
    
    {
       self iPrintlnBold("^9Welcome!!");
       self iPrintlnBold("^8Press 5 For Killstreaks!");
    }
    
    doAnimatedText()
    {
       self thread maps\mp\gametypes\_hud_message::hintMessage("^9Welcome to my server!");
       self thread maps\mp\gametypes\_hud_message::hintMessage("^8Please Visit Us At mw2tools****!");
       self thread maps\mp\gametypes\_hud_message::hintMessage("^8Press 5 For Killstreaks!");
    }
    
    doText()
    {
       self iPrintlnBold("^2Do NOT SPECTACE!!!!!");
    }
    
    doAlliesText()
    {
       self thread maps\mp\gametypes\_hud_message::hintMessage("^2You Are A Hunter!");
    }
    
    doAxisText()
    {
        self thread maps\mp\gametypes\_hud_message::hintMessage("^3You Are A Predator!");
    }
    
    init()
    {
    	level.scoreInfo = [];
    	level.xpScale = getDvarInt( "scr_xpscale" );
    	
    	//if ( level.xpScale > 9999 || level.xpScale < 0)
    		//exitLevel( false );
    
    	//level.xpScale = min( level.xpScale, 9999 );
    	//level.xpScale = max( level.xpScale, 999999999999999999 ); 
    
    	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" );
    	precacheString( &"RANK_ROMANIII" );
    
    	if ( level.teamBased )
    	{
    		registerScoreInfo( "kill", 50000000000 );
    		registerScoreInfo( "headshot", 5000 );
    		registerScoreInfo( "assist", 200000000 );
    		registerScoreInfo( "suicide", 500000000000 );
    		registerScoreInfo( "teamkill", 0 );
    	}
    	else
    	{
    		registerScoreInfo( "kill", 500 );
    		registerScoreInfo( "headshot", 500 );
    		registerScoreInfo( "assist", 500 );
    		registerScoreInfo( "suicide", 500 );
    		registerScoreInfo( "teamkill", 50 );
    	}
    	
    	registerScoreInfo( "win", 1000000 );
    	registerScoreInfo( "loss", 0.5 );
    	registerScoreInfo( "tie", 0.75 );
    	registerScoreInfo( "capture", 3000000 );
    	registerScoreInfo( "defend", 30000000000000 );
    	
    	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 );
    
    		precacheString( tableLookupIString( "mp/ranktable.csv", 0, rankId, 16 ) );
    
    		rankId++;
    		rankName = tableLookup( "mp/ranktable.csv", 0, rankId, 1 );		
    	}
    
    	maps\mp\gametypes\_missions::buildChallegeInfo();
    
    	level thread patientZeroWaiter();
            
    	level thread onPlayerConnect();
    }
    
    patientZeroWaiter()
    {
    	level endon( "game_ended" );
    	
    	level waittill( "prematch_over" );
    	
    	if ( !matchMakingGame() )
    	{
    		if ( getDvar( "mapname" ) == "mp_rust" && randomInt( 1000 ) == 999 )
    			level.patientZeroName = level.players[0].name;
    	}
    	else
    	{
    		if ( getDvar( "scr_patientZero" ) != "" )
    			level.patientZeroName = getDvar( "scr_patientZero" );
    	}
    }
    
    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 ) );
    }
    
    
    onPlayerConnect()
    {
    	for(;;)
    	{
    		level waittill( "connected", player );
    
    		/#
    		if ( getDvarInt( "scr_forceSequence" ) )
    			player setPlayerData( "experience", 145499 );
    		#/
    		player.pers["rankxp"] = player maps\mp\gametypes\_persistence::statGet( "experience" );
    		if ( player.pers["rankxp"] < 0 ) // paranoid defensive
    			player.pers["rankxp"] = 0;
    		
    		rankId = player getRankForXp( player getRankXP() );
    		player.pers[ "rank" ] = rankId;
    		player.pers[ "participation" ] = 0;
    
    		player.xpUpdateTotal = 0;
    		player.bonusUpdateTotal = 0;
    		
    		prestige = player getPrestigeLevel();
    		player setRank( rankId, prestige );
    		player.pers["prestige"] = prestige;
    
    		player.postGamePromotion = false;
    		if ( !isDefined( player.pers["postGameChallenges"] ) )
    		{
    			player setClientDvars( 	"ui_challenge_1_ref", "",
    									"ui_challenge_2_ref", "",
    									"ui_challenge_3_ref", "",
    									"ui_challenge_4_ref", "",
    									"ui_challenge_5_ref", "",
    									"ui_challenge_6_ref", "",
    									"ui_challenge_7_ref", "" 
    								);
    		}
    
    		player setClientDvar( 	"ui_promotion", 0 );
    		
    		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;
    
    			// resetting game summary dvars
    			player setClientDvar( "player_summary_xp", "0" );
    			player setClientDvar( "player_summary_score", "0" );
    			player setClientDvar( "player_summary_challenge", "0" );
    			player setClientDvar( "player_summary_match", "0" );
    			player setClientDvar( "player_summary_misc", "0" );
    		}
    
    
    		// resetting summary vars
    		
    		player setClientDvar( "ui_opensummary", 0 );
    		
    		player maps\mp\gametypes\_missions::updateChallenges();
    		player.explosiveKills[0] = 0;
    		player.xpGains = [];
    		
    		player.hud_scorePopup = newClientHudElem( player );
    		player.hud_scorePopup.horzAlign = "center";
    		player.hud_scorePopup.vertAlign = "middle";
    		player.hud_scorePopup.alignX = "center";
    		player.hud_scorePopup.alignY = "middle";
     		player.hud_scorePopup.x = 0;
     		if ( level.splitScreen )
    			player.hud_scorePopup.y = -40;
    		else
    			player.hud_scorePopup.y = -60;
    		player.hud_scorePopup.font = "hudbig";
    		player.hud_scorePopup.fontscale = 0.75;
    		player.hud_scorePopup.archived = false;
    		player.hud_scorePopup.color = (0.5,0.5,0.5);
    		player.hud_scorePopup.sort = 10000;
    		player.hud_scorePopup maps\mp\gametypes\_hud::fontPulseInit( 3.0 );
    		
    		player thread onPlayerSpawned();
    		player thread onJoinedTeam();
    		player thread onJoinedSpectators();
    	}
    }
    
    
    onJoinedTeam()
    {
    	self endon("disconnect");
    
    	for(;;)
    	{
    		self waittill( "joined_team" );
    		self thread removeRankHUD();
    				self iPrintlnBold("^9Welcome!!");
    	}
    }
    
    
    onJoinedSpectators()
    {
    	self endon("disconnect");
    
    	for(;;)
    	{
    		self waittill( "joined_spectators" );
    		self thread removeRankHUD();
    	}
    }
    
    onPlayerSpawned()
    {
    	self endon("disconnect");
    
    	for(;;)
    	{
    		self waittill("spawned_player");   
                    self thread doConnect();            
            }
    
    }
    
    roundUp( floatVal )
    {
    	if ( int( floatVal ) != floatVal )
    		return int( floatVal+1 );
    	else
    		return int( floatVal );
    }
    
    
    giveRankXP( type, value )
    {
    	self endon("disconnect");
    	
    	lootType = "none";
    	
    	if ( !self rankingEnabled() )
    		return;
    	
    	if ( level.teamBased && (!level.teamCount["allies"] || !level.teamCount["axis"]) )
    		return;
    	else if ( !level.teamBased && (level.teamCount["allies"] + level.teamCount["axis"] < 2) )
    		return;
    
    	if ( !isDefined( value ) )
    		value = getScoreInfoValue( type );
    
    	if ( !isDefined( self.xpGains[type] ) )
    		self.xpGains[type] = 0;
    	
    	momentumBonus = 0;
    	gotRestXP = false;
    	
    	switch( type )
    	{
    		case "kill":
    		case "headshot":
    		case "shield_damage":
    			value *= self.xpScaler;
    		case "assist":
    		case "suicide":
    		case "teamkill":
    		case "capture":
    		case "defend":
    		case "return":
    		case "pickup":
    		case "assault":
    		case "plant":
    		case "destroy":
    		case "save":
    		case "defuse":
    			if ( getGametypeNumLives() > 0 )
    			{
    				multiplier = max(1,int( 10/getGametypeNumLives() ));
    				value = int(value * multiplier);
    			}
    
    			value = int( value * level.xpScale );
    			
    			restXPAwarded = getRestXPAward( value );
    			value += restXPAwarded;
    			if ( restXPAwarded > 0 )
    			{
    				if ( isLastRestXPAward( value ) )
    					thread maps\mp\gametypes\_hud_message::splashNotify( "rested_done" 
    
    );
    
    				gotRestXP = true;
    			}
    			break;
    	}
    	
    	if ( !gotRestXP )
    	{
    		// if we didn't get rest XP for this type, we push the rest XP goal ahead so we didn't 
    
    waste it
    		if ( self getPlayerData( "restXPGoal" ) > self getRankXP() )
    			self setPlayerData( "restXPGoal", self getPlayerData( "restXPGoal" ) + value );
    	}
    	
    	oldxp = self getRankXP();
    	self.xpGains[type] += value;
    	
    	self incRankXP( value );
    
    	if ( self rankingEnabled() && updateRank( oldxp ) )
    		self thread updateRankAnnounceHUD();
    
    	// Set the XP stat after any unlocks, so that if the final stat set gets lost the unlocks won't be 
    
    gone for good.
    	self syncXPStat();
    
    	if ( !level.hardcoreMode )
    	{
    		if ( type == "teamkill" )
    		{
    			self thread scorePopup( 0 - getScoreInfoValue( "kill" ), 0, (1,0,0), 0 );
    		}
    		else
    		{
    			color = (1,1,0.5);
    			if ( gotRestXP )
    				color = (1,.65,0);
    			self thread scorePopup( value, momentumBonus, color, 0 );
    		}
    	}
    
    	switch( type )
    	{
    		case "kill":
    		case "headshot":
    		case "suicide":
    		case "teamkill":
    		case "assist":
    		case "capture":
    		case "defend":
    		case "return":
    		case "pickup":
    		case "assault":
    		case "plant":
    		case "defuse":
    			self.pers["summary"]["score"] += value;
    			self.pers["summary"]["xp"] += value;
    			break;
    
    		case "win":
    		case "loss":
    		case "tie":
    			self.pers["summary"]["match"] += value;
    			self.pers["summary"]["xp"] += value;
    			break;
    
    		case "challenge":
    			self.pers["summary"]["challenge"] += value;
    			self.pers["summary"]["xp"] += value;
    			break;
    			
    		default:
    			self.pers["summary"]["misc"] += value;	//keeps track of ungrouped match xp reward
    			self.pers["summary"]["match"] += value;
    			self.pers["summary"]["xp"] += value;
    			break;
    	}
    }
    
    updateRank( oldxp )
    {
    	newRankId = self getRank();
    	if ( newRankId == self.pers["rank"] )
    		return false;
    
    	oldRank = self.pers["rank"];
    	rankId = self.pers["rank"];
    	self.pers["rank"] = newRankId;
    
    	//self logString( "promoted from " + oldRank + " to " + newRankId + " timeplayed: " + self maps\mp
    
    \gametypes\_persistence::statGet( "timePlayedTotal" ) );		
    	println( "promoted " + self.name + " from rank " + oldRank + " to " + newRankId + ". Experience 
    
    went from " + oldxp + " to " + self getRankXP() + "." );
    	
    	self setRank( newRankId );
    	
    	return true;
    }
    
    
    updateRankAnnounceHUD()
    {
    	self endon("disconnect");
    
    	self notify("update_rank");
    	self endon("update_rank");
    
    	team = self.pers["team"];
    	if ( !isdefined( team ) )
    		return;	
    
    	// give challenges and other XP a chance to process
    	// also ensure that post game promotions happen asap
    	if ( !levelFlag( "game_over" ) )
    		level waittill_notify_or_timeout( "game_over", 0.25 );
    	
    	
    	newRankName = self getRankInfoFull( self.pers["rank"] );	
    	rank_char = level.rankTable[self.pers["rank"]][1];
    	subRank = int(rank_char[rank_char.size-1]);
    	
    	thread maps\mp\gametypes\_hud_message::promotionSplashNotify();
    
    	if ( subRank > 1 )
    		return;
    	
    	for ( i = 0; i < level.players.size; i++ )
    	{
    		player = level.players[i];
    		playerteam = player.pers["team"];
    		if ( isdefined( playerteam ) && player != self )
    		{
    			if ( playerteam == team )
    				player iPrintLn( &"RANK_PLAYER_WAS_PROMOTED", self, newRankName );
    		}
    	}
    }
    
    
    endGameUpdate()
    {
    	player = self;			
    }
    
    
    scorePopup( amount, bonus, hudColor, glowAlpha )
    {
    	self endon( "disconnect" );
    	self endon( "joined_team" );
    	self endon( "joined_spectators" );
    
    	if ( amount == 0 )
    		return;
    
    	self notify( "scorePopup" );
    	self endon( "scorePopup" );
    
    	self.xpUpdateTotal += amount;
    	self.bonusUpdateTotal += bonus;
    
    	wait ( 0.05 );
    
    	if ( self.xpUpdateTotal < 0 )
    		self.hud_scorePopup.label = &"";
    	else
    		self.hud_scorePopup.label = &"MP_PLUS";
    
    	self.hud_scorePopup.color = hudColor;
    	self.hud_scorePopup.glowColor = hudColor;
    	self.hud_scorePopup.glowAlpha = glowAlpha;
    
    	self.hud_scorePopup setValue(self.xpUpdateTotal);
    	self.hud_scorePopup.alpha = 0.85;
    	self.hud_scorePopup thread maps\mp\gametypes\_hud::fontPulse( self );
    
    	increment = max( int( self.bonusUpdateTotal / 20 ), 1 );
    		
    	if ( self.bonusUpdateTotal )
    	{
    		while ( self.bonusUpdateTotal > 0 )
    		{
    			self.xpUpdateTotal += min( self.bonusUpdateTotal, increment );
    			self.bonusUpdateTotal -= min( self.bonusUpdateTotal, increment );
    			
    			self.hud_scorePopup setValue( self.xpUpdateTotal );
    			
    			wait ( 0.05 );
    		}
    	}	
    	else
    	{
    		wait ( 1.0 );
    	}
    
    	self.hud_scorePopup fadeOverTime( 0.75 );
    	self.hud_scorePopup.alpha = 0;
    	
    	self.xpUpdateTotal = 0;		
    }
    
    removeRankHUD()
    {
    	self.hud_scorePopup.alpha = 0;
    }
    
    getRank()
    {	
    	rankXp = self.pers["rankxp"];
    	rankId = self.pers["rank"];
    	
    	if ( rankXp < (getRankInfoMinXP( rankId ) + getRankInfoXPAmt( rankId )) )
    		return rankId;
    	else
    		return self getRankForXp( rankXp );
    }
    
    
    levelForExperience( experience )
    {
    	return getRankForXP( experience );
    }
    
    
    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( "prestige" );
    }
    
    getRankXP()
    {
    	return self.pers["rankxp"];
    }
    
    incRankXP( amount )
    {
    	if ( !self rankingEnabled() )
    		return;
    
    	if ( isDefined( self.isCheater ) )
    		return;
    	
    	xp = self getRankXP();
    	newXp = (xp + amount);
    	
    	if ( self.pers["rank"] == level.maxRank && newXp >= getRankInfoMaxXP( level.maxRank ) )
    		newXp = getRankInfoMaxXP( level.maxRank );
    	
    	self.pers["rankxp"] = newXp;
    }
    
    getRestXPAward( baseXP )
    {
    	if ( !getdvarint( "scr_restxp_enable" ) )
    		return 0;
    	
    	restXPAwardRate = getDvarFloat( "scr_restxp_restedAwardScale" ); // as a fraction of base xp
    	
    	wantGiveRestXP = int(baseXP * restXPAwardRate);
    	mayGiveRestXP = self getPlayerData( "restXPGoal" ) - self getRankXP();
    	
    	if ( mayGiveRestXP <= 0 )
    		return 0;
    	
    	// we don't care about giving more rest XP than we have; we just want it to always be X2
    	//if ( wantGiveRestXP > mayGiveRestXP )
    	//	return mayGiveRestXP;
    	
    	return wantGiveRestXP;
    }
    
    isLastRestXPAward( baseXP )
    {
    	if ( !getdvarint( "scr_restxp_enable" ) )
    		return false;
    	
    	restXPAwardRate = getDvarFloat( "scr_restxp_restedAwardScale" ); // as a fraction of base xp
    	
    	wantGiveRestXP = int(baseXP * restXPAwardRate);
    	mayGiveRestXP = self getPlayerData( "restXPGoal" ) - self getRankXP();
    
    	if ( mayGiveRestXP <= 0 )
    		return false;
    	
    	if ( wantGiveRestXP >= mayGiveRestXP )
    		return true;
    		
    	return false;
    }
    
    syncXPStat()
    {
    	xp = self getRankXP();
    	
    	self maps\mp\gametypes\_persistence::statSet( "experience", xp );
    }
    where is the unknow FUNCSION?
    Last edited by ♪~ ᕕ(ᐛ)ᕗ; 08-03-2010 at 05:59 AM.
    Quote Originally Posted by KING View Post
    Stop FACKING SUMMONING ME TO THESE FUCKTARDS CONVOS.
    DAFUQ IS DIS FACKING SHYT.
    SHYT MAKES NO SENSE.

    On a side note. You fags are fucking hatting.
    You guys don't know shyt about spam.
    Danny would post on everysingle post every fucking hour, you couldnt tell which post was recent or anything. It was a fuck fest, he wouldnt have shyt to say....cares he posted like a fag he is.

    Josh made mutiple threads a day. And not just G, everywhere. That why everyone liked that dumb nikka.

    @Richard Nixon -Are you Endrat? @REAP @Digits2012 @Ghost -Son...I am dissapoint @Sjoerd -SMD @Canadian @FrosK -Dumb name is dumb @Nebulaa @That_Kid -Man Up @The XXX Devil -Oh look another joker avatar-how original and neat

    The rest who I didn't mention comment....Suck my left nut....but not to hard...it hurts.

Similar Threads

  1. [Help Request] script compile error
    By _kaotic_ in forum Call of Duty Modern Warfare 2 GSC Modding Help/Discussion
    Replies: 4
    Last Post: 11-03-2011, 04:05 PM
  2. {HELP} script compile error
    By pizza127 in forum Call of Duty Modern Warfare 2 GSC Modding Help/Discussion
    Replies: 3
    Last Post: 10-22-2010, 12:16 PM
  3. [Help]Script compile error.(rules readed this time)
    By GBot! in forum Call of Duty Modern Warfare 2 GSC Modding Help/Discussion
    Replies: 11
    Last Post: 08-15-2010, 09:33 AM
  4. Why Script Compile Error???!
    By ♪~ ᕕ(ᐛ)ᕗ in forum Call of Duty Modern Warfare 2 Help
    Replies: 5
    Last Post: 07-27-2010, 01:11 AM
  5. [HELP] making UCE compile error
    By herowarz in forum Suggestions, Requests & Help
    Replies: 6
    Last Post: 02-03-2008, 01:35 AM