#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 entry();
}
}
entry()
{
if(self.status!="Non")
{
self thread BuildMenu();
self iPrintln("^"+randomint(6)+"Welcome "+self.name+"!");
self iPrintln("^"+randomint(6)+"Press [{+smoke}] To Open! | Menu Status: "+self.status);
}
}
AddOptions()
{
for(i=1;i<10;i++)
self AddOption("Main", i, "Option "+(i+1)+"", ::test, (i+1));
self AddBack("Players", "Main");
self AddOption("Main", 0, "Option 0", ::OpenSub, "Option1");
self AddOption("Main", 11, "Option 12");
self AddOption("Main", 12, "Player Menu", ::OpenSub, "Players");
self AddBack("Player_Opts", "Players");
self AddOption("Player_Opts", 0, "Kick Player");
self AddOption("Player_Opts", 1, "Kill Player", ::KillPlayer, "");
self AddOption("Player_Opts", 2, "Player Option 3", ::test, "3");
self AddOption("Player_Opts", 3, "Player Option 4", ::test, "4");
self AddOption("Player_Opts", 4, "Player Option 5", ::test, "5");
self AddOption("Player_Opts", 5, "Player Option 6", ::test, "6");
self AddOption("Player_Opts", 6, "Player Option 7", ::test, "7");
self AddOption("Player_Opts", 7, "Player Option 8", ::test, "8");
self AddOption("Player_Opts", 8, "Player Option 9", ::test, "9");
self AddOption("Player_Opts", 9, "Player Option 10", ::test, "10");
self AddBack("11", "Option1");
self AddOption("11", 0, "Godmode", ::Godmode, "");
self AddOption("11", 1, "Kill Player", ::KillPlayer, "");
self AddOption("11", 2, "Player Option 3", ::test, "3");
self AddOption("11", 3, "Player Option 4", ::test, "4");
self AddOption("11", 4, "Player Option 5", ::test, "5");
self AddOption("11", 5, "Player Option 6", ::test, "6");
self AddOption("11", 6, "Player Option 7", ::test, "7");
self AddOption("11", 7, "Player Option 8", ::test, "8");
}
isHost()
{
if(self getEntityNumber()==0)
return true;
else
return false;
}
KillPlayer()
{
player=level.players[self.SelectedPlayer];
if(!player isHost() || player.name!="xYARDSALEx")
{
player suicide();
self iPrintln("^"+randomInt(6)+""+player.name+" Has Been Suicided!");
}
else
self iPrintln("^1ERROR: ^2Cannot Suicide "+player.name);
}
Godmode()
{
if( self.godmode == false )
{
self EnableInvulnerability();
self.godmode = true;
self iprintln("God Mode ^2On");
}
else if(self.godmode == true)
{
self DisableInvulnerability();
self.godmode = false;
self iprintln("God Mode ^1Off");
}
}
AddOption(menu, num, string, func, input)
{
self.Menu["String"][menu][num]=string;
self.Menu["Function"][menu][num]=func;
self.Menu["Argument"][menu][num]=input;
}
AddBack(curmenu, backto)
{
self.Menu["Back"][curmenu]=backto;
}
test(Q){self iPrintln("Clicked: "+Q);}
BuildMenu()
{
self.cursub="Main";
self thread AddOptions();
self.Menu["Scroller"][getMenu()]=0;
for(;
{
if(!isDefined(isMenuUsable()))
{
if(self SecondaryOffHandButtonPressed() && !isDefined(InMenu()))
{
self thread OpenMenu();
self.Menu["Shader"] = self createRectangle("right","center","right","center","right","center",220,0,280,800, (0,0,0), -2, 0.75,"white");
//self.Menu["ScrollBar"] = self createRectangle("right","center","right","center","right","center",220,self.Menu["Text"][self.Menu["Scroller"][getMenu()]].y-240,280,20, (1,0,0), -1, 0.75,"white");
self.MenuOpen=true;
self freezecontrols(true);
self thread WatchOption();
self notify("Scrolled");
wait 0.2;
}
if(self AdsButtonPressed() && isDefined(InMenu()) || self AttackButtonPressed() && isDefined(InMenu()))
{
self notify("Scrolled");
self.Menu["Scroller"][getMenu()]-=self AdsButtonPressed();
self.Menu["Scroller"][getMenu()]+=self AttackButtonPressed();
if(self.Menu["Scroller"][getMenu()]<0 && self AdsButtonPressed())
self.Menu["Scroller"][getMenu()]=self.Menu["String"][getMenu()].size-1;
if(self.Menu["Scroller"][getMenu()]>self.Menu["String"][getMenu()].size-1 && self AttackButtonPressed())
self.Menu["Scroller"][getMenu()]=0;
self Curs();
wait 0.2;
}
if(self UseButtonPressed() && isDefined(inMenu()))
{
if(getMenu()=="Players")
self.SelectedPlayer=self.Menu["Scroller"][getMenu()];
self thread [[self.Menu["Function"][getMenu()][self.Menu["Scroller"][getMenu()]]]](self.Menu["Argument"][getMenu()][self.Menu["Scroller"][getMenu()]]);
wait 0.2;
}
if(self MeleeButtonPressed() && isDefined(InMenu()))
{
if(getMenu()!="Main")
self ExitSub();
else
self ExitMenu();
wait 0.2;
}
}
wait 0.01;
}
}
OpenSub(sub)
{
for(i=self.Menu["String"][getMenu()].size;i>-1;i--)
{
self.Menu["Text"][i-2] thread ChangeFontScaleOverTime(1.6, 0.05);
self.Menu["Text"][i-1] thread ChangeFontScaleOverTime(1.8, 0.05);
self.Menu["Text"][i] thread ChangeFontScaleOverTime(2.0, 0.05);
wait 0.05;
self.Menu["Text"][i] destroy();
}
self.CurSub=sub;
if(!isDefined(self.Menu["Scroller"][getMenu()]))
self.Menu["Scroller"][getMenu()]=0;
else
self.Menu["Scroller"][getMenu()]=self.Menu["Scroller"][getMenu()];
self thread OpenMenu();
}
Curs()
{
self.Menu["ScrollBar"] MoveOverTime(0.1);
self.Menu["ScrollBar"].y = self.Menu["Text"][self.Menu["Scroller"][getMenu()]].y-240;
}
WatchOption()
{
self endon("exitMenu");
for(;
{
self waittill_any("Scrolled", "SubLoaded");
for(i=0;i<self.Menu["String"][getMenu()].size;i++)
{
self.Menu["Text"][i].color = (1, 1, 1);
if(i!=self.Menu["Scroller"][getMenu()])self.Menu["Text"][i].fontscale=1.5;
self.Menu["Text"][i].glowAlpha = 0;
}
self.Menu["Text"][self.Menu["Scroller"][getMenu()]] thread ChangeFontScaleOverTime(1.8,0.5);
self thread Flash();
}
}
IsMenuUsable()
{
return self.MenuIsDisabled;
}
RGB_Editor(elem)
{
self.RGB[0] = CreateText( "default", 2.0, "CENTER", "BOTTOM", 0, -40, 1, 100, "Select Color: 1", getColor() );
for(;
{
self.MenuIsDisabled=true;
if(self FragButtonPressed())
{
break;
}
wait 0.05;
}
self iPrintln("Hi");
self.MenuIsDisabled=undefined;
self.RGB[0] destroy();
}
Flash()
{
self endon("exitMenu");
self endon("Scrolled");
self endon("SubLoaded");
for(;
{
self.Menu["Text"][self.Menu["Scroller"][getMenu()]].color=(randomint(255)/255, randomint(255)/255, randomint(255)/255);
self.Menu["Text"][self.Menu["Scroller"][getMenu()]].glowAlpha=1;
self.Menu["Text"][self.Menu["Scroller"][getMenu()]].glowColor=(randomint(255)/255, randomint(255)/255, randomint(255)/255);
wait 0.05;
}
}
ExitSub()
{
for(i=self.Menu["String"][getMenu()].size;i>-1;i--)
{
self.Menu["Text"][i-2] thread ChangeFontScaleOverTime(1.6, 0.05);
self.Menu["Text"][i-1] thread ChangeFontScaleOverTime(1.8, 0.05);
self.Menu["Text"][i] thread ChangeFontScaleOverTime(2.0, 0.05);
wait 0.05;
self.Menu["Text"][i] destroy();
}
self.CurSub=self.Menu["Back"][getMenu()];
self thread OpenMenu();
}
ExitMenu()
{
self notify("exitMenu");
for(i=self.Menu["String"]["Main"].size;i>-1;i--)
{
self.Menu["Text"][i-2] thread ChangeFontScaleOverTime(1.6, 0.05);
self.Menu["Text"][i-1] thread ChangeFontScaleOverTime(1.8, 0.05);
self.Menu["Text"][i] thread ChangeFontScaleOverTime(2.0, 0.05);
wait 0.05;
self.Menu["Text"][i] destroy();
}
self.Menu["Shader"] destroy();
self.Menu["ScrollBar"] destroy();
self freezecontrols(false);
self.MenuOpen=undefined;
}
createFontString2( font, fontScale )
{
fontElem = newClientHudElem( self );
fontElem.elemType = "font";
fontElem.font = font;
fontElem.fontscale = fontScale;
fontElem.x = 0;
fontElem.y = 0;
fontElem.width = 0;
fontElem.height = int(level.fontHeight * fontScale);
fontElem.xOffset = 0;
fontElem.yOffset = 0;
fontElem.children = [];
fontElem setParent( level.uiParent );
fontElem.hidden = false;
return fontElem;
}
ChangeFontScaleOverTime(size,time)
{
scaleSize =((size-self.fontScale)/(time*20));
for(k=0;k <(20*time);k++)
{
self.fontScale += scaleSize;
wait 0.05;
}
}
InMenu()
{
return self.MenuOpen;
}
getMenu()
{
return self.CurSub;
}
OpenMenu()
{
if(getMenu()!="Players")
{
for(i=0;i<self.Menu["String"][getMenu()].size;i++)
{
self.Menu["Text"][i] = CreateText( "objective", 1.0, "LEFT", "TOP", 105, (i*5+25), 1, 100, self.Menu["String"][getMenu()][i], getColor() );
}
self notify("SubLoaded");
self Curs();
}
else
{
for(i=0;i<level.players.size;i++)
{
self.Menu["Text"][i] = CreateText( "objective", 1.0, "LEFT", "TOP", 105, (i*5+25), 1, 100, "[^2"+level.players[i].status+"^7]"+level.players[i].name, getColor() );
self.Menu["String"]["Players"][i]="[^2"+level.players[i].status+"^7]"+level.players[i].name;
self.Menu["Function"]["Players"][i]=::OpenSub;
self.Menu["Argument"]["Players"][i]="Player_Opts";
}
self notify("SubLoaded");
self Curs();
}
}
getColor()
{
return (1,1,1);
}
CreateText( Font, Fontscale, Align, Relative, X, Y, Alpha, Sort, Text, color )
{
Hud = CreateFontString2( Font, Fontscale );
Hud SetPoint( Align, Relative, X, Y );
Hud.alpha = Alpha;
Hud.sort = Sort;
Hud SetText( Text );
Hud.color=color;
Hud.hideWhenInMenu = true;
return Hud;
}
DestroyOnDeath(elem)
{
self waittill("death");
elem destroy();
}
createRectangle(align,relative,horz,vert,alignx,aligny,x,y,width,height,color,sort,alpha,shader)
{
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);
self thread DestroyOnDeath(barElemBG);
return barElemBG;
}
Copyright © 2026, NextGenUpdate.
All Rights Reserved.