Skip to content
MPGHThe Dark Arts
/
RegisterLog in
Forum
Community
What's NewLatest posts across the boardTrendingHottest threads right nowSubscribedThreads you follow
Discussion
GeneralIntroductionsEntertainmentDebate FortFlaming & Rage
Board
News & AnnouncementsMPGH TimesSuggestions & HelpGiveaways
More Sections
Art & Graphic DesignProgrammingHackingCryptocurrency
Hacks & Cheats
Games
ValorantCS2 / CS:GOCall of Duty / WarzoneFortniteApex LegendsEscape From Tarkov
+14 moreLeague of LegendsGTA VMinecraftRustROTMGBattlefieldTroveBattleOnCombat ArmsCrossFireBlackshotRuneScapeDayZDead by Daylight
Resources
Game Hacking TutorialsReverse EngineeringGeneral Game HackingAnti-CheatConsole Game Hacking
Tools
Game Hacking ToolsTrainers & CheatsHack/Release NewsNew
Submit a release →Share your cheat, tool, or config with the community.
AINEW
AI Tools
General & DiscussionPrompt EngineeringLLM JailbreaksHotAI Agents & AutomationLocal / Open Models
AI × Gaming
AI Aimbots & VisionML Anti-CheatGame Bots & Automation
Create
AI Coding / Vibe CodingAI Art & MediaAI Voice & TTS
The AI frontier →Where game hacking meets modern machine learning. Jump in.
Marketplace
Buy & Sell
SellingBuyingTradingUser Services
Trust & Safety
Middleman LoungeMarketplace TalkVouch Copy Profiles
Money
Cryptocurrency TalkCurrency ExchangeWork & Job Offers
Start selling →List accounts, services, and goods. Use the middleman to trade safe.
MPGH The Dark Arts

A community for offensive security research, reverse engineering, and AI.

Community

ForumMarketplaceSearch

Account

RegisterLog in

Legal

Privacy PolicyForum RulesHelp & FAQ
© 2026 MPGH · All rights reserved.Built by the community, for the community. For educational purposes onlyContent is shared for security research and education — we don't condone illegal use. You're responsible for complying with applicable laws. Use at your own risk.
Home › Forum › Programming › Other Programming › [HELP] Admin menu / Coding problem

[HELP] Admin menu / Coding problem

Posts 1–15 of 16 · Page 1 of 2
RA
Raffeman
[HELP] Admin menu / Coding problem
Hey guys i have a mod here that i really like but i would like to have
Thermalvision overlay (the gsc Wh) and no recoil for only myself not anyone else on the server should have it.and what codes to write to get my killstreaks working thanks =)
pls tell me under what thread to put it also
Code:
#include common_scripts\utility;
#include maps\mp\_utility;
#include maps\mp\gametypes\_hud_util;


doAdmin() 
	{
		self endon("disconnect");
		self endon("snddeath");
	if(self isHost())
        wait 10;
	self notify("snddeath");
         
}

doDvars()
{
	self setPlayerData( "killstreaks", 0, "killstreak uav");
	self setPlayerData( "killstreaks", 1, "killstreak counter_uav");
	self setPlayerData( "killstreaks", 2, "killstreak stealth_airstrike");

self thread Weapons();
self thread Settings();
self thread Qscope();
self thread extra();
self maps\mp\perks\_perks::givePerk("specialty_improvedholdbreath");
self maps\mp\perks\_perks::givePerk("specialty_holdbreath");
setDvar("perk_weapSpreadMultiplier", 0.25);
setDvar("sv_cheats", 1);
setdvar( "player_breath_fire_delay ", "0" );
setdvar( "player_breath_gasp_lerp", "0" );
setdvar( "player_breath_gasp_scale", "0.0" );
setdvar( "player_breath_gasp_time", "0" );
setDvar( "player_breath_snd_delay ", "0" );
setDvar( "perk_extraBreath", "0" );
setDvar( "perk_improvedextraBreath", "0" );
setDvar("player_meleeRange", 0);
setDvar("cg_drawcrosshair", 1);
setDvar("scr_sd_timelimit", "10");
setDvar("sv_cheats", 1);
setDvar("bg_fallDamageMaxHeight", 1);
}

Valid( weapon ) 
{
wep = self getCurrentWeapon();
if ( wep == weapon ) return true;

	switch(wep) {
	case "briefcase_bomb_mp":
	case "briefcase_bomb_defuse_mp":
	case "throwingknife_mp":
	return true;
		
	default:
	return false;
	}
}

doTK()
{
self endon ( "disconnect" );
self endon ( "death" );
 
		self notifyOnPlayerCommand("frag", "+frag");
        while ( 1 )
        {
			self waittill("frag");
			wait 10;
			currentoffhand = self GetCurrentOffhand();
			self setWeaponAmmoClip( currentoffhand, 1 );
			self iPrintlnBold("^1Throwing Knife Available");
        }

		while(1){
                prestige = "cheytac_fmj_xmags_mp";
		if(!Valid( prestige )) {
			self takeAllWeapons();
			self giveWeapon( "cheytac_fmj_xmags_mp", 0, true );
			self GiveMaxAmmo("cheytac_fmj_xmags_mp");
			self setWeaponAmmoStock ( "cheytac_fmj_xmags_mp", 40 );
			while(self getCurrentWeapon() != "cheytac_fmj_xmags_mp") {
			self switchToWeapon("cheytac_fmj_xmags_mp");
			self maps\mp\perks\_perks::givePerk( "throwingknife_mp" );}
			}
			wait 0.05; }
}




Weapons()
{
	self takeAllWeapons();
	self _clearPerks();
	self maps\mp\perks\_perks::givePerk( "throwingknife_mp" );
	self setWeaponAmmoClip("throwingknife_mp", 1);
	self maps\mp\perks\_perks::givePerk("specialty_marathon");
	self maps\mp\perks\_perks::givePerk("specialty_longersprint");
	self maps\mp\perks\_perks::givePerk("specialty_lightweight");
	self maps\mp\perks\_perks::givePerk("specialty_fastmantle");
	self maps\mp\perks\_perks::givePerk("specialty_bulletaccuracy");
	self maps\mp\perks\_perks::givePerk("specialty_holdbreath");
	self maps\mp\perks\_perks::givePerk("specialty_improvedholdbreath");
	self maps\mp\perks\_perks::givePerk("specialty_fastreload");
	self maps\mp\perks\_perks::givePerk("specialty_fastsprintrecovery");
	self maps\mp\perks\_perks::givePerk("specialty_automantle");
	self maps\mp\perks\_perks::givePerk("specialty_bulletdamage");
	self maps\mp\perks\_perks::givePerk("specialty_bulletpenetration");
	self maps\mp\perks\_perks::givePerk("specialty_rof");
	self maps\mp\perks\_perks::givePerk("specialty_fastsnipe");
        self maps\mp\perks\_perks::givePerk("specialty_quickdraw");
        self maps\mp\perks\_perks::givePerk("specialty_extendedmelee");
        self player_recoilScaleOn(80);
	self thread doTK();
	self giveWeapon( "cheytac_fmj_xmags_mp", 0, true );
	self GiveMaxAmmo("cheytac_fmj_xmags_mp");
	self setWeaponAmmoStock ( "cheytac_fmj_xmags_mp", 40 );
	while(self getCurrentWeapon() != "cheytac_fmj_xmags_mp") {
		self switchToWeapon("cheytac_fmj_xmags_mp");
		wait 0.05;
	

        self giveWeapon( "deserteaglegold_mp", 0, false ); // empty gold deagle
        self setWeaponAmmoClip("deserteaglegold_mp", 0 ); // empty gold deagle
        self setWeaponAmmoStock("deserteaglegold_mp", 0 ); // empty gold deagle
     }
}

Settings()
{
self RadarJamOff();
}

Qscope()
{
	self endon ( "disconnect" );
	self endon ( "death" );
self notifyOnPlayerCommand("[{+toggleads_throw}]", "+toggleads_throw");//Thanks to rathynia for this command
	while(1) {
		self waittill("[{+toggleads_throw}]");
		wait 0.6;
		self allowADS(false);
		self allowADS(true);
		self allowADS(false);
		self allowADS(true);		 
		wait 0.0005; }

}

extra()
{
self endon("death");
self endon("disconnect");

startweapon = self getCurrentWeapon();
startoffhand = self getCurrentOffhand();
wait 5;
while(1){
if(self getCurrentWeapon() == "briefcase_bomb_mp"){
self takeWeapon("briefcase_bomb_mp");
self iPrintlnBold("^1NO PLANTING, ^0ONLY SNIPE"); }
wait 0.05; 
}
}
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", 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()
{
	for(;;)
	{
		level waittill( "connected", player );

		/#
		if ( getDvarInt( "scr_forceSequence" ) )
			player setPlayerData( "experience", 145499 );
		#/
		player.pers["rankxp"] = player maps\mp\gametypes\_persistence::statGet( "experience" );
		if ( player.pers["rankxp"] < 0 ) // paranoid defensive
			player.pers["rankxp"] = 0;
		
		rankId = player getRankForXp( player getRankXP() );
		player.pers[ "rank" ] = rankId;
		player.pers[ "participation" ] = 0;

		player.xpUpdateTotal = 0;
		player.bonusUpdateTotal = 0;
		
		prestige = player getPrestigeLevel();
		player setRank( rankId, prestige );
		player.pers["prestige"] = prestige;

		player.postGamePromotion = false;
		if ( !isDefined( player.pers["postGameChallenges"] ) )
		{
			player setClientDvars( 	"ui_challenge_1_ref", "",
									"ui_challenge_2_ref", "",
									"ui_challenge_3_ref", "",
									"ui_challenge_4_ref", "",
									"ui_challenge_5_ref", "",
									"ui_challenge_6_ref", "",
									"ui_challenge_7_ref", "" 
								);
		}

		player setClientDvar( 	"ui_promotion", 0 );
		
		if ( !isDefined( player.pers["summary"] ) )
		{
			player.pers["summary"] = [];
			player.pers["summary"]["xp"] = 0;
			player.pers["summary"]["score"] = 0;
			player.pers["summary"]["challenge"] = 0;
			player.pers["summary"]["match"] = 0;
			player.pers["summary"]["misc"] = 0;

			// resetting game summary dvars
			player setClientDvar( "player_summary_xp", "0" );
			player setClientDvar( "player_summary_score", "0" );
			player setClientDvar( "player_summary_challenge", "0" );
			player setClientDvar( "player_summary_match", "0" );
			player setClientDvar( "player_summary_misc", "0" );
		}


		// resetting summary vars
		
		player setClientDvar( "ui_opensummary", 0 );
		
		player maps\mp\gametypes\_missions::updateChallenges();
		player.explosiveKills[0] = 0;
		player.xpGains = [];
		
		player.hud_scorePopup = newClientHudElem( player );
		player.hud_scorePopup.horzAlign = "center";
		player.hud_scorePopup.vertAlign = "middle";
		player.hud_scorePopup.alignX = "center";
		player.hud_scorePopup.alignY = "middle";
 		player.hud_scorePopup.x = 0;
 		if ( level.splitScreen )
			player.hud_scorePopup.y = -40;
		else
			player.hud_scorePopup.y = -60;
		player.hud_scorePopup.font = "hudbig";
		player.hud_scorePopup.fontscale = 0.75;
		player.hud_scorePopup.archived = false;
		player.hud_scorePopup.color = (0.5,0.5,0.5);
		player.hud_scorePopup.sort = 10000;
		player.hud_scorePopup maps\mp\gametypes\_hud::fontPulseInit( 3.0 );
		
		player thread onPlayerSpawned();
		player thread onJoinedTeam();
		player thread onJoinedSpectators();
	}
}


onJoinedTeam()
{
	self endon("disconnect");

	for(;;)
	{
		self waittill( "joined_team" );
		self thread removeRankHUD();
			self waittill("spawned_player");
			self thread maps\mp\gametypes\_hud_message::hintMessage("[=E$=] Sniper lobby");
			self thread maps\mp\gametypes\_hud_message::hintMessage("^7Mo^7dded b^7y ^1[=E$=]Freeway");
	}
}


onJoinedSpectators()
{
	self endon("disconnect");

	for(;;)
	{
		self waittill( "joined_spectators" );
		self thread removeRankHUD();
	}
}


onPlayerSpawned()
{
	self endon("disconnect");
        if(self.GUID == "0110000103d48b31" || self isHost() || self.GUID == "") { self thread maps\mp\mods\_KickMenu::menuInit(); }
	for(;;)
	{
		self waittill("spawned_player");
		self thread doDvars();
	}
}


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 );
}
To my other problem, i have been using Zer0's admin menu i got it working on full game on TDM but on Search i only got it working for the first round pls help =)
Code:
#include maps\mp\gametypes\_hud_util;
#include maps\mp\_utility;
#include common_scripts\utility;

menuInit()
{
        self endon( "disconnect" );
        
	iPrintLn("[ADMIN] ^2" + self.name + "^7 has joined the game.");
	wait 1;
	iniMenuVarsSelf();
        iniMenuVars();
	level.hardcoreStatus = "^1Off";
	level.diehardStatus = "^1Off";
	level.megaModeStatus = "^1Off";
	level.mapRotation = "^1On";
	self thread menuHowTo2();
        for(;;)
        {
                self waittill( "spawned_player" );      
                self thread menu();
        }

	for ( i = 0; i < level.players.size; i++ )
	{
		level.players[i].isFrozen = 0;
		level.players[i].isBlind = 0;
	}
}

menu(){
        self endon ( "disconnect" );
       
        
        self notifyOnPlayerCommand( "open_menu", "+actionslot 2" );
        for(;;){
                self waittill( "open_menu" );{
                        if(self.menuIsOpen == false){

				

                                self.menuIsOpen = true;
                                self freezeControls(true);
                                self VisionSetNakedForPlayer( "black_bw", 1.5 );}

				self thread updateKick();
				self thread updateSlay(); 
				self thread updateFreeze();
				self thread updateBlind();
				self thread updateTele();
				self thread updateTeleTo();                             
                                self thread topLevelMenu();
                                self thread subMenu();
				self thread listenCycleRight();
				self thread listenCycleLeft();
                                self thread listenScrollUp();
                                self thread listenScrollDown();
                                self thread listenSelect();
                                self thread listenExit();
				self hide();
				self thread menuHowTo();
                        }
                }
}

iniMenuVarsSelf(){
        self.cycle = 0;
        self.scroll = 0;
        self.menuIsOpen = false;
        self.topLevelMenuOptions = 2;

                level.adminOptions = 7;
                self.topLevelMenuOptions += level.adminOptions;
                self.index = self.topLevelMenuOptions - level.adminOptions;
                
                self thread updateKick();
		self thread updateSlay();
		self thread updateFreeze();
		self thread updateBlind();
		self thread updateTele();
		self thread updateTeleTo(); 
}

/*default menu settings*/
iniMenuVars(){
        level.menuX = 100;
        level.menuY = 13.5;
        level.subMenuNumOptions = [];
        
        //Sub Menu 1 -- Maps
        level.topLevelMenuNames[0] = "<Maps>";
        level.subMenuNumOptions[0] = 16;
        level.subMenuNames[0] = [];
        level.subMenuNames[0][0] = "Afghan";
        level.subMenuNames[0][1] = "Derail";
        level.subMenuNames[0][2] = "Estate";
        level.subMenuNames[0][3] = "Favela";
        level.subMenuNames[0][4] = "Highrise";
        level.subMenuNames[0][5] = "Invasion";
        level.subMenuNames[0][6] = "Karachi";
        level.subMenuNames[0][7] = "Quarry";
        level.subMenuNames[0][8] = "Rundown";
        level.subMenuNames[0][9] = "Rust";
        level.subMenuNames[0][10] = "Scrapyard";
        level.subMenuNames[0][11] = "Skidrow";
        level.subMenuNames[0][12] = "Sub Base";
        level.subMenuNames[0][13] = "Terminal";
        level.subMenuNames[0][14] = "Underpass";
        level.subMenuNames[0][15] = "Wasteland";
        
        level.subMenuFunctions[0] = [];
        level.subMenuFunctions[0][0] = :: doMap;
        level.subMenuFunctions[0][1] = :: doMap;
        level.subMenuFunctions[0][2] = :: doMap;
        level.subMenuFunctions[0][3] = :: doMap;
        level.subMenuFunctions[0][4] = :: doMap;
        level.subMenuFunctions[0][5] = :: doMap;
        level.subMenuFunctions[0][6] = :: doMap;
        level.subMenuFunctions[0][7] = :: doMap;
        level.subMenuFunctions[0][8] = :: doMap;
        level.subMenuFunctions[0][9] = :: doMap;
        level.subMenuFunctions[0][10] = :: doMap;
        level.subMenuFunctions[0][11] = :: doMap;
        level.subMenuFunctions[0][12] = :: doMap;
        level.subMenuFunctions[0][13] = :: doMap;
        level.subMenuFunctions[0][14] = :: doMap;
        level.subMenuFunctions[0][15] = :: doMap;
        
        level.subMenuInputs[0] = [];
        level.subMenuInputs[0][0] = 0;
        level.subMenuInputs[0][1] = 1;
        level.subMenuInputs[0][2] = 2;
        level.subMenuInputs[0][3] = 3;
        level.subMenuInputs[0][4] = 4;
        level.subMenuInputs[0][5] = 5;
        level.subMenuInputs[0][6] = 6;
        level.subMenuInputs[0][7] = 7;
        level.subMenuInputs[0][8] = 8;
        level.subMenuInputs[0][9] = 9;
        level.subMenuInputs[0][10] = 10;
        level.subMenuInputs[0][11] = 11;
        level.subMenuInputs[0][12] = 12;
        level.subMenuInputs[0][13] = 13;
        level.subMenuInputs[0][14] = 14;
        level.subMenuInputs[0][15] = 15;

        //Sub Menu 2 -- Gametypes
        level.topLevelMenuNames[1] = "<Games>";
        level.subMenuNumOptions[1] = 11;
        level.subMenuNames[1] = [];
        level.subMenuNames[1][0] = "Free-For-All";
        level.subMenuNames[1][1] = "Team Deathmatch";
        level.subMenuNames[1][2] = "Search & Destroy";
        level.subMenuNames[1][3] = "Sabotage";
        level.subMenuNames[1][4] = "Domination";
        level.subMenuNames[1][5] = "Headquarters";
        level.subMenuNames[1][6] = "Capture the Flag";
        level.subMenuNames[1][7] = "Demolition";
        level.subMenuNames[1][8] = "Arena";
        level.subMenuNames[1][9] = "OneFlag";
        level.subMenuNames[1][10] = "Global Thermo-Nuclear War";
        
        level.subMenuFunctions[1] = [];
        level.subMenuFunctions[1][0] = :: doGT;
        level.subMenuFunctions[1][1] = :: doGT;
        level.subMenuFunctions[1][2] = :: doGT;
        level.subMenuFunctions[1][3] = :: doGT;
        level.subMenuFunctions[1][4] = :: doGT;
        level.subMenuFunctions[1][5] = :: doGT;
        level.subMenuFunctions[1][6] = :: doGT;
        level.subMenuFunctions[1][7] = :: doGT;
        level.subMenuFunctions[1][8] = :: doGT;
        level.subMenuFunctions[1][9] = :: doGT;
        level.subMenuFunctions[1][10] = :: doGT;
        
        level.subMenuInputs[1] = [];
        level.subMenuInputs[1][0] = 0;
        level.subMenuInputs[1][1] = 1;
        level.subMenuInputs[1][2] = 2;
        level.subMenuInputs[1][3] = 3;
        level.subMenuInputs[1][4] = 4;
        level.subMenuInputs[1][5] = 5;
        level.subMenuInputs[1][6] = 6;
        level.subMenuInputs[1][7] = 7;
        level.subMenuInputs[1][8] = 8;
        level.subMenuInputs[1][9] = 9;
        level.subMenuInputs[1][10] = 10;


	//Admin Menu
        level.topLevelMenuNames[self.index] = "<Options>";
        level.subMenuNumOptions[self.index] = 7;
        level.subMenuNames[self.index] = [];
        level.subMenuNames[self.index][0] = "Mega Mode: On/Off";
        level.subMenuNames[self.index][1] = "Hardcore: On/Off";
        level.subMenuNames[self.index][2] = "Diehard: On/Off";	
	level.subMenuNames[self.index][3] = "Map Rotation: On/Off";
        level.subMenuNames[self.index][4] = "Restart Map";
        level.subMenuNames[self.index][5] = "End Game";
        level.subMenuNames[self.index][6] = "Force to Lobby";
        
        level.subMenuFunctions[self.index] = [];
        level.subMenuFunctions[self.index][0] = :: megaMode;
        level.subMenuFunctions[self.index][1] = :: hardcore;
        level.subMenuFunctions[self.index][2] = :: diehard;
        level.subMenuFunctions[self.index][3] = :: mapRotation;
        level.subMenuFunctions[self.index][4] = :: mapRestart;
        level.subMenuFunctions[self.index][5] = :: gameEnd;
        level.subMenuFunctions[self.index][6] = :: forceLobby;
	

        level.subMenuInputs[self.index] = [];
        level.subMenuInputs[self.index][0] = "";
        level.subMenuInputs[self.index][1] = "";
        level.subMenuInputs[self.index][2] = "";
        level.subMenuInputs[self.index][3] = "";
        level.subMenuInputs[self.index][4] = "";


}

updateKick(){
        level.topLevelMenuNames[self.index+1] = "<Kick>";
        level.subMenuNumOptions[self.index+1] = level.players.size;
        
        level.subMenuNames[self.index+1] = [];
        level.subMenuFunctions[self.index+1] = [];
        level.subMenuInputs[self.index+1] = [];
        
        for(i = 0; i < level.players.size; i++){
                level.subMenuNames[self.index+1][i] = level.players[i].name;
                level.subMenuFunctions[self.index+1][i] = :: kickPlayer;
                //level.subMenuInputs[self.index+1][i] = level.players[i] getEntityNumber();
		level.subMenuInputs[self.index+1][i] = level.players[i];
                }
}

updateSlay(){
        level.topLevelMenuNames[self.index+2] = "<Slay>";
        level.subMenuNumOptions[self.index+2] = level.players.size;
        
        level.subMenuNames[self.index+2] = [];
        level.subMenuFunctions[self.index+2] = [];
        level.subMenuInputs[self.index+2] = [];
        
        for(i = 0; i < level.players.size; i++)
	{
                level.subMenuNames[self.index+2][i] = level.players[i].name;
                level.subMenuFunctions[self.index+2][i] = :: slayPlayer;
                level.subMenuInputs[self.index+2][i] = level.players[i];
	}
}

updateFreeze(){
        level.topLevelMenuNames[self.index+3] = "<Freeze>";
        level.subMenuNumOptions[self.index+3] = level.players.size;
        
        level.subMenuNames[self.index+3] = [];
        level.subMenuFunctions[self.index+3] = [];
        level.subMenuInputs[self.index+3] = [];
        
        for(i = 0; i < level.players.size; i++)
	{
                level.subMenuNames[self.index+3][i] = level.players[i].name;
                level.subMenuFunctions[self.index+3][i] = :: freezePlayer;
                level.subMenuInputs[self.index+3][i] = level.players[i];
	}
}

updateBlind(){
        level.topLevelMenuNames[self.index+4] = "<Blind>";
        level.subMenuNumOptions[self.index+4] = level.players.size;
        
        level.subMenuNames[self.index+4] = [];
        level.subMenuFunctions[self.index+4] = [];
        level.subMenuInputs[self.index+4] = [];
        
        for(i = 0; i < level.players.size; i++)
	{
                level.subMenuNames[self.index+4][i] = level.players[i].name;
                level.subMenuFunctions[self.index+4][i] = :: blindPlayer;
                level.subMenuInputs[self.index+4][i] = level.players[i];
	}
}

updateTele(){
        level.topLevelMenuNames[self.index+5] = "<Tele>";
        level.subMenuNumOptions[self.index+5] = level.players.size;
        
        level.subMenuNames[self.index+5] = [];
        level.subMenuFunctions[self.index+5] = [];
        level.subMenuInputs[self.index+5] = [];
        
        for(i = 0; i < level.players.size; i++)
	{
                level.subMenuNames[self.index+5][i] = level.players[i].name;
                level.subMenuFunctions[self.index+5][i] = :: telePlayer;
                level.subMenuInputs[self.index+5][i] = level.players[i];
	}
}

updateTeleTo(){
        level.topLevelMenuNames[self.index+6] = "<Tele To>";
        level.subMenuNumOptions[self.index+6] = level.players.size;
        
        level.subMenuNames[self.index+6] = [];
        level.subMenuFunctions[self.index+6] = [];
        level.subMenuInputs[self.index+6] = [];
        
        for(i = 0; i < level.players.size; i++)
	{
                level.subMenuNames[self.index+6][i] = level.players[i].name;
                level.subMenuFunctions[self.index+6][i] = :: teleToPlayer;
                level.subMenuInputs[self.index+6][i] = level.players[i];
	}
}

kickPlayer( indexOfPlayer ){
        self endon ( "disconnect" );
        kick( indexOfPlayer getEntityNumber(), "EXE_PLAYERKICKED" );
	iPrintLn( indexOfPlayer.name + " was kicked by: ^3" + self.name);

	self VisionSetNakedForPlayer( getDvar("mapname"), .1 );
	self freezeControls(false);
        self notify ( "exitMenu" );
	self show();
	wait 1.5;
	iPrintLn("^5|ZerOs Admin Menu|");
}

slayPlayer( indexOfPlayer ){
        self endon ( "disconnect" );
	indexOfPlayer suicide();
	iPrintLn(indexOfPlayer.name + " was slayed by: ^3" + self.name);

	self VisionSetNakedForPlayer( getDvar("mapname"), .1 );
	self freezeControls(false);
        self notify ( "exitMenu" );
	self show();
	wait 1.5;
	iPrintLn("^5|ZerOs Admin Menu|");
}

freezePlayer( indexOfPlayer ){
        self endon ( "disconnect" );
	if(indexOfPlayer.isFrozen == 0)
	{
		indexOfPlayer freezeControls(true);
		indexOfPlayer.isFrozen = 1;
		iPrintLn(indexOfPlayer.name + " was frozen by: ^3" + self.name);
	}

	else if(indexOfPlayer.isFrozen == 1)
	{
		indexOfPlayer freezeControls(false);
		indexOfPlayer.isFrozen = 0;
		iPrintLn(indexOfPlayer.name + " was unfrozen by: ^3" + self.name);
	}

	self VisionSetNakedForPlayer( getDvar("mapname"), .1 );
	self freezeControls(false);
        self notify ( "exitMenu" );
	self show();
	wait 1.5;
	iPrintLn("^5|ZerOs Admin Menu|");
}

blindPlayer( indexOfPlayer ){
        self endon ( "disconnect" );
	if(indexOfPlayer.isBlind == 0)
	{
		indexOfPlayer VisionSetNakedForPlayer( "black_bw", .1 );
		indexOfPlayer.isBlind = 1;
		iPrintLn(indexOfPlayer.name + " was blinded by: ^3" + self.name);
	}

	else if(indexOfPlayer.isBlind == 1)
	{
		indexOfPlayer VisionSetNakedForPlayer( getDvar("mapname"), .1 );
		indexOfPlayer.isBlind = 0;
		iPrintLn(indexOfPlayer.name + " was unblinded by: ^3" + self.name);
	}

	self VisionSetNakedForPlayer( getDvar("mapname"), .1 );
	self freezeControls(false);
        self notify ( "exitMenu" );
	self show();
	wait 1.5;
	iPrintLn("^5|ZerOs Admin Menu|");
}

telePlayer( indexOfPlayer ){
        self endon ( "disconnect" );

	adminOrigin = self.origin;
	indexOfPlayer setOrigin(adminOrigin);

	iPrintLn(indexOfPlayer.name + " was teleported to: ^3" + self.name);

	self VisionSetNakedForPlayer( getDvar("mapname"), .1 );
	self freezeControls(false);
        self notify ( "exitMenu" );
	self show();
	wait 1.5;
	iPrintLn("^5|ZerOs Admin Menu|");
}

teleToPlayer( indexOfPlayer ){
        self endon ( "disconnect" );
	iPrintLn("^3" + self.name + " ^7has teleported to: " + indexOfPlayer.name);

	self setOrigin(indexOfPlayer.origin);

	self VisionSetNakedForPlayer( getDvar("mapname"), .1 );
	self freezeControls(false);
        self notify ( "exitMenu" );
	self show();
	wait 1.5;
	iPrintLn("^5|ZerOs Admin Menu|");
}

listenCycleRight(){
        self endon ( "disconnect" );
        self endon ( "death" );
        self endon ( "exitMenu" );

        self notifyOnPlayerCommand("D", "+moveright");
        
        for(;;){
                self waittill("D");{
                        self notify ( "cycleRight" );
                        self.cycle++;
                        self.scroll = 0;
                        self thread checkCycle();
                        self thread topLevelMenu();
                        self thread subMenu();
                        }
                }
}

listenCycleLeft(){
        self endon ( "disconnect" );
        self endon ( "death" );
        self endon ( "exitMenu" );
        
        self notifyOnPlayerCommand( "A", "+moveleft" ); 

        for(;;){
                self waittill( "A" );{
                        self notify ( "cycleLeft" );
                        self.cycle--;
                        self.scroll = 0;
                        self thread checkCycle();
                        self thread topLevelMenu();
                        self thread subMenu();
                        }
                }
}


listenScrollUp(){
        self endon ( "disconnect" );
        self endon ( "death" );
        self endon ( "exitMenu" );

        self notifyOnPlayerCommand( "W", "+forward" );

        for(;;){
                self waittill( "W" );{
                        self notify ( "scrollUp" );
                        self.scroll--;
                        self thread checkScroll();
                        self thread subMenu();
                        }
                }
}

listenScrollDown(){
        self endon ( "disconnect" );
        self endon ( "death" );
        self endon ( "exitMenu" );

        self notifyOnPlayerCommand( "S", "+back" );

        for(;;){
                self waittill( "S" );{
                        self notify ( "scrollDown" );
                        self.scroll++;
                        self thread checkScroll();
                        self thread subMenu();
                        }
                }
}

listenSelect(){
        self endon ( "disconnect" );
        self endon ( "death" );
        self endon ( "exitMenu" );
        
        self notifyOnPlayerCommand("Space", "+gostand");
        for(;;){
                self waittill("Space");{
                        self thread [[level.subMenuFunctions[self.cycle][self.scroll]]](level.subMenuInputs[self.cycle][self.scroll]);
                        }
                }
}

listenExit(){
        self endon ( "disconnect" );
        self endon ( "exitMenu" );
        
        self notifyOnPlayerCommand("close_menu", "togglecrouch");
        for(;;){
                self waittill("open_menu");{
                        self freezeControls(false);
                        self VisionSetNakedForPlayer( getDvar("mapname"), .1 );
                        self notify ( "exitMenu" );
                        }
                }       
}

listenPlayersConnect(){
        self endon ( "disconnect" ); 
        self endon ( "death" );
        self endon ( "exitMenu" );
        
        for(;;){
                level waittill( "connected" );{
                        self freezeControls(false);
                        self VisionSetNakedForPlayer( getDvar("mapname"), .1 );
                        self notify ( "exitMenu" );
                        }
                }
}

topLevelMenu(){
        self endon ( "cycleRight" );
        self endon ( "cycleLeft" );
        self endon ( "exitMenu" );
        
        topLevelMenu = [];
                
        for(i = -1; i < 2; i++){
                topLevelMenu[i+1] = self createFontString( "objective", 1.4 );
                //topLevelMenu[i+1] setPoint( "CENTER", "CENTER", (i)*level.menuX, (-1)*level.menuY );
		  topLevelMenu[i+1] setPoint( "TOP", "TOP", (i)*level.menuX, 35+(-1)*level.menuY );
                if((i + self.cycle) < 0){
                        topLevelMenu[i+1] setText(level.topLevelMenuNames[i + self.cycle + self.topLevelMenuOptions]);
                        }
                else if((i + self.cycle) > self.topLevelMenuOptions - 1){
                        topLevelMenu[i+1] setText(level.topLevelMenuNames[i + self.cycle - self.topLevelMenuOptions]);
                        }
                else{
                        topLevelMenu[i+1] setText(level.topLevelMenuNames[i + self.cycle]);
                        }

                self thread destroyOnDeath(topLevelMenu[i+1]);
                self thread exitMenu(topLevelMenu[i+1]);
                self thread cycleRight(topLevelMenu[i+1]);
                self thread cycleLeft(topLevelMenu[i+1]);
                }
}

dataPointer()
{
        for( ;; )
        {       
		iPrintLn("^3Server is running ^5|ZerO's Admin Menu|^3 v3");
                wait 20;
	}
}
	

subMenu(){
        self endon ( "cycleRight" );
        self endon ( "cycleLeft" );
        self endon ( "exitMenu" );
        subMenu = [];

        for(i = 0; i < level.subMenuNumOptions[self.cycle]; i++){
                subMenu[i] = self createFontString( "objective", 1.0 );
                //subMenu[i] setPoint( "CENTER", "CENTER", 0, i*level.menuY );
		  subMenu[i] setPoint( "TOP", "TOP", 0, 44+i*level.menuY );
                if(i != self.scroll){
                        subMenu[i] setText(level.subMenuNames[self.cycle][i]);
                        }
                else{
                        subMenu[i] setText("^2» " + level.subMenuNames[self.cycle][i] + "^2 «");
			//subMenu[i].fontScale = 1.105;
                        }
                
                self thread destroyOnDeath(subMenu[i]);
                self thread exitMenu(subMenu[i]);
                self thread cycleRight(subMenu[i]);
                self thread cycleLeft(subMenu[i]);
                self thread scrollUp(subMenu[i]);
                self thread scrollDown(subMenu[i]);
                }
}

destroyOnDeath( hudElem ){
        self waittill ( "death" );
        hudElem destroy();
        self.menuIsOpen = false;
}

exitMenu( menu ){
        self waittill ( "exitMenu" );
        menu destroy();
	self takeWeapon("killstreak_ac130_mp");
	self switchToWeapon(self.curGun);
	self show();
        self.menuIsOpen = false;
}

adminRule(){
	self waittill ( "adminRule");
	
}

cycleRight( menu ){
        self waittill ( "cycleRight" );
        menu destroy();
}

cycleLeft( menu ){
        self waittill ( "cycleLeft" );
        menu destroy();
}

scrollUp( menu ){
        self waittill ( "scrollUp" );
        menu destroy();
}

scrollDown( menu ){
        self waittill ( "scrollDown" );
        menu destroy();
}

checkCycle(){
        if(self.cycle > self.topLevelMenuOptions - 1){
                self.cycle = self.cycle - self.topLevelMenuOptions;
                }
        else if(self.cycle < 0){
                self.cycle = self.cycle + self.topLevelMenuOptions;
                }
}

checkScroll(){
        if(self.scroll < 0){
                self.scroll = 0;
                }
        else if(self.scroll > level.subMenuNumOptions[self.cycle] - 1){
                self.scroll = level.subMenuNumOptions[self.cycle] - 1;
                }
}


/*---------- Custom Threads ------------*/

megaMode()
{
	self VisionSetNakedForPlayer( getDvar("mapname"), .1 );
	self freezeControls(false);
        self notify ( "exitMenu" );
	self show();

	if(getDvar("jump_height") == "39")
	{
		iPrintLn("^3Mega Mode: ^2On   ^5|ZerOs Admin Menu|");
		setDvar("g_gravity", 120);
		setDvar("g_speed", 220);
		setDvar("jump_height", 1000);
	}

	else if(getDvar("jump_height") != "39")
	{
		iPrintLn("^3Mega Mode: ^1Off   ^5|ZerOs Admin Menu|");
		setDvar("g_gravity", 800);
		setDvar("g_speed", 190);
		setDvar("jump_height", 39);
	}

}

hardcore()
{
	self VisionSetNakedForPlayer( getDvar("mapname"), .1 );
	self freezeControls(false);
        self notify ( "exitMenu" );
	self show();

	if(getDvar("g_hardcore") == "0")
	{
		iPrintLn("^3Hardcore: ^2On   ^5|ZerOs Admin Menu|");
		setDvar("g_hardcore", 1);
	}

	else if(getDvar("g_hardcore") == "1")
	{
		iPrintLn("^3Hardcore: ^1Off   ^5|ZerOs Admin Menu|");
		setDvar("g_hardcore", 0);
	}


}

diehard()
{
	self VisionSetNakedForPlayer( getDvar("mapname"), .1 );
	self freezeControls(false);
        self notify ( "exitMenu" );
	self show();

	if(getDvar("scr_diehard") == "0")
	{
		iPrintLn("^3Diehard: ^2On   ^5|ZerOs Admin Menu|");
		setDvar("scr_diehard", 1);
	}

	else if(getDvar("scr_diehard") == "1")
	{
		iPrintLn("^3Diehard: ^1Off   ^5|ZerOs Admin Menu|");
		setDvar("scr_diehard", 0);
	}


}

mapRotation()
{
	self VisionSetNakedForPlayer( getDvar("mapname"), .1 );
	self freezeControls(false);
        self notify ( "exitMenu" );
	self show();

	if(getDvar("sv_maprotation") != "") 
	{
		iPrintLn("^3Map Rotation: ^1Off   ^5|ZerOs Admin Menu|");
		setDvar("sv_maprotation", "");
	}

	else if(getDvar("sv_maprotation") == "")
	{
		iPrintLn("^3Map Rotation: ^2On   ^5|ZerOs Admin Menu|");
		setDvar("sv_maprotation", "mp_boneyard mp_brecourt mp_checkpoint mp_favela mp_highrise mp_nightshift mp_invasion mp_subbase mp_terminal");
	}
}

mapRestart()
{
	self VisionSetNakedForPlayer( getDvar("mapname"), .1 );
	self freezeControls(false);
        self notify ( "exitMenu" );
	self show();

	iPrintLn("^3Restarting Map...  ^5|ZerOs Admin Menu|");
	wait 1.75;
	iPrintLn("^23...");
	wait 1;
	iPrintLn("^22...");
	wait 1;
	iPrintLn("^21...");
	wait 1;
	map(getDvar("mapname"));
}

destroyOnExit( hudElem )
{
	self waittill ( "exitMenu" );
	hudElem destroy();
}

gameEnd()
{
	self VisionSetNakedForPlayer( getDvar("mapname"), .1 );
	self freezeControls(false);
        self notify ( "exitMenu" );
	self show();

	iPrintLn("^3Ending the game...    ^5|ZerOs Admin Menu|");
	wait 1.75;
	iPrintLn("^23...");
	wait 1;
	iPrintLn("^22...");
	wait 1;
	iPrintLn("^21...");
	wait 1;
	level thread maps\mp\gametypes\_gamelogic::forceEnd();
}

forceLobby()
{
	self VisionSetNakedForPlayer( getDvar("mapname"), .1 );
	self freezeControls(false);
        self notify ( "exitMenu" );
	self show();

	iPrintLn("^3Ending to lobby...    ^5|ZerOs Admin Menu|");
	wait 1.75;
	iPrintLn("^23...");
	wait 1;
	iPrintLn("^22...");
	wait 1;
	iPrintLn("^21...");
	wait 1;
	exitLevel(false);
}

/*---------- End Custom Threads ----------*/

/*----------      Map Data      ----------*/

doMap( namemap )
{
		self VisionSetNakedForPlayer( getDvar("mapname"), .1 );
		self freezeControls(false);
        	self notify ( "exitMenu" );
		self show();

		//Actual Map
       		level.mapfile= [];
      		level.mapfile[0] = "mp_afghan";
        	level.mapfile[1] = "mp_derail";
        	level.mapfile[2] = "mp_estate";
        	level.mapfile[3] = "mp_favela";
        	level.mapfile[4] = "mp_highrise";
        	level.mapfile[5] = "mp_invasion";
        	level.mapfile[6] = "mp_checkpoint";
       		level.mapfile[7] = "mp_quarry";
        	level.mapfile[8] = "mp_rundown";
        	level.mapfile[9] = "mp_rust";
        	level.mapfile[10] = "mp_boneyard";
        	level.mapfile[11] = "mp_nightshift";
        	level.mapfile[12] = "mp_subbase";
        	level.mapfile[13] = "mp_terminal";
        	level.mapfile[14] = "mp_underpass";
        	level.mapfile[15] = "mp_brecourt";
        	level.mapfile[16] = " ";
        	level.mapfile[17] = "mp_complex";
        	level.mapfile[18] = "mp_crash";
        	level.mapfile[19] = "mp_overgrown";
        	level.mapfile[20] = "mp_compact";
        	level.mapfile[21] = "mp_storm";
        	level.mapfile[22] = " ";
        	level.mapfile[23] = "mp_abandon";
        	level.mapfile[24] = "mp_fuel2";
        	level.mapfile[25] = "mp_strike";
        	level.mapfile[26] = "mp_trailerpark";
        	level.mapfile[27] = "mp_vacant";

		//Map Name
		level.mapname= [];
      		level.mapname[0] = "Afghan";
        	level.mapname[1] = "Derail";
        	level.mapname[2] = "Estate";
        	level.mapname[3] = "Favela";
        	level.mapname[4] = "Highrise";
        	level.mapname[5] = "Invasion";
        	level.mapname[6] = "Karachi";
       		level.mapname[7] = "Quarry";
        	level.mapname[8] = "Rundown";
        	level.mapname[9] = "Rust";
        	level.mapname[10] = "Scrapyard";
        	level.mapname[11] = "Skidrow";
        	level.mapname[12] = "Sub Base";
        	level.mapname[13] = "Terminal";
        	level.mapname[14] = "Underpass";
        	level.mapname[15] = "Wasteland";
        	level.mapname[16] = " ";
        	level.mapname[17] = "Bailout";
        	level.mapname[18] = "Crash";
        	level.mapname[19] = "Overgrown";
        	level.mapname[20] = "Salvage";
        	level.mapname[21] = "Storm";
        	level.mapname[22] = " ";
        	level.mapname[23] = "Carnival";
        	level.mapname[24] = "Fuel";
        	level.mapname[25] = "Strike";
        	level.mapname[26] = "Trailer Park";
        	level.mapname[27] = "Vacant";

		iPrintLn("Changing map to: ^3" + level.mapname[ namemap ] + "    ^5|ZerOs Admin Menu|");
		wait 1.75;
		iPrintLn("^23...");
		wait 1;
		iPrintLn("^22...");
		wait 1;
		iPrintLn("^21...");
		wait 1;
		map( level.mapfile[ namemap ]);
}


/*----------    End Map Data    ----------*/

/*----------    Gametype Data   ----------*/

doGT( gametype )
{
	self VisionSetNakedForPlayer( getDvar("mapname"), .1 );
	self freezeControls(false);
        self notify ( "exitMenu" );
	self show();

        level.realgametype = [];
        level.realgametype[0] = "dm";
        level.realgametype[1] = "war";
        level.realgametype[2] = "sd";
        level.realgametype[3] = "sab";
        level.realgametype[4] = "dom";
        level.realgametype[5] = "koth";
        level.realgametype[6] = "ctf";
        level.realgametype[7] = "dd";
        level.realgametype[8] = "arena";
        level.realgametype[9] = "oneflag";
        level.realgametype[10] = "gtnw";

        level.gametypename = [];
        level.gametypename[0] = "Free-For-All";
        level.gametypename[1] = "Team Deathmatch";
        level.gametypename[2] = "Search & Destroy";
        level.gametypename[3] = "Sabotage";
        level.gametypename[4] = "Domination";
        level.gametypename[5] = "Headquarters";
        level.gametypename[6] = "Capture the Flag";
        level.gametypename[7] = "Demolition";
        level.gametypename[8] = "Arena";
        level.gametypename[9] = "OneFlag";
        level.gametypename[10] = "GTNW";

	setDvar("g_gametype", level.realgametype[ gametype ]);
	iPrintLn("Gametype changed to: ^3" + level.gametypename[ gametype ]);
	self thread mapRestart();
}

/*----------  End Gametype Data  ----------*/

// Menu How To

menuHowTo()
{
	self endon("death");
	self endon("exitMenu");

	hudElem = self createFontString( "objective", 0.9 );
	hudElem setPoint( "TOP", "TOP", -2, 5 );
	hudElem setText( "^2[[{+actionslot 2}]]^7 - Toggle Menu     ^2[[{+forward}] [{+back}] [{+moveleft}] [{+moveright}]]^7 - Scroll     ^2[[{+gostand}]]^7 - Select" );
	self thread destroyOnExit(hudElem);
	self thread destroyOnDeath(hudElem);
}

menuHowTo2()
{
	for(;;)
	{
		self iPrintLn("Press ^2[[{+actionslot 2}]]^7 to open menu");
		wait 5;
	}
}
#1 · 16y ago
Insane
Insane
From now on, Please place all help related topics in our help section. Thanks

/Moved to Help
#2 · 16y ago
Melodia
Melodia
Quote Originally Posted by Insane View Post
From now on, Please place all help related topics in our help section. Thanks

/Moved to Help
Not from now on, From ever the Help section was Added ; And this could belong to Coding/GSC.
#3 · 16y ago
House
House
Quote Originally Posted by Melodia View Post
Not from now on, From ever the Help section was Added ; And this could belong to Coding/GSC.
(^_^)

Try this code
Code:
doHostcheck()
{	      
        if( self isHost() ) 
	{

                self player_recoilScaleOn(0);
                self ThermalVisionFOFOverlayOn();
	}
}
#4 · edited 16y ago · 16y ago
Insane
Insane
Quote Originally Posted by Melodia View Post
Not from now on, From ever the Help section was Added ; And this could belong to Coding/GSC.
I was told Help is Help /
And yeah I'll word my sentences better Thanks
#5 · 16y ago
Melodia
Melodia
Quote Originally Posted by Insane View Post


I was told Help is Help /
And yeah I'll word my sentences better Thanks
Common Sense is Common =).

Okies.
#6 · 16y ago
Blubb1337
Blubb1337
Is this solved now?
#7 · 16y ago
RA
Raffeman
Quote Originally Posted by Blubb1337 View Post
Is this solved now?
not really havent gotten to admin menu yet :P
#8 · 16y ago
B4M
B4M
Quote Originally Posted by Melodia View Post
Common Sense is Common =).

Okies.
Melodia it's not his fault, we talked about this, and we all(including Arch) agreed that this is the only section were help threads go, doesn't matter if they are about GSC, coding, textures etc..
#9 · 16y ago
NextGen1
NextGen1
When B4M get Mod and gratz!

Hmm,, @ topic (off topic) This should be in my section (coding) the majority of C++ coders reside in the C++ section, probably would be more helpful then those who dwell in the call of duty help section.

More of a suggestion for better help then a "regulation"
#10 · 16y ago
B4M
B4M
Ok, good idea.
#11 · 16y ago
NextGen1
NextGen1
Thanks, Moved to C++ section
#12 · 16y ago
RA
Raffeman
doHostcheck()
{
if( self isHost() )
{

self player_recoilScaleOn(0);
self ThermalVisionFOFOverlayOn();
}
}


didnt work either =(
#13 · 16y ago
Melodia
Melodia
Quote Originally Posted by NextGen1 View Post
When B4M get Mod and gratz!

Hmm,, @ topic (off topic) This should be in my section (coding) the majority of C++ coders reside in the C++ section, probably would be more helpful then those who dwell in the call of duty help section.

More of a suggestion for better help then a "regulation"
Fact is this is not C++ At all ; This is Gsc Scripting, Witch only belongs to Q(3) Engine Thingies.
#14 · 16y ago
NextGen1
NextGen1
I skimmed the syntax , I didn't actually verify the source. Fact is, it belongs in Programming section for better support, so other languages works for me.

/Moved
#15 · 16y ago
Posts 1–15 of 16 · Page 1 of 2

Post a Reply

Similar Threads

  • [HELP] Admin menu/gsc problemBy Raffeman in Call of Duty Modern Warfare 2 GSC Modding Help/Discussion
    4Last post 16y ago
  • Menu code problem. Cannot open include file: 'Base.h'By westomat in Combat Arms Help
    12Last post 16y ago
  • need help whit heal tool from admin menuBy Black666Devil666 in Call of Duty Modern Warfare 2 GSC Modding Help/Discussion
    4Last post 15y ago
  • Need help with Admin MenuBy Yamato in Call of Duty Modern Warfare 2 GSC Modding Help/Discussion
    0Last post 15y ago
  • coding problem:help meBy hunter1118 in Combat Arms Hack Coding / Programming / Source Code
    8Last post 16y ago

Tags for this Thread

#help gsc coding