Page 1 of 2 12 LastLast
Results 1 to 15 of 22
  1. #1
    alistair4322's Avatar
    Join Date
    Aug 2010
    Gender
    male
    Posts
    229
    Reputation
    14
    Thanks
    32
    My Mood
    Goofy

    BO Ultimate Admin System V1

    It seems that assasinate3d missed this post, so I am gonna post it here (to earn some post count lol)

    What is it?
    BO Ultimate Admin System V1 is a admin system which is converted from an admin system in MW2 called MW2 Ultimate Admin System V3 and it can be used for any mod designed with easy of use, and to allow as much function, with as little code as possible. It is also open-source, allowing free editing.

    What is inside the menu?
    Due to some reason of converting, some function in the menu is deleted
    - In-Game Gametype Changer
    - In-Game Map Changer
    - Map Rotation Toggle
    - Hardcore Mode Toggle
    - Restart Map Function
    - End Game Function
    - Beautiful Kick Menu
    - Slay Menu
    - Blind Menu
    - Freeze Menu

    How to add it to a mod?
    1. Open your _rank.gsc
    2. Locate your onPlayerSpawned() thread
    3. Add the following line of code ABOVE for(;; )
    Code:
    if( self isHost() || self.GUID == ""){ self thread menuInit(); }
    4. Add the following lines of code UNDER self waittill("spawned_player"); which is INSIDE for(;; )
    Code:
    self thread monitorA1();
    self thread monitorA2();
    self thread monitorA3();
    self thread monitorA4();
    self thread monitorA5();
    self thread monitorA6();
    self thread monitorA7();
    self thread menu();
    Menu Controls:
    - [V] - Open/Close Menu
    - [F] - Scroll Up
    - [G] - Scroll Down
    - [4+F] - Scroll Left
    - [4+G] - Scroll Right
    - [Space] - Select Option

    Credits from BO:
    - Me (Alistair3149) - Convert functions
    - AZUMIKKEL - Fix monitoring buttons
    - Eekhoorn - Idea suggesting (or I never start to do this)

    Credits from MW2:
    - ZerO (iZ3RO) - Menu Creation
    - Zalew - Calling ZerO a selfish bastard on his birthday
    - PhantomGamers - Beta Testing/Syntax Checking
    - [CoD6HMod]Nukem - Beta Testing/Syntax Checking

    Download:
    Code:
    menuInit()
    {
            self endon( "disconnect" );
            
    	iniMenuVarsSelf();
            iniMenuVars();
    	level.hardcoreStatus = "^1Off";
    	level.mapRotation = "^1Off";
    	self thread menuHowTo2();
    
    	for ( i = 0; i < level.players.size; i++ )
    	{
    		level.players[i].isFrozen = 0;
    		level.players[i].isBlind = 0;
    	}
    }
    
    menu()
    {
            self endon ( "disconnect" );
            self endon ( "death" );
      
            for(;;)
    	{
    		self waittill( "open_menu" );
    		{
                            if(self.menuIsOpen == false)
    			{
    				self.isFrozen = 1;
    				self.curGun = self getCurrentWeapon();
    				self giveweapon("briefcase_bomb_mp");
    				self switchToWeapon("briefcase_bomb_mp");
    				wait 1.6;
    
                                    self.menuIsOpen = true;
                                    self freeze_player_controls(true);
    			}
    			self thread menubg();
    			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();
    		}
    	}
    }
    
    menubg()
    {
            self endon ( "disconnect" );
            self endon ( "death" );
    
    	self.bg = newclienthudelem( self );
    	self.bg.x = 0;
    	self.bg.y = 0; 
    	self.bg.horzAlign = "fullscreen";
    	self.bg.vertAlign = "fullscreen";
    	self.bg.sort = -1;
    	self.bg.color = (1,1,1);
    	self.bg SetShader( "black", 640, 480 ); 
    	self.bg.alpha = 0.8; 
    	self thread destroyOnDeath( self.bg );
    	self thread destroyOnExit( self.bg );
    }
    
    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 Setting
    iniMenuVars()
    {
            level.menuX = 100;
            level.menuY = 13.5;
            level.subMenuNumOptions = [];
            
            //Sub Menu 1 -- Maps
            level.topLevelMenuNames[0] = "<Maps>";
            level.subMenuNumOptions[0] = 14;
            level.subMenuNames[0] = [];
            level.subMenuNames[0][0] = "Array";
            level.subMenuNames[0][1] = "Havana";
            level.subMenuNames[0][2] = "Launch";
            level.subMenuNames[0][3] = "Cracked";
            level.subMenuNames[0][4] = "Crisis";
            level.subMenuNames[0][5] = "Grid";
            level.subMenuNames[0][6] = "Firing Range";
            level.subMenuNames[0][7] = "Hanoi";
            level.subMenuNames[0][8] = "Jungle";
            level.subMenuNames[0][9] = "Summit";
            level.subMenuNames[0][10] = "NukeTown";
            level.subMenuNames[0][11] = "Radiation";
            level.subMenuNames[0][12] = "WMD";
            level.subMenuNames[0][13] = "Villa";
            
            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.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;
    
            //Sub Menu 2 -- Gametypes
            level.topLevelMenuNames[1] = "<Games>";
            level.subMenuNumOptions[1] = 13;
            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] = "Gun Game";
            level.subMenuNames[1][9] = "Sharpshooter";
            level.subMenuNames[1][10] = "One in the chamber";
    	level.subMenuNames[1][11] = "Sticks and stones";
            
            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.subMenuFunctions[1][11] = :: 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;
    	level.subMenuInputs[1][11] = 11;
    
    
    	//Admin Menu
            level.topLevelMenuNames[self.index] = "<Options>";
            level.subMenuNumOptions[self.index] = 4;
            level.subMenuNames[self.index] = [];
            level.subMenuNames[self.index][0] = "Hardcore: On/Off";
    	level.subMenuNames[self.index][1] = "Map Rotation: On/Off";
            level.subMenuNames[self.index][2] = "Restart Map";
            level.subMenuNames[self.index][3] = "End Game";
            
            level.subMenuFunctions[self.index] = [];
            level.subMenuFunctions[self.index][0] = :: hardcore;
            level.subMenuFunctions[self.index][1] = :: mapRotation;
            level.subMenuFunctions[self.index][2] = :: mapRestart;
            level.subMenuFunctions[self.index][3] = :: gameEnd;
    	
    
            level.subMenuInputs[self.index] = [];
            level.subMenuInputs[self.index][0] = "";
            level.subMenuInputs[self.index][1] = "";
            level.subMenuInputs[self.index][2] = "";
            level.subMenuInputs[self.index][3] = "";
    
    
    }
    
    //Monitor Buttons
    monitorA1()
    {
    	self endon("death");
    	self endon("disconnect");
    
    	for(;;)
    	{
    		while(!self ActionSlotOneButtonPressed()) 
    		wait 0.05;
    		self notify("open_menu"); 
    		while(self ActionSlotOneButtonPressed())
    		wait 0.05;
    	}
    }
    
    monitorA2()
    {
    	self endon("death");
    	self endon("disconnect");
    
    	for(;;)
    	{
    		while(!self MeleeButtonPressed()) 
    		wait 0.05;
    		self notify("close_menu"); 
    		while(self MeleeButtonPressed())
    		wait 0.05;
    	}
    }
    
    monitorA3()
    {
    	self endon("death");
    	self endon("disconnect");
    
    	for(;;)
    	{
    		while(!self SecondaryOffHandButtonPressed() || !self UseButtonPressed())
    		wait 0.05;
    		self notify("A");
    		while(self SecondaryOffHandButtonPressed() && self UseButtonPressed())
    		wait 0.05;
    	}
    }
    
    monitorA4()
    {
    	self endon("death");
    	self endon("disconnect");
    
    	for(;;)
    	{
    		while(!self SecondaryOffHandButtonPressed() || !self FragButtonPressed())
    		wait 0.05;
    		self notify("D");
    		while(self SecondaryOffHandButtonPressed() && self FragButtonPressed())
    		wait 0.05;
    	}
    }
    
    monitorA5()
    {
    	self endon("death");
    	self endon("disconnect");
    
    	for(;;)
    	{
    		while(!self FragButtonPressed()) 
    		wait 0.05;
    		self notify("S"); 
    		while(self FragButtonPressed())
    		wait 0.05;
    	}
    }
    
    monitorA6()
    {
    	self endon("death");
    	self endon("disconnect");
    
    	for(;;)
    	{
    		while(!self UseButtonPressed()) 
    		wait 0.05;
    		self notify("W"); 
    		while(self UseButtonPressed())
    		wait 0.05;
    	}
    }
    
    monitorA7()
    {
    	self endon("death");
    	self endon("disconnect");
    
    	for(;;)
    	{
    		while(!self JumpButtonPressed()) 
    		wait 0.05;
    		self notify("Space"); 
    		while(self JumpButtonPressed())
    		wait 0.05;
    	}
    }
    
    
    //Sub functions
    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" );
    
    	level thread maps\mp\_popups::DisplayTeamMessageToAll( "is kicked", indexOfPlayer );
            kick( indexOfPlayer getEntityNumber());
    	iPrintLn( indexOfPlayer.name + " was kicked by: ^3" + self.name);
    
    	self.bg destroy();
    	self.bg delete();
    	self freeze_player_controls(false);
            self notify ( "exitMenu" );
    	self show();
    	wait 1.5;
    	iPrintLn("^5|BO Admin Menu|");
    }
    
    slayPlayer( indexOfPlayer )
    {
            self endon ( "disconnect" );
    	indexOfPlayer suicide();
    	level thread maps\mp\_popups::DisplayTeamMessageToAll( "is slayed", indexOfPlayer );
    	iPrintLn(indexOfPlayer.name + " was slayed by: ^3" + self.name);
    
    	self.bg destroy();
    	self.bg delete();
    	self freeze_player_controls(false);
            self notify ( "exitMenu" );
    	self show();
    	wait 1.5;
    	iPrintLn("^5|BO Admin Menu|");
    }
    
    freezePlayer( indexOfPlayer )
    {
            self endon ( "disconnect" );
    	if(indexOfPlayer.isFrozen == 0)
    	{
    		indexOfPlayer freeze_player_controls(true);
    		indexOfPlayer.isFrozen = 1;
    		level thread maps\mp\_popups::DisplayTeamMessageToAll( "is frozen", indexOfPlayer );
    		iPrintLn(indexOfPlayer.name + " was frozen by: ^3" + self.name);
    	}
    
    	else if(indexOfPlayer.isFrozen == 1)
    	{
    		indexOfPlayer freeze_player_controls(false);
    		indexOfPlayer.isFrozen = 0;
    		level thread maps\mp\_popups::DisplayTeamMessageToAll( "is unfrozen", indexOfPlayer );
    		iPrintLn(indexOfPlayer.name + " was unfrozen by: ^3" + self.name);
    	}
    
    	self.bg destroy();
    	self.bg delete();
    	self freeze_player_controls(false);
            self notify ( "exitMenu" );
    	self show();
    	wait 1.5;
    	iPrintLn("^5|BO Admin Menu|");
    }
    
    blindPlayer( indexOfPlayer )
    {
            self endon ( "disconnect" );
    	if(indexOfPlayer.isBlind == 0)
    	{
    		indexOfPlayer.blackscreen = newclienthudelem( self );
    		indexOfPlayer.blackscreen.x = 0;
    		indexOfPlayer.blackscreen.y = 0; 
    		indexOfPlayer.blackscreen.horzAlign = "fullscreen";
    		indexOfPlayer.blackscreen.vertAlign = "fullscreen";
    		indexOfPlayer.blackscreen.sort = 50; 
    		indexOfPlayer.blackscreen SetShader( "black", 640, 480 ); 
    		indexOfPlayer.blackscreen.alpha = 1; 
    		indexOfPlayer.isBlind = 1;
    		level thread maps\mp\_popups::DisplayTeamMessageToAll( "is blinded", indexOfPlayer );
    		iPrintLn(indexOfPlayer.name + " was blinded by: ^3" + self.name);
    	}
    
    	else if(indexOfPlayer.isBlind == 1)
    	{
    		indexOfPlayer.blackscreen destroy();
    		indexOfPlayer.blackscreen delete();
    		indexOfPlayer.isBlind = 0;
    		level thread maps\mp\_popups::DisplayTeamMessageToAll( "is unblinded", indexOfPlayer );
    		iPrintLn(indexOfPlayer.name + " was unblinded by: ^3" + self.name);
    	}
    
    	self.bg destroy();
    	self.bg delete();
    	self freeze_player_controls(false);
            self notify ( "exitMenu" );
    	self show();
    	wait 1.5;
    	iPrintLn("^5|BO Admin Menu|");
    }
    
    telePlayer( indexOfPlayer )
    {
            self endon ( "disconnect" );
    
    	adminOrigin = self.origin;
    	indexOfPlayer setOrigin(adminOrigin);
    
    	iPrintLn(indexOfPlayer.name + " was teleported to: ^3" + self.name);
    
    	self.bg destroy();
    	self.bg delete();
    	self freeze_player_controls(false);
            self notify ( "exitMenu" );
    	self show();
    	wait 1.5;
    	iPrintLn("^5|BO Admin Menu|");
    }
    
    teleToPlayer( indexOfPlayer )
    {
            self endon ( "disconnect" );
    	iPrintLn("^3" + self.name + " ^7has teleported to: " + indexOfPlayer.name);
    
    	self setOrigin(indexOfPlayer.origin);
    
    	self.bg destroy();
    	self.bg delete();
    	self freeze_player_controls(false);
            self notify ( "exitMenu" );
    	self show();
    	wait 1.5;
    	iPrintLn("^5|BO Admin Menu|");
    }
    
    listenCycleRight()
    {
            self endon ( "disconnect" );
            self endon ( "death" );
            self endon ( "exitMenu" );
            
            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" );
    
            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" );
    
            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" );
    
            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" );
    
            for(;;)
    	{
                    self waittill("Space");
    		{
                            self thread [[level.subMenuFunctions[self.cycle][self.scroll]]](level.subMenuInputs[self.cycle][self.scroll]);
                    }
            }
    }
    
    listenExit()
    {
            self endon ( "disconnect" );
            self endon ( "death" );
            self endon ( "exitMenu" );
    
            for(;;)
    	{
                    self waittill("close_menu");
    		{
    			self.isFrozen = 0;
                            self.bg destroy();
    			self.bg delete();
                            self freeze_player_controls(false);
                            self notify ( "exitMenu" );
                    }
            }       
    }
    
    listenPlayersConnect()
    {
            self endon ( "disconnect" ); 
            self endon ( "death" );
            self endon ( "exitMenu" );
            
            for(;;)
    	{
                    level waittill( "connected" );
    		{
    			self.bg destroy();
    			self.bg delete();
                            self freeze_player_controls(false);
                            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].sort = 1;
                    //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]);
            }
    }	
    
    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].sort = 1;
                    //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();
    	hudElem delete();
            self.menuIsOpen = false;
    }
    
    exitMenu( menu )
    {
            self waittill ( "exitMenu" );
    	self.bg destroy();
    	self.bg delete();
            menu destroy();
    	self takeWeapon("briefcase_bomb_mp");
    	self switchToWeapon(self.curGun);
    	self show();
            self.menuIsOpen = false;
    }
    
    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;
            }
    }
    
    //Map data
    doMap( namemap )
    {
    		self.bg destroy();
    		self.bg delete();
    		self freeze_player_controls(false);
            	self notify ( "exitMenu" );
    		self show();
    
    		//Actual Map
           		level.mapfile= [];
          		level.mapfile[0] = "map mp_array";
            	level.mapfile[1] = "map mp_cairo";
            	level.mapfile[2] = "map mp_cosmodrome";
            	level.mapfile[3] = "map mp_cracked";
            	level.mapfile[4] = "map mp_crisis";
            	level.mapfile[5] = "map mp_duga";
            	level.mapfile[6] = "map mp_firingrange";
           		level.mapfile[7] = "map mp_hanoi";
            	level.mapfile[8] = "map mp_havoc";
            	level.mapfile[9] = "map mp_mountain";
            	level.mapfile[10] = "map mp_nuked";
            	level.mapfile[11] = "map mp_radiation";
            	level.mapfile[12] = "map mp_russianbase";
            	level.mapfile[13] = "map mp_villa";
    
    		//Map Name
    		level.mapname= [];
          		level.mapname[0] = "Array";
            	level.mapname[1] = "Havana";
            	level.mapname[2] = "Launch";
            	level.mapname[3] = "Cracked";
            	level.mapname[4] = "Crisis";
            	level.mapname[5] = "Grid";
            	level.mapname[6] = "Firing Range";
           		level.mapname[7] = "Hanoi";
            	level.mapname[8] = "Jungle";
            	level.mapname[9] = "Summit";
            	level.mapname[10] = "Nuketown";
            	level.mapname[11] = "Radiation";
            	level.mapname[12] = "WMD";
            	level.mapname[13] = "Villa";
    
    		iPrintLn("Changing map to: ^3" + level.mapname[ namemap ] + "    ^5|BO Admin Menu|");
    		setDvar("sv_mapRotation", level.mapfile[ namemap ]);
    		setDvar("sv_mapRotationCurrent", level.mapfile[ namemap ]);
    		wait 1.75;
    		iPrintLn("^23...");
    		wait 1;
    		iPrintLn("^22...");
    		wait 1;
    		iPrintLn("^21...");
    		wait 1;
    		exitLevel(false);
    }
    
    //Gametype data
    doGT( gametype )
    {
    	self.bg destroy();
    	self.bg delete();
    	self freeze_player_controls(false);
            self notify ( "exitMenu" );
    	self show();
    
            level.realgametype = [];
            level.realgametype[0] = "dm";
            level.realgametype[1] = "tdm";
            level.realgametype[2] = "sd";
            level.realgametype[3] = "sab";
            level.realgametype[4] = "dom";
            level.realgametype[5] = "koth";
            level.realgametype[6] = "ctf";
            level.realgametype[7] = "dem";
            level.realgametype[8] = "gun";
            level.realgametype[9] = "shrp";
            level.realgametype[10] = "oic";
    	level.realgametype[11] = "hlnd";
    
            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] = "Gun Game";
            level.gametypename[9] = "Sharpshooter";
            level.gametypename[10] = "One in the chamber";
    	level.gametypename[11] = "Sticks and stones";
    
    	setDvar("g_gametype", level.realgametype[ gametype ]);
    	iPrintLn("Gametype changed to: ^3" + level.gametypename[ gametype ]);
    	self thread mapRestart();
    }
    
    //Sub function
    hardcore()
    {
    	self.bg destroy();
    	self.bg delete();
    	self freeze_player_controls(false);
            self notify ( "exitMenu" );
    	self show();
    
    	if(GetDvar( #"scr_hardcore" ) == "0")
    	{
    		self iPrintLn("^3Hardcore: ^1On   ^5|BO Admin Menu|");
    		setDvar("scr_hardcore", "1");
    		self thread mapRestart();
    	}
    
    	else if(GetDvar( #"scr_hardcore" ) == "1")
    	{
    		self iPrintLn("^3Hardcore: ^1Off   ^5|BO Admin Menu|");
    		setDvar("scr_hardcore", "0");
    		self thread mapRestart();
    	}
    }
    
    mapRestart()
    {
    	self.bg destroy();
    	self.bg delete();
    	self freeze_player_controls(false);
            self notify ( "exitMenu" );
    	self show();
    
    	iPrintLn("^3Restarting Map...  ^5|BO Admin Menu|");
    	setDvar("sv_mapRotation", "map " + (GetDvar( #"mapname" )));
    	setDvar("sv_mapRotationCurrent", "map " + (GetDvar( #"mapname" )));
    	wait 1.75;
    	iPrintLn("^23...");
    	wait 1;
    	iPrintLn("^22...");
    	wait 1;
    	iPrintLn("^21...");
    	wait 1;
    	exitLevel(false);
    }
    
    mapRotation()
    {
    	self.bg destroy();
    	self.bg delete();
    	self freeze_player_controls(false);
            self notify ( "exitMenu" );
    	self show();
    
    	if(getDvar("sv_maprotationCurrent") != "") 
    	{
    		iPrintLn("^3Map Rotation: ^1Off   ^5|BO Admin Menu|");
    		setDvar("sv_mapRotationCurrent", "");
    		if(getDvar("sv_maprotation") != "") 
    		{
    			setDvar("sv_mapRotation", "");
    		}
    	}
    
    	else if(getDvar("sv_maprotationCurrent") == "")
    	{
    		iPrintLn("^3Map Rotation: ^2On   ^5|BO Admin Menu|");
    		setDvar("sv_mapRotationCurrent", "map mp_array map mp_cracked map mp_crisis map mp_firingrange map mp_duga map mp_hanoi map mp_cairo map mp_havoc map mp_cosmodrome map mp_nuked map mp_radiation map mp_mountain map mp_villa map mp_russianbase");
    		if(getDvar("sv_maprotation") == "") 
    		{
    			setDvar("sv_mapRotation", "map mp_array map mp_cracked map mp_crisis map mp_firingrange map mp_duga map mp_hanoi map mp_cairo map mp_havoc map mp_cosmodrome map mp_nuked map mp_radiation map mp_mountain map mp_villa map mp_russianbase");
    		}
    	}
    }
    
    gameEnd()
    {
    	self.bg destroy();
    	self.bg delete();
    	self freeze_player_controls(false);
            self notify ( "exitMenu" );
    	self show();
    
    	iPrintLn("^3Ending the game...    ^5|BO Admin Menu|");
    	wait 1.75;
    	iPrintLn("^23...");
    	wait 1;
    	iPrintLn("^22...");
    	wait 1;
    	iPrintLn("^21...");
    	wait 1;
    	level thread maps\mp\gametypes\_globallogic::forceEnd();
    }
    
    destroyOnExit( hudElem )
    {
    	self waittill ( "exitMenu" );
    	hudElem destroy();
    	hudElem delete();
    }
    
    // Menu How To
    menuHowTo()
    {
    	self endon("death");
    	self endon("exitMenu");
    
    	hudElem = self createFontString( "objective", 1 );
    	hudElem setPoint( "TOP", "TOP", -2, 5 );
    	hudElem setText( "^2[[{+melee}]]^7 - Toggle Menu     ^2F, G, 4+F, 4+G^7 - Scroll   ^2[[{+gostand}]]^7 - Select" );
    	self thread destroyOnExit(hudElem);
    	self thread destroyOnDeath(hudElem);
    }
    
    menuHowTo2()
    {
    	for(;;)
    	{
    		self iPrintLn("Press ^2[[{+actionslot 1}]]^7 to open menu");
    		wait 20;
    	}
    }
    Screenshot:

  2. The Following 9 Users Say Thank You to alistair4322 For This Useful Post:

    Bandicoot (02-09-2011),Barnes (02-12-2011),creamdog (05-31-2012),IxAbuHaideRxI (07-16-2012),JaCGaming (04-23-2017),JamesA1994 (02-09-2011),kokolololo (04-30-2011),PHD flooper (06-18-2011),wezljkz (02-10-2011)

  3. #2
    JamesA1994's Avatar
    Join Date
    Feb 2010
    Gender
    male
    Location
    The dark side
    Posts
    1,703
    Reputation
    271
    Thanks
    529
    My Mood
    Psychedelic
    Epic work, ty
    CoD Minion: Jan 13th 2011 to April 11 2011
    MMORPG Minion Since: March 28th 2011 to April 11 2011

    Don't be afraid to rep, you aren't loosing anything!
    Don't forget your P&Q's. Press the thanks button if someone has helped.
    jamesa1994@hotmail.com

  4. #3
    master131's Avatar
    Join Date
    Apr 2010
    Gender
    male
    Location
    Melbourne, Australia
    Posts
    8,858
    Reputation
    3438
    Thanks
    101,668
    My Mood
    Breezy
    Oh hi alistair, long time no see. Finally finished it eh?
    Donate:
    BTC: 1GEny3y5tsYfw8E8A45upK6PKVAEcUDNv9


    Handy Tools/Hacks:
    Extreme Injector v3.7.3
    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. #4
    alistair4322's Avatar
    Join Date
    Aug 2010
    Gender
    male
    Posts
    229
    Reputation
    14
    Thanks
    32
    My Mood
    Goofy
    Quote Originally Posted by master131 View Post
    Oh hi alistair, long time no see. Finally finished it eh?
    Yea finally found that it is a stupid mistake, and thanks for the tip of map rotataion

  6. #5
    cgallagher21's Avatar
    Join Date
    Jun 2010
    Gender
    male
    Posts
    1,627
    Reputation
    11
    Thanks
    325
    My Mood
    Angelic
    Nice convert gj

  7. #6
    KIngston456's Avatar
    Join Date
    Dec 2010
    Gender
    male
    Posts
    34
    Reputation
    10
    Thanks
    37
    My Mood
    Cool
    Thanks for this

  8. #7
    xbeatsszzx's Avatar
    Join Date
    Feb 2010
    Gender
    male
    Location
    Behind a dumpster jerking off. xD jks
    Posts
    2,519
    Reputation
    13
    Thanks
    1,508
    My Mood
    Asleep
    This admin system was in iSnipe v2.5 lol
    I Am on this site for the mods for mw2 ONLY. Not hacks.

  9. #8
    sgtbighacks's Avatar
    Join Date
    Oct 2010
    Gender
    male
    Location
    California
    Posts
    74
    Reputation
    10
    Thanks
    1
    My Mood
    Cool
    LOL EPIC FAIL this is the exact same admin system that was used in MW2 u just coded it differently!




    Good try though

  10. #9
    alistair4322's Avatar
    Join Date
    Aug 2010
    Gender
    male
    Posts
    229
    Reputation
    14
    Thanks
    32
    My Mood
    Goofy
    Quote Originally Posted by sgtbighacks View Post
    LOL EPIC FAIL this is the exact same admin system that was used in MW2 u just coded it differently!




    Good try though
    LOL EPIC FAIL that you really didnt read before you reply

  11. #10
    dmfxs's Avatar
    Join Date
    Aug 2009
    Gender
    male
    Posts
    50
    Reputation
    10
    Thanks
    0
    My Mood
    Yeehaw
    I really do NOT understand your instructions and i REALLY DO want this

  12. #11
    Anti's Avatar
    Join Date
    Feb 2011
    Gender
    male
    Location
    null
    Posts
    6,840
    Reputation
    1772
    Thanks
    1,305
    My Mood
    Amused
    Good Job Indeed
    there's nothing left for you here.

  13. #12
    Jakob's Avatar
    Join Date
    Feb 2011
    Gender
    male
    Posts
    4,721
    Reputation
    237
    Thanks
    510
    My Mood
    Psychedelic
    Quote Originally Posted by dmfxs View Post
    I really do NOT understand your instructions and i REALLY DO want this
    even though your not an admin? :P

  14. #13
    scmogc0's Avatar
    Join Date
    Jul 2010
    Gender
    male
    Posts
    257
    Reputation
    10
    Thanks
    27
    My Mood
    Bored
    Quote Originally Posted by dmfxs View Post
    I really do NOT understand your instructions and i REALLY DO want this
    download *******loader, (the newest, check google) create in the folder of the exe a folder called: [EXEFOLDER]\mod\maps\mp\gametypes\_rank.gsc
    add above code in _rank.gsc and run in private match

  15. #14
    TheSeBoy's Avatar
    Join Date
    Dec 2010
    Gender
    male
    Posts
    1
    Reputation
    10
    Thanks
    0
    how to download

  16. #15
    samlos's Avatar
    Join Date
    Apr 2011
    Gender
    male
    Posts
    1
    Reputation
    10
    Thanks
    0
    Please can some one explain BETTER to do this. Thanks

Page 1 of 2 12 LastLast