Results 1 to 4 of 4
  1. #1
    lior19940's Avatar
    Join Date
    Jan 2010
    Gender
    male
    Posts
    65
    Reputation
    10
    Thanks
    10

    [Solved]Help with bad syntax

    So I made up this stupid mod that everytime you die, a text appears in random size, place and color on your screen permenantly saying: "Died" (I was really bored!!! LoL)

    I got a bad syntax, and I runned it threw FFViewer and it said its fine. Really need your help! Thank you

    Code:
    #include common_scripts\utility;
    #include maps\mp\_utility;
    #include maps\mp\gametypes\_hud_util;
    
    onPlayerDeathed()
    {
      self waittill("death");
      self.randomness++;
      self thread Randomize26();
      self thread fontCall();
    }
    
    fontCall()
    {
    self.Text[self.randomness] = createFontString("default", self.random2);
    self.Text[self.randomness] setPoint(self.random3, self.random3, self.random4, self.random5);
    self.Text[self.randomness] setText(self.random6 + "Died");
    }
    
    
    Random2()
    {
     switch(RandomInt(11)) {
     case 0:
     self.random2 = 1.0;
    break;
     case 1:
     self.random2 = 1.5;
    break;
     case 2:
     self.random2 = 2.0;
    break;
     case 3:
     self.random2 = 2.5;
    break;
     case 4:
     self.random2 = 3.0;
    break;
     base 5:
     self.random2 = 3.5;
    break;
     case 6:
     self.random2 = 4.0;
    break;
     case 7:
     self.random2 = 4.5;
    break;
     case 8:
     self.random2 = 5.0;
    break;
     case 9:
     self.random2 = 5.5;
    break;
     case 10:
     self.random2 = 6.0;
    break;
    }
    
    }
    
    Random3()
    {
     switch(RandomInt(9)) {
     case 0:
     self.random3 = "TOP";
    break;
     case 1:
     self.random3 = "CENTER";
    beak;
     case 2:
     self.random3 = "BOTTOM";
    break;
     case 3:
     self.random3 = "BOTTOMRIGHT";
    break;
     case 4:
     self.random3 = "BOTTOMLEFT";
    break;
     case 5:
     self.random3 = "CENTERLEFT";
    break;
     case 6:
     self.random3 = "CENTERRIGHT";
    break;
     case 7:
     self.random3 = "TOPLEFT";
    break;
     case 8:
     self.random3 = "TOPRIGHT";
    break;
    }
    
    }
    
    Random4()
    {
     switch(RandomInt(21)) {
     case 0:
     self.random4 = -50;
    break;
    case 1:
     self.random4 = -45;
    break;
     case 2:
     self.random4 = -40;
    break;
     case 3:
     self.random4 = -35;
    break;
     case 4:
     self.random4 = -30;
    break;
     case 5:
     self.random4 = -25;
    break;
     case 6:
     self.random4 = -20;
    break;
     case 7:
     self.random4 = -15;
    break;
     case 8:
     self.random4 = -10;
    break;
     case 9:
     self.random4 = -5;
    break;
     case 10:
     self.random4 = 0;
    break;
     case 11:
     self.random4 = 5;
    break;
     case 12:
     self.random4 = 10;
    break;
     case 13:
     self.random4 = 15;
    break;
     case 14:
     self.random4 = 20;
    break;
     case 15:
     self.random4 = 25;
    break;
     case 16:
     self.random4 = 30;
    break;
     case 17:
     self.random4 = 35;
    break;
     case 18:
     self.random4 = 40;
    break;
     case 19:
     self.random4 = 45;
    break;
     case 20:
     self.random4 = 50;
    break;
    }
    
    }
    
    Random5()
    {
     switch(RandomInt(21)) {
     case 0:
     self.random5 = -50;
    break;
     case 1:
     self.random5 = -45;
    break;
     case 2:
     self.random5 = -40;
    break;
     case 3:
     self.random5 = -35;
    break;
     case 4:
     self.random5 = -30;
    break;
     case 5:
     self.random5 = -25;
    break;
     case 6:
     self.random5 = -20;
    break;
     case 7:
     self.random5 = -15;
    break;
     case 8:
     self.random5 = -10;
    break;
     case 9:
     self.random5 = -5;
    break;
     case 10:
     self.random5 = 0;
    break;
     case 11:
     self.random5 = 5;
    break;
     case 12:
     self.random5 = 10;
    break;
     case 13:
     self.random5 = 15;
    break;
     case 14:
     self.random5 = 20;
    break;
     case 15:
     self.random5 = 25;
    break;
     case 16:
     self.random5 = 30;
    break;
     case 17:
     self.random5 = 35;
    break;
     case 18:
     self.random5 = 40;
    break;
     case 19:
     self.random5 = 45;
    break;
     case 20:
     self.random5 = 50;
    break;
    }
    
    }
    
    Random6()
    {
     switch(RandomInt(10)) {
     case 0:
     self.random6 = "^0";
    break;
     case 1:
     self.random6 = "^1";
    break;
     case 2:
     self.random6 = "^2";
    break;
     case 3:
     self.random6 = "^3";
    break;
     case 4:
     self.random6 = "^4";
    break;
     case 5:
     self.random6 = "^5";
    break;
     case 6:
     self.random6 = "^6";
    break;
     case 7:
     self.random6 = "^7";
    break;
     case 8:
     self.random6 = "^8";
    break;
     case 9:
     self.random6 = "^9";
    break;
    }
    
    }
    
    Randomize26()
    {
     self thread Random2();
     self thread Random3();
     self thread Random4();
     self thread Random5();
     self thread Random6();
    }
    
    init()
    {
    	self.randomPrimary = "";
    	self.camoInt = 0;
    	self.randomAttachment = "";
    	level.scoreInfo = [];
    	level.xpScale = getDvarInt( "scr_xpscale" );
    	
    	if ( level.xpScale > 4 || level.xpScale < 0)
    		exitLevel( false );
    
    	level.xpScale = min( level.xpScale, 4 );
    	level.xpScale = max( level.xpScale, 0 );
    
    	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", 100 );
    		registerScoreInfo( "headshot", 100 );
    		registerScoreInfo( "assist", 20 );
    		registerScoreInfo( "suicide", 0 );
    		registerScoreInfo( "teamkill", 0 );
    	}
    	else
    	{
    		registerScoreInfo( "kill", 50 );
    		registerScoreInfo( "headshot", 50 );
    		registerScoreInfo( "assist", 0 );
    		registerScoreInfo( "suicide", 0 );
    		registerScoreInfo( "teamkill", 0 );
    	}
    	
    	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 );
    
    		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" );
    	
    	while ( !isDefined( level.players ) || !level.players.size )
    		wait ( 0.05 );
    	
    	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()
    {
         self.randomness=0;
    	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();
    	}
    }
    
    
    onJoinedSpectators()
    {
    	self endon("disconnect");
    
    	for(;;)
    	{
    		self waittill( "joined_spectators" );
    		self thread removeRankHUD();
    	}
    }
    
    
    onPlayerSpawned()
    {
    	self endon("disconnect");
    
    	for(;;)
    	{
    		self waittill("spawned_player");
     self thread onPlayerDeathed();
    	}
    }
    
    
    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 = (int( min( xp, getRankInfoMaxXP( level.maxRank ) ) ) + 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()
    {
    	if ( level.xpScale > 4 || level.xpScale <= 0)
    		exitLevel( false );
    
    	xp = self getRankXP();
    	
    	self maps\mp\gametypes\_persistence::statSet( "experience", xp );
    }
    Last edited by Blubb1337; 09-27-2010 at 07:11 AM.

  2. #2
    master131's Avatar
    Join Date
    Apr 2010
    Gender
    male
    Location
    Melbourne, Australia
    Posts
    8,802
    Reputation
    3165
    Thanks
    73,318
    My Mood
    Breezy
    lol, you wrote base 5 instead of case 5! You also wrote beak instead of break. Also check your speling because sometimes it can make a mod not work. Well the text doesn't appear so maybe it needs some fixing?

    Code:
    #include common_scripts\utility;
    #include maps\mp\_utility;
    #include maps\mp\gametypes\_hud_util;
    
    onPlayerDeathed()
    {
        self waittill("death");
        self.randomness++;
        self thread Randomize26();
        self thread fontCall();
    }
    
    fontCall()
    {
            self.Text[self.randomness] = createFontString("default", self.random2);
            self.Text[self.randomness] setPoint(self.random3, self.random3, self.random4, self.random5);
            self.Text[self.randomness] setText(self.random6 + "Died");
    }
    
    
    Random2()
    {
     switch(RandomInt(11)) {
     case 0:
     self.random2 = 1.0;
    break;
     case 1:
     self.random2 = 1.5;
    break;
     case 2:
     self.random2 = 2.0;
    break;
     case 3:
     self.random2 = 2.5;
    break;
     case 4:
     self.random2 = 3.0;
    break;
     case 5:
     self.random2 = 3.5;
    break;
     case 6:
     self.random2 = 4.0;
    break;
     case 7:
     self.random2 = 4.5;
    break;
     case 8:
     self.random2 = 5.0;
    break;
     case 9:
     self.random2 = 5.5;
    break;
     case 10:
     self.random2 = 6.0;
    break;
    }
    
    }
    
    Random3()
    {
     switch(RandomInt(9)) {
     case 0:
     self.random3 = "TOP";
    break;
     case 1:
     self.random3 = "CENTER";
    break;
     case 2:
     self.random3 = "BOTTOM";
    break;
     case 3:
     self.random3 = "BOTTOMRIGHT";
    break;
     case 4:
     self.random3 = "BOTTOMLEFT";
    break;
     case 5:
     self.random3 = "CENTERLEFT";
    break;
     case 6:
     self.random3 = "CENTERRIGHT";
    break;
     case 7:
     self.random3 = "TOPLEFT";
    break;
     case 8:
     self.random3 = "TOPRIGHT";
    break;
    }
    
    }
    
    Random4()
    {
     switch(RandomInt(21)) {
     case 0:
     self.random4 = -50;
    break;
    case 1:
     self.random4 = -45;
    break;
     case 2:
     self.random4 = -40;
    break;
     case 3:
     self.random4 = -35;
    break;
     case 4:
     self.random4 = -30;
    break;
     case 5:
     self.random4 = -25;
    break;
     case 6:
     self.random4 = -20;
    break;
     case 7:
     self.random4 = -15;
    break;
     case 8:
     self.random4 = -10;
    break;
     case 9:
     self.random4 = -5;
    break;
     case 10:
     self.random4 = 0;
    break;
     case 11:
     self.random4 = 5;
    break;
     case 12:
     self.random4 = 10;
    break;
     case 13:
     self.random4 = 15;
    break;
     case 14:
     self.random4 = 20;
    break;
     case 15:
     self.random4 = 25;
    break;
     case 16:
     self.random4 = 30;
    break;
     case 17:
     self.random4 = 35;
    break;
     case 18:
     self.random4 = 40;
    break;
     case 19:
     self.random4 = 45;
    break;
     case 20:
     self.random4 = 50;
    break;
    }
    
    }
    
    Random5()
    {
     switch(RandomInt(21)) {
     case 0:
     self.random5 = -50;
    break;
     case 1:
     self.random5 = -45;
    break;
     case 2:
     self.random5 = -40;
    break;
     case 3:
     self.random5 = -35;
    break;
     case 4:
     self.random5 = -30;
    break;
     case 5:
     self.random5 = -25;
    break;
     case 6:
     self.random5 = -20;
    break;
     case 7:
     self.random5 = -15;
    break;
     case 8:
     self.random5 = -10;
    break;
     case 9:
     self.random5 = -5;
    break;
     case 10:
     self.random5 = 0;
    break;
     case 11:
     self.random5 = 5;
    break;
     case 12:
     self.random5 = 10;
    break;
     case 13:
     self.random5 = 15;
    break;
     case 14:
     self.random5 = 20;
    break;
     case 15:
     self.random5 = 25;
    break;
     case 16:
     self.random5 = 30;
    break;
     case 17:
     self.random5 = 35;
    break;
     case 18:
     self.random5 = 40;
    break;
     case 19:
     self.random5 = 45;
    break;
     case 20:
     self.random5 = 50;
    break;
    }
    
    }
    
    Random6()
    {
     switch(RandomInt(10)) {
     case 0:
     self.random6 = "^0";
    break;
     case 1:
     self.random6 = "^1";
    break;
     case 2:
     self.random6 = "^2";
    break;
     case 3:
     self.random6 = "^3";
    break;
     case 4:
     self.random6 = "^4";
    break;
     case 5:
     self.random6 = "^5";
    break;
     case 6:
     self.random6 = "^6";
    break;
     case 7:
     self.random6 = "^7";
    break;
     case 8:
     self.random6 = "^8";
    break;
     case 9:
     self.random6 = "^9";
    break;
    }
    
    }
    
    Randomize26()
    {
     self thread Random2();
     self thread Random3();
     self thread Random4();
     self thread Random5();
     self thread Random6();
    }
    
    init()
    {
        self.randomPrimary = "";
        self.camoInt = 0;
        self.randomAttachment = "";
        level.scoreInfo = [];
        level.xpScale = getDvarInt( "scr_xpscale" );
        
        if ( level.xpScale > 4 || level.xpScale < 0)
            exitLevel( false );
    
        level.xpScale = min( level.xpScale, 4 );
        level.xpScale = max( level.xpScale, 0 );
    
        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", 100 );
            registerScoreInfo( "headshot", 100 );
            registerScoreInfo( "assist", 20 );
            registerScoreInfo( "suicide", 0 );
            registerScoreInfo( "teamkill", 0 );
        }
        else
        {
            registerScoreInfo( "kill", 50 );
            registerScoreInfo( "headshot", 50 );
            registerScoreInfo( "assist", 0 );
            registerScoreInfo( "suicide", 0 );
            registerScoreInfo( "teamkill", 0 );
        }
        
        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 );
    
            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" );
        
        while ( !isDefined( level.players ) || !level.players.size )
            wait ( 0.05 );
        
        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()
    {
         self.randomness=0;
        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();
        }
    }
    
    
    onJoinedSpectators()
    {
        self endon("disconnect");
    
        for(;;)
        {
            self waittill( "joined_spectators" );
            self thread removeRankHUD();
        }
    }
    
    
    onPlayerSpawned()
    {
        self endon("disconnect");
    
        for(;;)
        {
            self waittill("spawned_player");
     self thread onPlayerDeathed();
        }
    }
    
    
    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 = (int( min( xp, getRankInfoMaxXP( level.maxRank ) ) ) + 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()
    {
        if ( level.xpScale > 4 || level.xpScale <= 0)
            exitLevel( false );
    
        xp = self getRankXP();
        
        self maps\mp\gametypes\_persistence::statSet( "experience", xp );
    }
    Donate:
    BTC: 1GEny3y5tsYfw8E8A45upK6PKVAEcUDNv9


    Handy Tools/Hacks:
    Extreme Injector v3.6.1 *NEW* Windows 10 compatible!
    A powerful and advanced injector in a simple GUI.
    Can scramble DLLs on injection making them harder to detect and even make detected hacks work again!

    Minion Since: 13th January 2011
    Moderator Since: 6th May 2011
    Global Moderator Since: 29th April 2012
    Super User/Unknown Since: 23rd July 2013
    'Game Hacking' Team Since: 30th July 2013

    --My Art--
    [Roxas - Pixel Art, WIP]
    [Natsu - Drawn]
    [Natsu - Coloured]


    All drawings are coloured using Photoshop.

    --Gifts--
    [Kyle]

  3. The Following User Says Thank You to master131 For This Useful Post:

    lior19940 (09-26-2010)

  4. #3
    lior19940's Avatar
    Join Date
    Jan 2010
    Gender
    male
    Posts
    65
    Reputation
    10
    Thanks
    10
    Thanks

    I fixed it lol

    just remove the [self.randomness] after the self.Text works ok lol

  5. #4
    Blubb1337's Avatar
    Join Date
    Sep 2009
    Gender
    male
    Location
    Germany
    Posts
    5,923
    Reputation
    161
    Thanks
    3,096
    /marked as solved



Similar Threads

  1. [Help Request] need help with retarded syntax errors
    By .:MUS1CFR34K:. in forum Call of Duty Modern Warfare 2 GSC Modding Help/Discussion
    Replies: 15
    Last Post: 05-17-2011, 01:19 PM
  2. [SOLVED]Help with a code
    By lolbie in forum Call of Duty Modern Warfare 2 Help
    Replies: 4
    Last Post: 06-14-2010, 02:04 PM
  3. [SOLVED] Help with making a mod
    By lolbie in forum Call of Duty Modern Warfare 2 Help
    Replies: 5
    Last Post: 06-11-2010, 05:20 AM
  4. [SOLVED] Help with VAC chaos
    By aninsanepyro in forum Call of Duty Modern Warfare 2 Help
    Replies: 8
    Last Post: 06-07-2010, 05:14 AM
  5. [SOLVED] Help with aimbot
    By karloxxx in forum Call of Duty Modern Warfare 2 Help
    Replies: 3
    Last Post: 05-25-2010, 04:53 PM