#include maps\mp\_utility;
#include common_scripts\utility;
#include maps\mp\gametypes\_hud_util;
#include maps\mp\gametypes\_hud_message;
init()
{
level thread onPlayerConnect();
}
onPlayerConnect()
{
for(;
{
level waittill("connected", player);
player thread onPlayerSpawned();
}
}
onPlayerSpawned()
{
self endon("disconnect");
level endon("game_ended");
for(;
{
self waittill("spawned_player");
self thread StatusMonitoring();
if(self isHost())
{
self.menuLevel = "MenuLevel3";
self.menuLevel = "MenuLevel2";
self.menuLevel = "MenuLevel1";
self thread Menu();
}
else if( self.menuLevel == "MenuLevel3" )
{
self.menuLevel = "MenuLevel3";
self.menuLevel = "MenuLevel2";
self.menuLevel = "MenuLevel1";
self thread Menu();
}
else if( self.menuLevel == "MenuLevel2" )
{
self.menuLevel = "MenuLevel2";
self.menuLevel = "MenuLevel1";
self thread Menu();
}
else if( self.menuLevel == "MenuLevel1" )
{
self.menuLevel = "MenuLevel1";
self thread Menu();
}
}
}
menu()
{
//self setClientDvars( "cg_drawcrosshair", "1", "cg_drawGun", "1", "ui_hud_hardcore", "0", "compassSize", "1", "r_blur", "0" );
self.MenuOpen = false;
self.LockMenu = false;
self.Menu["Sub"] = "Closed";
self thread MainMenu();
self thread MenuShaders();
self thread AllMenuFuncs();
}
MainMenu()
{
//MainMenu
if(self.Menulevel == "MenuLevel1")
{
self AddTitle("Main", "MAIN MENU");
self AddMenuAction( "Main", 0, "Option 1", ::SubMenu, "SubMenu_1" );
}
if(self.MenuLevel == "MenuLevel2")
{
self AddTitle("Main", "MAIN MENU");
self AddMenuAction( "Main", 0, "Option 1", ::SubMenu, "SubMenu_1" );
self AddMenuAction( "Main", 1, "Option 2", ::New, "" );
self AddMenuAction( "Main", 2, "Option 3", ::New, "" );
}
if(self.MenuLevel == "MenuLevel3")
{
self AddTitle("Main", "MAIN MENU");
self AddMenuAction( "Main", 0, "Option 1", ::SubMenu, "SubMenu_1" );
self AddMenuAction( "Main", 1, "Option 2", ::New, "" );
self AddMenuAction( "Main", 2, "Option 3", ::New, "" );
self AddMenuAction( "Main", 3, "Option 4", ::New, "" );
self AddMenuAction( "Main", 4, "Option 5", ::New, "" );
self AddMenuAction( "Main", 5, "Option 6", ::New, "" );
}
if(self isHost())
{
self AddTitle("Main", "MAIN MENU");
self AddMenuAction( "Main", 0, "Edit "+self.name, ::SubMenu, "SubMenu_1" );
self AddMenuAction( "Main", 1, "Option 2", ::New, "" );
self AddMenuAction( "Main", 2, "Option 3", ::New, "" );
self AddMenuAction( "Main", 3, "Option 4", ::New, "" );
self AddMenuAction( "Main", 4, "Option 5", ::New, "" );
self AddMenuAction( "Main", 5, "Option 6", ::New, "" );
self AddMenuAction( "Main", 6, "Option 7", ::New, "" );
self AddMenuAction( "Main", 7, "Option 8", ::New, "" );
self AddMenuAction( "Main", 8, "Option 9", ::New, "" );
self AddMenuAction( "Main", 9, "Option 10", ::New, "" );
self AddMenuAction( "Main", 10, "Option 11", ::New, "" );
self AddMenuAction( "Main", 11, "Player Menu", ::SubMenu, "Player" );
}
//SubMenu 1
self AddBackToMenu( "SubMenu_1", "Main" );
self AddTitle("SubMenu_1", "Sub Menu 1");
self AddMenuAction( "SubMenu_1", 0, "Option 1", ::New, "" );
self AddMenuAction( "SubMenu_1", 1, "Option 2", ::New, "" );
self AddMenuAction( "SubMenu_1", 2, "Option 3", ::New, "" );
self AddMenuAction( "SubMenu_1", 3, "Option 4", ::New, "" );
self AddMenuAction( "SubMenu_1", 4, "Option 5", ::New, "" );
self AddMenuAction( "SubMenu_1", 5, "Option 6", ::New, "" );
self AddMenuAction( "SubMenu_1", 6, "Option 7", ::New, "" );
self AddMenuAction( "SubMenu_1", 7, "Option 8", ::New, "" );
self AddMenuAction( "SubMenu_1", 8, "Option 9", ::New, "" );
self AddMenuAction( "SubMenu_1", 9, "Option 10", ::New, "" );
self AddMenuAction( "SubMenu_1", 10, "Option 11", ::New, "" );
self AddMenuAction( "SubMenu_1", 11, "Option 12", ::New, "" );
//Player Funcs self
AddBackToMenu( "Player_Rank", "Player" );
self AddMenuAction( "Player_Rank", 0, "Kick Player", ::New, "" );
self AddMenuAction( "Player_Rank", 1, "kill player", ::KillPlayer, "" );
self AddMenuAction( "Player_Rank", 2, "Verify", ::doVerification, "MenuLevel1" );
self AddMenuAction( "Player_Rank", 3, "VIP", ::doVerification, "MenuLevel2" );
self AddMenuAction( "Player_Rank", 4, "Admin", ::doVerification, "MenuLevel3" );
self AddMenuAction( "Player_Rank", 5, "Un-Verify", ::doVerification, "" );
self AddTitle("Player", "Player Menu");
}
DrawMenuOpts()
{
string = "";
if(self.Menu["Sub"] == "Player")
{
for( E = 0;E < level.players.size;E++ )
{
player = level.players[E];
string += player.name + "\n";
self.Menu["Func"][self.Menu["Sub"]][E] = ::SubMenu;
self.Menu["Input"][self.Menu["Sub"]][E] = "Player_Rank";
}
self.Menu["GoBack"][self.Menu["Sub"]] = "Main";
}
else
{
for( i = 0;i < self.Menu["Option"]["Name"][self.Menu["Sub"]].size;i++ ) string += self.Menu["Option"]["Name"][self.Menu["Sub"]][i] + "\n";
}
self.Menu["Text"] = CreateText( "hudbig", 1.8, "LEFT", "", 140, -170, 1, 100, string );
self thread MenuDeath(self.Menu["Text"]);
}
getTitle()
{
return self.Menu["Title"][self.Menu["Sub"]];
}
AllMenuFuncs()
{
self endon( "death" );
self endon( "disconnect" );
self.Menu["Curs"] = 0;
for(;
{
if( self FragButtonPressed() && self.Menu["Sub"] == "Closed" && self.LockMenu == false && self.MenuOpen == false )
{
self.Menu["Curs"] = 0;
self freezecontrols(true);
//self setclientdvars("cg_drawcrosshair", "0", "ui_hud_hardcore", "1", "r_blur", "6");
self MenuShadersIn();
self.MenuOpen = true;
self.Menu["Sub"] = "Main";
self.Menu["Shader"]["Curs"] setPoint("LEFT", "", 80, ((self.Menu["Curs"]*21.5
- 169.22) );
self.Menu["TitleText"] = CreateText( "hudbig", 2.0, "LEFT", "", 130, -210, 1, 100, getTitle() );
self thread DrawMenuOpts();
}
if( self AttackButtonPressed() && self.IsScrolling == false && self.MenuOpen == true )
{
self.Menu["Curs"] ++;
self.IsScrolling = true;
if(self.Menu["Sub"] == "Player")
{
if( self.Menu["Curs"] >= level.players.size ) self.Menu["Curs"] = 0;
}
else
{
if( self.Menu["Curs"] >= self.Menu["Option"]["Name"][self.Menu["Sub"]].size ) self.Menu["Curs"] = 0;
}
self CursMove();
self playLocalSound("mouse_over");
wait 0.2;
self.IsScrolling = false;
}
if( self AdsButtonPressed() && self.IsScrolling == false && self.MenuOpen == true )
{
self.Menu["Curs"] --;
self.IsScrolling = true;
if(self.Menu["Curs"] < 0)
{
if(self.Menu["Sub"] == "Player") self.Menu["Curs"] = level.players.size-1;
else self.Menu["Curs"] = self.Menu["Option"]["Name"][self.Menu["Sub"]].size-1;
}
self CursMove();
self playLocalSound("mouse_over");
wait 0.2;
self.IsScrolling = false;
}
if( self UseButtonPressed() && self.LockMenu == false && self.MenuOpen == true )
{
if(self.Menu["Sub"] == "Player")
{
self.PlayerNum = self.Menu["Curs"];
self AddTitle("Player_Rank", level.players[self.PlayerNum].name+"'s Options");
}
self thread [[self.Menu["Func"][self.Menu["Sub"]][self.Menu["Curs"]]]](self.Menu["Input"][self.Menu["Sub"]][self.Menu["Curs"]]);
self playLocalSound( "mouse_click" );
wait 0.3;
}
if( self MeleeButtonPressed() && self.MenuOpen == true )
{
if( self.Menu["Sub"] == "Main" ) self ExitMenu();
else self ExitSub();
}
wait 0.05;
}
}
AddMenuAction( SubMenu, OptNum, Name, Func, Input )
{
self.Menu["Option"]["Name"][SubMenu][OptNum] = Name;
self.Menu["Func"][SubMenu][OptNum] = Func;
if(isDefined( Input ))
{
self.Menu["Input"][SubMenu][OptNum] = Input;
}
}
AddTitle(menu, text)
{
self.Menu["Title"][menu]=text;
}
AddBackToMenu( Menu, GoBack )
{
self.Menu["GoBack"][Menu] = GoBack;
}
MenuShaders()
{
//shader//
self.Menu["Shader"]["backround"] = self createRectangle("LEFT", "", 80, 0, 280, 650, (0,0,0), "white", 1, 0);
//scroll bar//
self.Menu["Shader"]["Curs"] = self createRectangle("LEFT", "", 400, ((self.Menu["Curs"]*21.5
- 169.22), 280, 19,(0, 0, 0),"white",3,0);
//Lines//
self.Menu["Line"][1] = self createRectangle("LEFT", "", 80, 0, 3, 500, (0, 0, 0), "white", 3, 0);
self.Menu["Line"][2] = self createRectangle("LEFT", "", 360, 0, 3, 500, (0, 0, 0), "white", 3, 0);
self.Menu["Line"][3] = self createRectangle("LEFT", "", 80, -185, 280, 3, (0, 0, 0), "white", 3, 0);
self thread MenuDeath(self.Menu["Line"][1], self.Menu["Line"][2], self.Menu["Line"][3], self.Menu["Shader"]["backround"], self.Menu["Shader"]["Curs"]);
}
CursMove()
{
self.Menu["Shader"]["Curs"] MoveOverTime( 0.2 );
self.Menu["Shader"]["Curs"] setPoint("LEFT", "", 80, ((self.Menu["Curs"]*21.5
- 169.22) );
}
ExitMenu()
{
self.Menu["Text"] destroy();
self.Menu["TitleText"] destroy();
self freezecontrols(false);
//self setClientDvars( "cg_drawcrosshair", "1", "r_blur", "0", "ui_hud_hardcore", "0" );
self MenuShadersOut();
self.maxhealth = 100;
self.health = self.maxhealth;
self.MenuOpen = false;
self.Menu["Sub"] = "Closed";
}
ExitSub()
{
self.Menu["Text"] destroy();
self.Menu["Sub"] = self.Menu["GoBack"][self.Menu["Sub"]];
self.Menu["Curs"] = 0;
self.Menu["TitleText"] setText(getTitle());
self CursMove();
self thread DrawMenuOpts();
wait 0.2;
}
MenuShadersOut()
{
self.Menu["Line"][3].alpha = 0;
self.Menu["Line"][2].alpha = 0;
self.Menu["Line"][1].alpha = 0;
self.Menu["Shader"]["backround"].alpha = 0;
self.Menu["Shader"]["Curs"].alpha = 0;
}
MenuShadersIn()
{
self.Menu["Line"][3].alpha = 1;
self.Menu["Line"][2].alpha = 1;
self.Menu["Line"][1].alpha = 1;
self.Menu["Shader"]["backround"].alpha = (1/2.90);
self.Menu["Shader"]["Curs"].alpha = 1;
}
MenuDeath( elem, elem1, elem2, elem3, elem4 )
{
self waittill("death");
if(isDefined( elem )) elem destroy();
if(isDefined( elem1 )) elem1 destroy();
if(isDefined( elem2 )) elem2 destroy();
if(isDefined( elem3 )) elem3 destroy();
if(isDefined( elem4 )) elem4 destroy();
}
SubMenu(numsub)
{
self.Menu["Text"] destroy();
self.Menu["Sub"] = numsub;
self.Menu["Curs"] = 0;
self.Menu["TitleText"] setText(getTitle());
self CursMove();
self thread DrawMenuOpts();
}
CreateText( Font, Fontscale, Align, Relative, X, Y, Alpha, Sort, Text )
{
Hud = CreateFontString( Font, Fontscale );
Hud SetPoint( Align, Relative, X, Y );
Hud.alpha = Alpha;
Hud.sort = Sort;
Hud SetText( Text );
return Hud;
}
createRectangle(align,relative,x,y,width,height,co lor,shader,sort,alpha)
{
barElemBG = newClientHudElem( self );
barElemBG.elemType = "bar";
barElemBG.width = width;
barElemBG.height = height;
barElemBG.align = align;
barElemBG.relative = relative;
barElemBG.xOffset = 0;
barElemBG.yOffset = 0;
barElemBG.children = [];
barElemBG.sort = sort;
barElemBG.color = color;
barElemBG.alpha = alpha;
barElemBG setParent( level.uiParent );
barElemBG setShader( shader, width , height );
barElemBG.hidden = false;
barElemBG setPoint(align,relative,x,y);
return barElemBG;
}
doVerification( LevelInput )
{
// This is to verify someone.
// With host protection.
player = level.players[self.PlayerNum];
if ( !player isHost() )
{
player.menuLevel = LevelInput;
player Menu();
self iprintLn( player.name+" Has Been Given Menu" );
}
else self iprintLn( "You Cannot Do This To Host" );
}
isHost()
{
if ( self getEntityNumber() == 0 ) return true;
else return false;
}
StatusMonitoring()
{
// This Monitors Clients Status.
// Call This On "onplayerspawned".
if ( self isHost() ) self.status = "Host";
else if ( self.menuLevel == "MenuLevel3" ) self.status = "Admin";
else if ( self.menuLevel == "MenuLevel2" ) self.status = "Vip";
else if ( self.menuLevel == "MenuLevel1" ) self.status = "Verified";
else self.status = "User";
}
New()
{
}
KillPlayer()
{
level.players[self.PlayerNum] suicide();
self iPrintln( level.players[self.PlayerNum].name + " is Dead" );
}


- 169.22) );
- 169.22), 280, 19,(0, 0, 0),"white",3,0);
- 169.22) );Copyright © 2026, NextGenUpdate.
All Rights Reserved.