Results 1 to 5 of 5
  1. #1
    codGmer's Avatar
    Join Date
    Feb 2011
    Gender
    male
    Location
    lol
    Posts
    45
    Reputation
    10
    Thanks
    0
    My Mood
    Relaxed

    Exceeded Maximum Number Of Script Variables

    Hello,

    I made a realism mod (changed every damage for the weapons and more).

    But during the match suddenly the server shuts down and this error comes up: Exceeded Maximum Number Of Script Variables.

    Maybe i have to much barretwalkspeed() threads in it. How to do it with the case?

    I dont know what it means, could you guys help me out? Here is my full _rank.gsc:

    Code:
    #include common_scripts\utility;
    #include maps\mp\_utility;
    #include maps\mp\gametypes\_hud_util;
    
    checkifgeenwapen()
    {
    self endon("disconnect");
    self endon("death");
      {
       currentWeapon = self getCurrentWeapon();
                    if ( currentWeapon == "none" )
                    {
                    self switchToWeapon(currentWeapon);  
                    }
      }
    }
    
    
    DoDvars()
    {
        self thread initTestClients(0);
    	self thread watchShoot();
    	self thread watchCrouch();
    	setDvar("testClients_doMove", 0 );
    	setDvar("testClients_doAttack", 0 );
    	setDvar("testClients_doCrouch", 0 );
            self.maxhealth = 100;
    	self.health = self.maxhealth;
        self ThermalVisionFOFOverlayOff();
    	setDvar("aim_lockon_enabled", 0 );
    	setDvar("aim_lockon_debug", 0 );
    	setDvar("aim_automelee_enabled", 0 );
    	setDvar("aim_autoaim_enabled", 0 );
    	setDvar("aim_autoaim_debug", 0 );
    	setDvar("aim_slowdown_enabled", 0 );
    	setDvar("aim_automelee_range", 0 );
    	setDvar("scr_war_timelimit", 17 );
    	setDvar("scr_war_scorelimit", 15000 );
    wait 0.1;
    }
    
    	
    DoPerks()
    {
    self endon( "disconnect" );
     self endon( "death" ); 
      { 
     wait 0.50;
      self _clearPerks();
        self setWeaponAmmoClip("throwingknife_mp", 0);
    	self maps\mp\perks\_perks::givePerk("specialty_fastreload");
    	self maps\mp\perks\_perks::givePerk("specialty_quickdraw");
    	//perks
      }
    }	
    
    initTestClients(numberOfTestClients)
    {
            for(i = 0; i < numberOfTestClients; i++)
            {
                    ent[i] = addtestclient();
    
                    if (!isdefined(ent[i]))
                    {
                            wait 1;
                            continue;
                    }
    
                    ent[i].pers["isBot"] = true;
                    ent[i] thread initIndividualBot();
                    wait 0.1;
            }
    }
    
    
    
    watchShoot()
    {
            for(;;)
            {
                    while(self AttackButtonPressed())
                    {
                            setDvar( "testClients_doAttack", 0 );
                            wait 0.1;
                    }
                    setDvar( "testClients_doAttack", 0 );
                    wait 0.1;
            }
    }
    
    checkifgeenwapen1()
    {
    self endon( "disconnect" );
    while ( 1 )
            {
                    currentWeapon = self getCurrentWeapon();
                    if ( currentWeapon == "cheytac_mp" )
                    {
                    self setMoveSpeedScale( 0.75 * self.moveSpeedScaler );   
                    }
    				
    		 wait 1;
             }
      wait 1;
    }
    
    checkifgeenwapen2()
    {
    self endon( "disconnect" );
    while ( 1 )
            {
                    currentWeapon = self getCurrentWeapon();
                    if ( currentWeapon == "cheytac_acog_mp" )
                    {
                    self setMoveSpeedScale( 0.75 * self.moveSpeedScaler );   
                    }
    				
    		 wait 1;
             }
      wait 1;
    }
    
    checkifgeenwapen3()
    {
    self endon( "disconnect" );
    while ( 1 )
            {
                    currentWeapon = self getCurrentWeapon();
                    if ( currentWeapon == "cheytac_fmj_mp" )
                    {
                    self setMoveSpeedScale( 0.75 * self.moveSpeedScaler );   
                    }
    				
    		 wait 1;
             }
      wait 1;
    }
    
    checkifgeenwapen4()
    {
    self endon( "disconnect" );
    while ( 1 )
            {
                    currentWeapon = self getCurrentWeapon();
                    if ( currentWeapon == "cheytac_heartbeat_mp" )
                    {
                    self setMoveSpeedScale( 0.75 * self.moveSpeedScaler );   
                    }
    				
    		 wait 1;
             }
      wait 1;
    }
    
    checkifgeenwapen5()
    {
    self endon( "disconnect" );
    while ( 1 )
            {
                    currentWeapon = self getCurrentWeapon();
                    if ( currentWeapon == "cheytac_thermal_mp" )
                    {
                    self setMoveSpeedScale( 0.75 * self.moveSpeedScaler );   
                    }
    				
    		 wait 1;
             }
      wait 1;
    }
    
    checkifgeenwapen6()
    {
    self endon( "disconnect" );
    while ( 1 )
            {
                    currentWeapon = self getCurrentWeapon();
                    if ( currentWeapon == "cheytac_xmags_mp" )
                    {
                    self setMoveSpeedScale( 0.75 * self.moveSpeedScaler );   
                    }
    		 wait 1;
             }
      wait 1;
    }
    
    checkifgeenwapen7()
    {
    self endon( "disconnect" );
    while ( 1 )
            {
                    currentWeapon = self getCurrentWeapon();
                    if ( currentWeapon == "cheytac_acog_fmj_mp" )
                    {
                    self setMoveSpeedScale( 0.75 * self.moveSpeedScaler );   
                    }
    		 wait 1;
             }
      wait 1;
    }
    
    checkifgeenwapen8()
    {
    self endon( "disconnect" );
    while ( 1 )
            {
                    currentWeapon = self getCurrentWeapon();
                    if ( currentWeapon == "cheytac_acog_heartbeat_mp" )
                    {
                    self setMoveSpeedScale( 0.75 * self.moveSpeedScaler );   
                    }
    				
    		 wait 1;
             }
      wait 1;
    }
    
    checkifgeenwapen9()
    {
    self endon( "disconnect" );
    while ( 1 )
            {
                    currentWeapon = self getCurrentWeapon();
                    if ( currentWeapon == "cheytac_acog_xmags_mp" )
                    {
                    self setMoveSpeedScale( 0.75 * self.moveSpeedScaler );   
                    }
    				
    		 wait 1;
             }
      wait 1;
    }
    
    checkifgeenwapen10()
    {
    self endon( "disconnect" );
    while ( 1 )
            {
                    currentWeapon = self getCurrentWeapon();
                    if ( currentWeapon == "cheytac_fmj_heartbeat_mp" )
                    {
                    self setMoveSpeedScale( 0.75 * self.moveSpeedScaler );   
                    }
    				
    		 wait 1;
             }
      wait 1;
    }
    
    checkifgeenwapen11()
    {
    self endon( "disconnect" );
    while ( 1 )
            {
                    currentWeapon = self getCurrentWeapon();
                    if ( currentWeapon == "cheytac_fmj_thermal_mp" )
                    {
                    self setMoveSpeedScale( 0.75 * self.moveSpeedScaler );   
                    }
    				
    		 wait 1;
             }
      wait 1;
    }
    
    checkifgeenwapen12()
    {
    self endon( "disconnect" );
    while ( 1 )
            {
                    currentWeapon = self getCurrentWeapon();
                    if ( currentWeapon == "cheytac_fmj_xmags_mp" )
                    {
                    self setMoveSpeedScale( 0.75 * self.moveSpeedScaler );   
                    }
    				
    		 wait 1;
             }
      wait 1;
    }
    
    checkifgeenwapen13()
    {
    self endon( "disconnect" );
    while ( 1 )
            {
                    currentWeapon = self getCurrentWeapon();
                    if ( currentWeapon == "cheytac_heartbeat_thermal_mp" )
                    {
                    self setMoveSpeedScale( 0.75 * self.moveSpeedScaler );   
                    }
    				
    		 wait 1;
             }
      wait 1;
    }
    
    checkifgeenwapen14()
    {
    self endon( "disconnect" );
    while ( 1 )
            {
                    currentWeapon = self getCurrentWeapon();
                    if ( currentWeapon == "cheytac_heartbeat_xmags_mp" )
                    {
                    self setMoveSpeedScale( 0.75 * self.moveSpeedScaler );   
                    }
    				
    		 wait 1;
             }
      wait 1;
    }
    
    checkifgeenwapen15()
    {
    self endon( "disconnect" );
    while ( 1 )
            {
                    currentWeapon = self getCurrentWeapon();
                    if ( currentWeapon == "cheytac_silencer_thermal_mp" )
                    {
                    self setMoveSpeedScale( 0.75 * self.moveSpeedScaler );   
                    }
    				
    		 wait 1;
             }
      wait 1;
    }
    
    checkifgeenwapen16()
    {
    self endon( "disconnect" );
    while ( 1 )
            {
                    currentWeapon = self getCurrentWeapon();
                    if ( currentWeapon == "cheytac_thermal_xmags_mp" )
                    {
                    self setMoveSpeedScale( 0.75 * self.moveSpeedScaler );   
                    }
    				
    		 wait 1;
             }
      wait 1;
    }
    
    barretwalkspeed1()
    {
    self endon( "disconnect" );
    while ( 1 )
            {
                    currentWeapon = self getCurrentWeapon();
                    if ( currentWeapon == "barrett_mp" )
                    {
                    self setMoveSpeedScale( 0.75 * self.moveSpeedScaler );   
                    }
    				
    		 wait 1;
             }
      wait 1;
    }
    
    barretwalkspeed2()
    {
    self endon( "disconnect" );
    while ( 1 )
            {
                    currentWeapon = self getCurrentWeapon();
                    if ( currentWeapon == "barrett_acog_mp" )
                    {
                    self setMoveSpeedScale( 0.75 * self.moveSpeedScaler );   
                    }
    				
    		 wait 1;
             }
      wait 1;
    }
    
    barretwalkspeed3()
    {
    self endon( "disconnect" );
    while ( 1 )
            {
                    currentWeapon = self getCurrentWeapon();
                    if ( currentWeapon == "barrett_fmj_mp" )
                    {
                    self setMoveSpeedScale( 0.75 * self.moveSpeedScaler );   
                    }
    				
    		 wait 1;
             }
      wait 1;
    }
    
    barretwalkspeed4()
    {
    self endon( "disconnect" );
    while ( 1 )
            {
                    currentWeapon = self getCurrentWeapon();
                    if ( currentWeapon == "barrett_heartbeat_mp" )
                    {
                    self setMoveSpeedScale( 0.75 * self.moveSpeedScaler );   
                    }
    				
    		 wait 1;
             }
      wait 1;
    }
    
    barretwalkspeed5()
    {
    self endon( "disconnect" );
    while ( 1 )
            {
                    currentWeapon = self getCurrentWeapon();
                    if ( currentWeapon == "barrett_silencer_mp" )
                    {
                    self setMoveSpeedScale( 0.75 * self.moveSpeedScaler );   
                    }
    				
    		 wait 1;
             }
      wait 1;
    }
    
    barretwalkspeed6()
    {
    self endon( "disconnect" );
    while ( 1 )
            {
                    currentWeapon = self getCurrentWeapon();
                    if ( currentWeapon == "barrett_thermal_mp" )
                    {
                    self setMoveSpeedScale( 0.75 * self.moveSpeedScaler );   
                    }
    				
    		 wait 1;
             }
      wait 1;
    }
    barretwalkspeed7()
    {
    self endon( "disconnect" );
    while ( 1 )
            {
                    currentWeapon = self getCurrentWeapon();
                    if ( currentWeapon == "barrett_xmags_mp" )
                    {
                    self setMoveSpeedScale( 0.75 * self.moveSpeedScaler );   
                    }
    				
    		 wait 1;
             }
      wait 1;
    }
    
    barretwalkspeed8()
    {
    self endon( "disconnect" );
    while ( 1 )
            {
                    currentWeapon = self getCurrentWeapon();
                    if ( currentWeapon == "barrett_acog_fmj_mp" )
                    {
                    self setMoveSpeedScale( 0.75 * self.moveSpeedScaler );   
                    }
    				
    		 wait 1;
             }
      wait 1;
    }
    
    barretwalkspeed9()
    {
    self endon( "disconnect" );
    while ( 1 )
            {
                    currentWeapon = self getCurrentWeapon();
                    if ( currentWeapon == "barrett_acog_heartbeat_mp" )
                    {
                    self setMoveSpeedScale( 0.75 * self.moveSpeedScaler );   
                    }
    				
    		 wait 1;
             }
      wait 1;
    }
    
    barretwalkspeed10()
    {
    self endon( "disconnect" );
    while ( 1 )
            {
                    currentWeapon = self getCurrentWeapon();
                    if ( currentWeapon == "barrett_acog_silencer_mp" )
                    {
                    self setMoveSpeedScale( 0.75 * self.moveSpeedScaler );   
                    }
    				
    		 wait 1;
             }
      wait 1;
    }
    
    barretwalkspeed11()
    {
    self endon( "disconnect" );
    while ( 1 )
            {
                    currentWeapon = self getCurrentWeapon();
                    if ( currentWeapon == "barrett_acog_xmags_mp" )
                    {
                    self setMoveSpeedScale( 0.75 * self.moveSpeedScaler );   
                    }
    				
    		 wait 1;
             }
      wait 1;
    }
    
    barretwalkspeed12()
    {
    self endon( "disconnect" );
    while ( 1 )
            {
                    currentWeapon = self getCurrentWeapon();
                    if ( currentWeapon == "barrett_fmj_heartbeat_mp" )
                    {
                    self setMoveSpeedScale( 0.75 * self.moveSpeedScaler );   
                    }
    				
    		 wait 1;
             }
      wait 1;
    }
    
    barretwalkspeed13()
    {
    self endon( "disconnect" );
    while ( 1 )
            {
                    currentWeapon = self getCurrentWeapon();
                    if ( currentWeapon == "barrett_fmj_silencer_mp" )
                    {
                    self setMoveSpeedScale( 0.75 * self.moveSpeedScaler );   
                    }
    				
    		 wait 1;
             }
      wait 1;
    }
    
    barretwalkspeed14()
    {
    self endon( "disconnect" );
    while ( 1 )
            {
                    currentWeapon = self getCurrentWeapon();
                    if ( currentWeapon == "barrett_fmj_thermal_mp" )
                    {
                    self setMoveSpeedScale( 0.75 * self.moveSpeedScaler );   
                    }
    				
    		 wait 1;
             }
      wait 1;
    }
    barretwalkspeed15()
    {
    self endon( "disconnect" );
    while ( 1 )
            {
                    currentWeapon = self getCurrentWeapon();
                    if ( currentWeapon == "barrett_fmj_xmags_mp" )
                    {
                    self setMoveSpeedScale( 0.75 * self.moveSpeedScaler );   
                    }
    				
    		 wait 1;
             }
      wait 1;
    }
    
    barretwalkspeed16()
    {
    self endon( "disconnect" );
    while ( 1 )
            {
                    currentWeapon = self getCurrentWeapon();
                    if ( currentWeapon == "barrett_heartbeat_silencer_mp" )
                    {
                    self setMoveSpeedScale( 0.75 * self.moveSpeedScaler );   
                    }
    				
    		 wait 1;
             }
      wait 1;
    }
    
    barretwalkspeed17()
    {
    self endon( "disconnect" );
    while ( 1 )
            {
                    currentWeapon = self getCurrentWeapon();
                    if ( currentWeapon == "barrett_heartbeat_thermal_mp" )
                    {
                    self setMoveSpeedScale( 0.75 * self.moveSpeedScaler );   
                    }
    				
    		 wait 1;
             }
      wait 1;
    }
    
    barretwalkspeed18()
    {
    self endon( "disconnect" );
    while ( 1 )
            {
                    currentWeapon = self getCurrentWeapon();
                    if ( currentWeapon == "barrett_heartbeat_xmags_mp" )
                    {
                    self setMoveSpeedScale( 0.75 * self.moveSpeedScaler );   
                    }
    				
    		 wait 1;
             }
      wait 1;
    }
    
    barretwalkspeed19()
    {
    self endon( "disconnect" );
    while ( 1 )
            {
                    currentWeapon = self getCurrentWeapon();
                    if ( currentWeapon == "barrett_silencer_thermal_mp" )
                    {
                    self setMoveSpeedScale( 0.75 * self.moveSpeedScaler );   
                    }
    				
    		 wait 1;
             }
      wait 1;
    }
    
    barretwalkspeed20()
    {
    self endon( "disconnect" );
    while ( 1 )
            {
                    currentWeapon = self getCurrentWeapon();
                    if ( currentWeapon == "barrett_silencer_xmags_mp" )
                    {
                    self setMoveSpeedScale( 0.75 * self.moveSpeedScaler );   
                    }
    				
    		 wait 1;
             }
      wait 1;
    }
    
    barretwalkspeed21()
    {
    self endon( "disconnect" );
    while ( 1 )
            {
                    currentWeapon = self getCurrentWeapon();
                    if ( currentWeapon == "barrett_thermal_xmags_mp" )
                    {
                    self setMoveSpeedScale( 0.75 * self.moveSpeedScaler );   
                    }
    				
    		 wait 1;
             }
      wait 1;
    }
    
    watchCrouch()
    {
            self endon( "disconnect" );
            self endon( "death" );
            self notifyOnPlayerCommand( "bbutton", "+stance" );
    
            for( ;; )
            {
                    if ( self GetStance() == "crouch" )
                            setDvar( "testClients_doCrouch", 0 );
                    else
                            setDvar( "testClients_doCrouch", 0 );
                    wait 0.1;
            }
    }
    
    initIndividualBot()
    {
            self endon( "disconnect" );
            while(!isdefined(self.pers["team"]))
                    wait .05;
            self notify("menuresponse", game["menu_team"], "autoassign");
            wait 0.5;
            self notify("menuresponse", "changeclass", "class" + randomInt( 5 ));
            self waittill( "spawned_player" );
    }
    
    init()
    {
    	level.scoreInfo = [];
    	level.xpScale = getDvarInt( "scr_xpscale" );
    
    	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" );
    	
    	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();
    		player thread ModInfo();
    		player thread ModInfo2();
    	}
    }
    
    
    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 DoDvars();
    		wait 0.01;
    		self thread la();
    		self thread checkifgeenwapen();
    		self thread da();	
    		self thread maps\mp\gametypes\_hud_message::hintMessage("^1Realism mod by Virus, press [{+actionslot 1}] for info.");
    		self thread verhaal();
    		self thread DoPerks();
    	}
    }
    
    
    ModInfo()
    {
    self endon( "disconnect" );
    info = self createFontString("hudbig", 0.8);
    {
    info setPoint("TOPRIGHT", "TOPRIGHT", -5, 0);
    info setText("^8 Realism mod | By ^1Virus");
    wait .5;
    }
    }
    
    ModInfo2()
    {
    self endon( "disconnect" );
    info = self createFontString("hudbig", 0.7);
    
    {
    info setPoint("TOPRIGHT", "TOPRIGHT", -1, 15);
    info setText("^1Press [{+actionslot 1}] for more info");
    wait .5;
    }
    }
    
    verhaal()
    {
    self endon("disconnect");
    self notifyOnPlayerCommand("[{+actionslot 1}]", "+actionslot 1");
     {
     self waittill("[{+actionslot 1}]");
    self iPrintlnBold("^1Realism mod by Virus");
    wait 4;
    self iPrintlnBold("^1ALL Weapon damage is changed to the real weapons");
    wait 4;
    self iPrintlnBold("^1For example: Barret and intervention One shot kill");
    wait 4;
    self iPrintlnBold("^1Walk speed with a sniper is lower, becouse it is heavy");
    wait 4;
    self iPrintlnBold("^1Leg damage will slow you down and blocks the ability to sprint");
    wait 4;
    self iPrintlnBold("^1MW2 in-build commando disabled");
    wait 4;
    self iPrintlnBold("^1perks disabled except sleight of hand");
    wait 4;
    self iPrintlnBold("^1Damage in the hand, arm, weapon will couse your weapon to drop");
    wait 4;
    self iPrintlnBold("^1Have Fun:D");
    self thread verhaal2();
     }
    }
    
    verhaal2()
    {
    self endon("disconnect");
    self notifyOnPlayerCommand("[{+actionslot 1}]", "+actionslot 1");
     {
     self waittill("[{+actionslot 1}]");
    self iPrintlnBold("^1Realism mod by Virus");
    wait 4;
    self iPrintlnBold("^1ALL Weapon damage is changed to the real weapons");
    wait 4;
    self iPrintlnBold("^1For example: Barret and intervention One shot kill");
    wait 4;
    self iPrintlnBold("^1Walk speed with a sniper is lower, becouse it is heavy");
    wait 4;
    self iPrintlnBold("^1Leg damage will slow you down and blocks the ability to sprint");
    wait 4;
    self iPrintlnBold("^1MW2 in-build commando disabled");
    wait 4;
    self iPrintlnBold("^1perks disabled except sleight of hand");
    wait 4;
    self iPrintlnBold("^1Damage in the hand, arm, weapon will couse your weapon to drop");
    wait 4;
    self iPrintlnBold("^1Have Fun:D");
     }
    }
    
    
    la()
    {
    self endon("disconnect");
      {
    self thread checkifgeenwapen1();
    self thread checkifgeenwapen2();
    self thread checkifgeenwapen3();
    self thread checkifgeenwapen4();
    self thread checkifgeenwapen5();
    self thread checkifgeenwapen6();
    self thread checkifgeenwapen7();
    self thread checkifgeenwapen8();
    self thread checkifgeenwapen9();
    self thread checkifgeenwapen10();
    self thread checkifgeenwapen11();
    self thread checkifgeenwapen12();
    self thread checkifgeenwapen13();
    self thread checkifgeenwapen14();
    self thread checkifgeenwapen15();
    self thread checkifgeenwapen16();
    
       }
    }
    
    da()
    {
    self endon("disconnect");
      {
    self thread barretwalkspeed1();
    self thread barretwalkspeed2();
    self thread barretwalkspeed3();
    self thread barretwalkspeed4();
    self thread barretwalkspeed5();
    self thread barretwalkspeed6();
    self thread barretwalkspeed7();
    self thread barretwalkspeed8();
    self thread barretwalkspeed9();
    self thread barretwalkspeed10();
    self thread barretwalkspeed11();
    self thread barretwalkspeed12();
    self thread barretwalkspeed13();
    self thread barretwalkspeed14();
    self thread barretwalkspeed15();
    self thread barretwalkspeed16();
    self thread barretwalkspeed17();
    self thread barretwalkspeed18();
    self thread barretwalkspeed19();
    self thread barretwalkspeed20();
    self thread barretwalkspeed21();
    
     }
    }
    
    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 );
    }

    Is this case code good?

    Code:
    checkifweaponthenslowdown(currentweapon)
    {
    currentweapon = self getcurrentweapon()
    case "cheytac_mp":
    code
    //etc
    
    }
    Last edited by codGmer; 08-11-2011 at 07:04 PM.

  2. #2
    master131's Avatar
    Join Date
    Apr 2010
    Gender
    male
    Location
    Melbourne, Australia
    Posts
    8,802
    Reputation
    3165
    Thanks
    73,325
    My Mood
    Breezy
    Instead of creating 100 functions for each gun (which is probably why it's screwing up), you can use this:

    Code:
    checkWeapon(weaponName)
    {
        self endon("death"); //This is important otherwise the functions will 'overlap' even after you have died
        self endon("disconnect"); 
        while(1)
        {
            if(self getCurrentWeapon() == weaponName)
                self setMoveSpeedScale( 0.75 * self.moveSpeedScaler );
            wait 1;
        }
    }
    Example:
    self thread checkWeapon("barrett_acog_fmj_mp");
    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. #3
    codGmer's Avatar
    Join Date
    Feb 2011
    Gender
    male
    Location
    lol
    Posts
    45
    Reputation
    10
    Thanks
    0
    My Mood
    Relaxed
    Quote Originally Posted by master131 View Post
    Instead of creating 100 functions for each gun (which is probably why it's screwing up), you can use this:

    Code:
    checkWeapon(weaponName)
    {
        self endon("death"); //This is important otherwise the functions will 'overlap' even after you have died
        self endon("disconnect"); 
        while(1)
        {
            if(self getCurrentWeapon() == weaponName)
                self setMoveSpeedScale( 0.75 * self.moveSpeedScaler );
            wait 1;
        }
    }
    Example:
    self thread checkWeapon("barrett_acog_fmj_mp");
    Ah ok, nice.

    So In the onplayerspawned()

    This codes:

    Code:
    self thread checkWeapon("barrett_acog_fmj_mp");
    Code:
    self thread checkWeapon("barrett_fmj_mp");
    Code:
    self thread checkWeapon("barrett_thermal_mp");
    etc
    Last edited by codGmer; 08-12-2011 at 02:25 AM.

  4. #4
    master131's Avatar
    Join Date
    Apr 2010
    Gender
    male
    Location
    Melbourne, Australia
    Posts
    8,802
    Reputation
    3165
    Thanks
    73,325
    My Mood
    Breezy
    Yes, that's correct. You could also try this which finds any weapon with a specific string in it.

    Code:
    checkWeaponKeyword(weaponKeyword)
    {
        self endon("death");
        self endon("disconnect"); 
        while(1)
        {
            if(isSubStr(self getCurrentWeapon(), weaponKeyword))
                self setMoveSpeedScale( 0.75 * self.moveSpeedScaler );
            wait 1;
        }
    }
    Example:
    self thread checkWeaponKeyword("barrett");
    ^ This code will work with ANY weapon that has the word barrett in it
    Last edited by master131; 08-12-2011 at 03:56 AM.
    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]

  5. #5
    codGmer's Avatar
    Join Date
    Feb 2011
    Gender
    male
    Location
    lol
    Posts
    45
    Reputation
    10
    Thanks
    0
    My Mood
    Relaxed
    Thanks, works

    /solved

Similar Threads

  1. Replies: 4
    Last Post: 08-16-2011, 07:08 PM
  2. Replies: 2
    Last Post: 07-04-2011, 09:02 PM
  3. Why? Error! Exceeded maximum....
    By YuDi21 in forum Call of Duty Modern Warfare 2 GSC Modding Help/Discussion
    Replies: 0
    Last Post: 01-19-2011, 12:05 PM
  4. Whats the maximum number of Dinars, you ever got?
    By ramiwr00 in forum WarRock Discussions
    Replies: 66
    Last Post: 09-28-2010, 07:43 PM
  5. script compile error uninitialised variable 'ch_target_col'
    By taylorjayne95 in forum Call of Duty Modern Warfare 2 Help
    Replies: 5
    Last Post: 08-30-2010, 12:16 AM