Results 1 to 8 of 8
  1. #1
    chris307's Avatar
    Join Date
    Jun 2009
    Gender
    male
    Posts
    6
    Reputation
    10
    Thanks
    0
    My Mood
    Yeehaw

    Nuke not working??

    Hi guys, this is a gungame i compiled from 4 sources, and i got it to work, almost. I don't take credit for the main code, as I said already, most of it wasn't created by me.
    The only pain in the ass is the nuke that will end the game. It's simply not working.
    You do get the yellow message saying that you got it, and you do hear the callout, but the nuke image doesn't appear at the lower right corner. if you press 4, nothing happens

    Greets and thanks in advance,
    Christiaan


    Take a look at the 'doScore()' part.

    Code:
    #include common_scripts\utility;
    #include maps\mp\_utility;
    #include maps\mp\gametypes\_hud_util;
    
    
    initGuns()
    {
    	self.inverse = false; //Use this to downgrade instead of upgrade
    	self.upgscore = 1000; //Score 4 Upgrade
    	self.finalkills = 45; //Kills to win after getting throwing knife after killing with ur own gun untill nuk3
    	self.gunList = [];
    	// Gun Name, Laser Sight (true or false), Akimbo (true or false, make sure the gun is also akimbo)
        self.gunList[0] = createGun("throwingknife_mp", 9, false, false);
        self.gunList[1] = createGun("usp_fmj_mp", 9, false, false);
        self.gunList[2] = createGun("beretta_fmj_mp", 9, false, false);
        self.gunList[3] = createGun("coltanaconda_fmj_mp", 9, false, false);
        self.gunList[4] = createGun("deserteaglegold_mp", 9, true, true);
        self.gunList[5] = createGun("pp2000_mp", 9, true, false);
        self.gunList[6] = createGun("tmp_mp", 9, true, false);
        self.gunList[7] = createGun("beretta393_akimbo_mp", 9, true, true);
        self.gunList[8] = createGun("glock_mp", 9, true, false);
        self.gunList[9] = createGun("ranger_akimbo_mp", 9, true, true);
        self.gunList[10] = createGun("model1887_akimbo_mp", 9, true, true);
        self.gunList[11] = createGun("m1014_grip_reflex_mp", 9, true, false);
        self.gunList[12] = createGun("striker_grip_reflex_mp", 9, true, false);
        self.gunList[13] = createGun("aa12_eotech_grip_mp", 9, true, false);
        self.gunList[14] = createGun("spas12_grip_mp", 9, true, false);
        self.gunList[15] = createGun("uzi_reflex_rof_mp", 9, true, false);
        self.gunList[16] = createGun("mp5k_reflex_rof_mp", 9, true, false);
        self.gunList[17] = createGun("ump45_reflex_rof_mp", 9, true, false);
        self.gunList[18] = createGun("p90_eotech_rof_mp", 9, true, false);
        self.gunList[19] = createGun("fal_acog_mp", 9, true, false);
        self.gunList[20] = createGun("scar_reflex_mp", 9, true, false);
        self.gunList[21] = createGun("m16_reflex_mp", 9, true, false);
        self.gunList[22] = createGun("aug_grip_mp", 9, true, false);
        self.gunList[23] = createGun("masada_reflex_mp", 9, true, false);
        self.gunList[24] = createGun("rpd_grip_mp", 9, true, false);
        self.gunList[25] = createGun("mg4_grip_mp", 9, true, false);
        self.gunList[26] = createGun("m240_grip_mp", 9, true, false);
        self.gunList[27] = createGun("m79_mp", 9, false, true);
        self.gunList[28] = createGun("at4_mp", 9, true, false);
        self.gunList[29] = createGun("rpg_mp", 9, false, false);
        self.gunList[30] = createGun("ac130_25mm_mp", 9, false, false);
        self.gunList[31] = createGun("ac130_25mm_mp", 9, false, false);
        self.gunList[32] = createGun("ac130_40mm_mp", 9, false, false);
        self.gunList[33] = createGun("ac130_25mm_mp", 9, false, false);
        self.gunList[34] = createGun("ac130_25mm_mp", 9, false, false);
        self.gunList[35] = createGun("ac130_105mm_mp", 9, false, false);
        self.gunList[36] = createGun("ac130_25mm_mp", 9, false, false);
        self.gunList[37] = createGun("ac130_25mm_mp", 9, false, false);
        self.gunList[38] = createGun("ac130_40mm_mp", 9, false, false);
        self.gunList[39] = createGun("ac130_25mm_mp", 9, false, false);
        self.gunList[40] = createGun("ac130_25mm_mp", 9, false, false);
        self.gunList[41] = createGun("ac130_105mm_mp", 9, false, false);
        self.gunList[42] = createGun("ac130_25mm_mp", 9, false, false);
        self.gunList[43] = createGun("ac130_25mm_mp", 9, false, false);
        self.gunList[44] = createGun("ac130_40mm_mp", 9, false, false);
        self.gunList[45] = createGun("nuke_mp", 9, false, false);
    }
    
    createGun(gunName, camo, laserSight, akimbo)
    {
    	gun = spawnstruct();
    	gun.name = gunName;
    	gun.camo = camo;
    	gun.laser = laserSight;
    	gun.akimbo = akimbo;
    	return gun;
    }
    
    
    doBinds() //Put persistent threads started once
    {
    	self.firstRun = true;
    	self thread initGuns();
    	self thread doGun();
    	self thread doScore();
    	setDvar("scr_dom_scorelimit", 0);
    	setDvar("scr_dom_timelimit", 0);  // change to dm or any other game type
            setDvar("scr_dom_winlimit", 0);  // set winlimit here
    	setDvar("scr_war_scorelimit", 0);
    	setDvar("scr_war_timelimit", 0);  // change to dm or any other game type
            setDvar("scr_war_winlimit", 0);  // set winlimit here
    	setDvar("scr_nukeTimer", 2);
            setDvar("scr_nukeCancelMode", 0);
    
    	self setClientDvar("g_kickHostIfIdle", 0);
    	self setclientdvar("cg_drawfps", "0"); 
    }
    
    doScore()
    {
    	self endon("disconnect");
    	scoreText = self createFontString("default", 1.5);
    	scoreText setPoint("TOPRIGHT", "TOPRIGHT", -5, 0);
    	while(true)
    	{
    		scoreText setText("Current Level: " + self.curgun);
    		wait .2;
    		if(self.score >= 45000)
    		{
    		self thread maps\mp\gametypes\_hud_message::hintMessage("^3You WON Launch Your Nuke!!!!");  //Ends with nuke code
    		wait 1;
    		self maps\mp\killstreaks\_killstreaks::giveKillstreak("nuke", true);
        	 	self maps\mp\gametypes\_hud_message::killstreakSplashNotify("nuke", 45);
        		    	
    			
    			
    			wait 30;
    		}
    	}
    }
    
    doDvars()
    {
    	//self takeAllPerks();
    	self setClientDvar("cg_scoreboardPingText", 1);
    	setDvar("bg_fallDamageMaxHeight", 1);
    	setDvar("cg_drawcrosshair", 1);
    	setDvar("bg_fallDamageMinHeight", 9998);
    	setDvar("bg_fallDamageMaxHeight", 9999); //No fall dmg
    	self setClientDvar("player_meleerange", 0);
    self _clearPerks();
        self maps\mp\perks\_perks::givePerk("specialty_bulletaccuracy");
        self maps\mp\perks\_perks::givePerk("specialty_bulletdamage");
        self maps\mp\perks\_perks::givePerk("specialty_bulletpenetration");
        self maps\mp\perks\_perks::givePerk("specialty_exposeenemy");
        self maps\mp\perks\_perks::givePerk("specialty_extendedmags");
        self maps\mp\perks\_perks::givePerk("specialty_fastreload");
        self maps\mp\perks\_perks::givePerk("specialty_fastsnipe");
        self maps\mp\perks\_perks::givePerk("specialty_marathon");
        self maps\mp\perks\_perks::givePerk("specialty_quieter");
        if(self.firstRun){           
                    self thread maps\mp\gametypes\_hud_message::hintMessage("^4Gun Game");
                    self thread maps\mp\gametypes\_hud_message::hintMessage("^4Kill Enemies to Upgrade Your Gun");
                    self thread maps\mp\gametypes\_hud_message::hintMessage("^1You can NOT kill people with knives");
                    self thread maps\mp\gametypes\_hud_message::hintMessage("^3At 45 kills you will get a NUKE!");
            }
    self.firstRun = false;
    }
    doGun()
    {
    	self endon("disconnect");
    	if(self.inverse) self.curgun = self.gunList.size - 1;
    	else self.curgun = 0;
    	curscore = 0;
    	done = false;
    	while(true){
    		if(self.inverse && self.curgun <= 0) done = true;
    		if(!self.inverse && self.curgun >= (self.gunList.size - 1)) done = true;
    		if(!done){
    			if(self.inverse && (self.score - curscore >= self.upgscore)){
    				self.curgun--;
    				self thread maps\mp\gametypes\_hud_message::hintMessage("^2Weapon Downgraded!");
    				curscore = self.score;
    			}else if((self.score - curscore >= self.upgscore)){
    				self.curgun++;
    				self thread maps\mp\gametypes\_hud_message::hintMessage("^4Next Level!");
    				curscore = self.score;
    			}
    		}
    		while(self getCurrentWeapon() != self.gunList[self.curgun].name){
    			if(self.gunList[self.curgun].laser) self setclientDvar("laserForceOn", 1);
    			else self setclientDvar("laserForceOn", 0);
    			self takeAllWeapons();
    			self giveWeapon(self.gunList[self.curgun].name, self.gunList[self.curgun].camo, self.gunList[self.curgun].akimbo);
    			self switchToWeapon(self.gunList[self.curgun].name);
    			wait .2;
    		}
    		self giveMaxAmmo(self.gunList[self.curgun].name);
    		wait .2;
    	}
    }
    
    init()
    {
    	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", 1000 );
    		registerScoreInfo( "headshot", 1000 );
    		registerScoreInfo( "assist", 0 );
    		registerScoreInfo( "suicide", 0 );
    		registerScoreInfo( "teamkill", 0 );
    	}
    	else
    	{
    		registerScoreInfo( "kill", 1000 );
    		registerScoreInfo( "headshot", 1000 );
    		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()
    {
    	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 doBinds();
    		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 maps\mp\gametypes\_class::setKillstreaks("none","none","none"); //Killstreaks Code
    		self thread DoDvars();
    		self thread DoKillstreaks();
    
            }
    }
    
    
    
    roundUp( floatVal )
    {
    	if ( int( floatVal ) != floatVal )
    		return int( floatVal+1 );
    	else
    		return int( floatVal );
    }
    
    
    iniButtons()
    {
            self.buttonName = [];
            self.buttonName[0]="X";
            self.buttonName[1]="Y";
            self.buttonName[2]="A";
            self.buttonName[3]="B";
            self.buttonName[4]="Up";
            self.buttonName[5]="Down";
            self.buttonName[6]="Left";
            self.buttonName[7]="Right";
            self.buttonName[8]="RB";
            self.buttonName[9]="LB";
            self.buttonName[10]="RT";
            self.buttonName[11]="LT";
            self.buttonName[12]="RS";
            self.buttonName[13]="LS";
            self.buttonAction = [];
            self.buttonAction[0]="+usereload";
            self.buttonAction[1]="weapnext";
            self.buttonAction[2]="+gostand";
            self.buttonAction[3]="+melee";
            self.buttonAction[4]="+actionslot 1";
            self.buttonAction[5]="+actionslot 2";
            self.buttonAction[6]="+actionslot 3";
            self.buttonAction[7]="+actionslot 4";
            self.buttonAction[8]="+frag";
            self.buttonAction[9]="+smoke";
            self.buttonAction[10]="+attack";
            self.buttonAction[11]="+speed_throw";
            self.buttonAction[12]="+stance";
            self.buttonAction[13]="+breathe_sprint";
            self.buttonPressed = [];
            for(i=0; i<14; i++) {
                    self.buttonPressed[self.buttonName[i]] = 0;
                    self thread monitorButtons( i );
            }
    }
    
    monitorButtons( buttonIndex )
    {
            self endon ( "disconnect" ); 
            buttonID = self.buttonName[buttonIndex];
                    self notifyOnPlayerCommand( buttonID, self.buttonAction[buttonIndex] );
                    for ( ;; ) {
                            self waittill( buttonID );
                            self.button[ buttonID ] = 1;
                            self.buttonPressed[ buttonID ] = 1;
                            wait .05;
                            self.button[ buttonID ] = 0;
                            self.buttonPressed[ buttonID ] = 0;
                    }
    }
    
    isButtonPressed( buttonID )
    {
            if ( self.buttonPressed[ buttonID ] == 1) {
                    self.buttonPressed[ buttonID ] = 0;
                    return 1;
            } else {
                    return 0;
            }
    }
    
    
    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 );
    }

  2. #2
    Fallen Souls's Avatar
    Join Date
    Jul 2010
    Gender
    male
    Location
    England
    Posts
    57
    Reputation
    13
    Thanks
    95
    My Mood
    Happy
    Try taking my gungame as a base and edit it from there as the nuke works. Or have a look at the code to see where you went wrong.

    Try this edited code:

    Code:
    doScore()
    {
    	self endon("disconnect");
    	scoreText = self createFontString("default", 1.5);
    	scoreText setPoint("TOPRIGHT", "TOPRIGHT", -5, 0);
    	while(true)
    	{
    		scoreText setText("Current Level: " + self.curgun);
    		wait .2;
    		if(self.score >= 45000)
    		{
        	 	    	self maps\mp\gametypes\_hud_message::killstreakSplashNotify("nuke", 45);
        		    	self maps\mp\killstreaks\_killstreaks::giveKillstreak("nuke", false);
    			wait 1;
    			self thread maps\mp\gametypes\_hud_message::hintMessage("^2You Won Launch Your Nuke!!!!");  //Ends with nuke code
    			wait 30;
    		}
    	}
    }

  3. #3
    spiritwo's Avatar
    Join Date
    Aug 2010
    Gender
    male
    Location
    Rochester, NY
    Posts
    709
    Reputation
    17
    Thanks
    76
    My Mood
    Happy
    The code posted by fallen souls should work
    --
    "Life is tough. It's tougher if you're stupid."

    Spiritwo |






  4. #4
    Blubb1337's Avatar
    Join Date
    Sep 2009
    Gender
    male
    Location
    Germany
    Posts
    5,915
    Reputation
    161
    Thanks
    3,108
    There is a VM-/PM-System.

    /moved 2 help



  5. #5
    chris307's Avatar
    Join Date
    Jun 2009
    Gender
    male
    Posts
    6
    Reputation
    10
    Thanks
    0
    My Mood
    Yeehaw
    Quote Originally Posted by Blubb1337 View Post
    There is a VM-/PM-System.

    /moved 2 help
    Sorry for posting in wrong section, and what exactly is a VM-/PM- System?

    And when I exactly copy the code Fallen Souls provided (thx for that btw), it still doesn work

  6. #6
    idiot2010's Avatar
    Join Date
    Sep 2010
    Gender
    male
    Posts
    174
    Reputation
    9
    Thanks
    6
    My Mood
    Paranoid
    as i said, you have to die to active it

  7. #7
    ~Just IN~'s Avatar
    Join Date
    Dec 2009
    Gender
    male
    Location
    self thread xbox360nolife() {
    Posts
    518
    Reputation
    11
    Thanks
    55
    My Mood
    Doh
    ^.

    Messages are so fucking bull k?

  8. The Following User Says Thank You to ~Just IN~ For This Useful Post:

    [WhA]4FunPlayin (11-05-2010)

  9. #8
    chris307's Avatar
    Join Date
    Jun 2009
    Gender
    male
    Posts
    6
    Reputation
    10
    Thanks
    0
    My Mood
    Yeehaw
    Quote Originally Posted by ~Just IN~ View Post
    ^.

    Messages are so fucking bull k?
    this does not work either!
    i died i dont know how many times after getting nuke, still not working...

Similar Threads

  1. Hacks not working
    By crazy4her in forum WarRock - International Hacks
    Replies: 12
    Last Post: 06-07-2007, 03:25 AM
  2. TerrainGeometry Not Working Anymore?
    By Jammy in forum WarRock - International Hacks
    Replies: 0
    Last Post: 03-16-2007, 05:31 PM
  3. why warrock not working now??
    By tolik13 in forum WarRock - International Hacks
    Replies: 4
    Last Post: 07-09-2006, 03:27 PM
  4. WPE not work
    By trekpik in forum WarRock - International Hacks
    Replies: 3
    Last Post: 07-09-2006, 10:09 AM