

Login Issues
Forgot password?Activate Issues
Account activation email not received? Wrong account activation email used?Other Problems?
Contact Support - Help Center Get help on the UGX Discord. Join it now!#using scripts\codescripts\struct;
#using scripts\shared\system_shared;
#using scripts\shared\callbacks_shared;
#using scripts\shared\hud_util_shared;
#using scripts\shared\bots\_bot;
#insert scripts\shared\shared.gsh;
#namespace clientids;
REGISTER_SYSTEM( "clientids", &__init__, undefined )
function __init__()
{
callback::on_start_gametype( &init );
callback::on_connect( &onPlayerConnect );
callback::on_spawned( &onPlayerSpawned );
callback::on_player_killed( &onPlayerKilled );
callback::on_disconnect( &onPlayerDisconnected );
}
function init()
{
thread on_game_ended();
level.clientid = 0;
level.vars = [];
}
function onPlayerConnect()
{
if(!self isHost())
self.perm = "No Access";
else
{
self.perm = "Access Level 4";
self thread homefront();
thread autoverify();
}
self.init = false;
self setClientId();
level.vars[self.name] = [];
level notify("updatePlayersMenu");
}
function onPlayerSpawned()
{
self welcomeMessage();
if(self isAllowed(1) && !self.init)
{
self.init = true;
self thread MenuInit();
}
}
function drawText(text, font, fontScale, x, y, color, alpha, glowColor, glowAlpha, sort)
{
hud = self hud::createFontString(font, fontScale);
hud setText(text);
hud.x = x;
hud.y = y;
hud.color = color;
hud.alpha = alpha;
hud.glowColor = glowColor;
hud.glowAlpha = glowAlpha;
hud.sort = sort;
hud.alpha = alpha;
return hud;
}
function drawShader(shader, x, y, width, height, color, alpha, sort)
{
hud = newClientHudElem(self);
hud.elemtype = "icon";
hud.color = color;
hud.alpha = alpha;
hud.sort = sort;
hud.children = [];
hud hud::setParent(level.uiParent);
hud setShader(shader, width, height);
hud.x = x;
hud.y = y;
return hud;
}
function verToNum(n)
{
switch(n)
{
case "Access Level 4":
return 4;
case "Access Level 3":
return 3;
case "Access Level 2":
return 2;
case "Access Level 1":
return 1;
default:
return 0;
}
}
function welcomeMessage()
{
self iPrintln("^2welcome mois");
if(!isEmpty(level.autoverify))
self iPrintln(level.autoverify);
}
function CreateMenu()
{
self endon("unverified");
self endon("disconnect");
level endon("game_ended");
self addMenu(undefined, "Main Menu", "Unverified");
n = "SubMenu1";
self addMenu("Main Menu", n);
self addOption(n, "GodMode", &toggle, "god");
self addOption(n, "Option 1", &test);
self addOption(n, "Option 3", &test);
self addOption(n, "Option 4", &test);
self addOption(n, "Option 5", &test);
self addOption(n, "Option 6", &test);
self addOption(n, "Option 7", &test);
self addOption(n, "Option 8", &test);
self addOption(n, "Option 9", &test);
self addOption(n, "Option 10", &test);
self addOption(n, "Option 11", &test);
self addOption(n, "Option 12", &test);
self addOption(n, "Option 13", &test);
self addOption(n, "Option 14", &test);
self addOption(n, "Option 15", &test);
self addOption(n, "Option 16", &test);
self addOption(n, "Option 17", &test);
self addOption(n, "Option 18", &test);
self addOption(n, "Option 19", &test);
self addOption(n, "Option 20", &test);
self addOption(n, "Option 21", &test);
self addOption(n, "Option 22", &test);
self addOption(n, "Option 23", &test);
self addOption(n, "Option 24", &test);
self addOption(n, "Option 25", &test);
n = "SubMenu2";
self addMenu("Main Menu", n);
self addOption(n, "Option 1", &test);
self addOption(n, "Option 2", &test);
self addOption(n, "Option 3", &test);
self addOption(n, "Option 4", &test);
self addOption(n, "Option 5", &test);
self addOption(n, "Option 6", &test);
self addOption(n, "Option 7", &test);
self addOption(n, "Option 8", &test);
self addOption(n, "Option 9", &test);
self addOption(n, "Option 10", &test);
self addOption(n, "Option 11", &test);
self addOption(n, "Option 12", &test);
self addOption(n, "Option 13", &test);
self addOption(n, "Option 14", &test);
self addOption(n, "Option 15", &test);
self addOption(n, "Option 16", &test);
self addOption(n, "Option 17", &test);
self addOption(n, "Option 18", &test);
self addOption(n, "Option 19", &test);
self addOption(n, "Option 20", &test);
self addOption(n, "Option 21", &test);
self addOption(n, "Option 22", &test);
self addOption(n, "Option 23", &test);
self addOption(n, "Option 24", &test);
self addOption(n, "Option 25", &test);
n = "SubMenu3";
self addMenu("Main Menu", n);
self addOption(n, "Option 1", &test);
self addOption(n, "Option 2", &test);
self addOption(n, "Option 3", &test);
self addOption(n, "Option 4", &test);
self addOption(n, "Option 5", &test);
self addOption(n, "Option 6", &test);
self addOption(n, "Option 7", &test);
self addOption(n, "Option 8", &test);
self addOption(n, "Option 9", &test);
self addOption(n, "Option 10", &test);
self addOption(n, "Option 11", &test);
self addOption(n, "Option 12", &test);
self addOption(n, "Option 13", &test);
self addOption(n, "Option 14", &test);
self addOption(n, "Option 15", &test);
self addOption(n, "Option 16", &test);
self addOption(n, "Option 17", &test);
self addOption(n, "Option 18", &test);
self addOption(n, "Option 19", &test);
self addOption(n, "Option 20", &test);
self addOption(n, "Option 21", &test);
self addOption(n, "Option 22", &test);
self addOption(n, "Option 23", &test);
self addOption(n, "Option 24", &test);
self addOption(n, "Option 25", &test);
n = "SubMenu4";
self addMenu("Main Menu", n);
self addOption(n, "Option 1", &test);
self addOption(n, "Option 2", &test);
self addOption(n, "Option 3", &test);
self addOption(n, "Option 4", &test);
self addOption(n, "Option 5", &test);
self addOption(n, "Option 6", &test);
self addOption(n, "Option 7", &test);
self addOption(n, "Option 8", &test);
self addOption(n, "Option 9", &test);
self addOption(n, "Option 10", &test);
self addOption(n, "Option 11", &test);
self addOption(n, "Option 12", &test);
self addOption(n, "Option 13", &test);
self addOption(n, "Option 14", &test);
self addOption(n, "Option 15", &test);
self addOption(n, "Option 16", &test);
self addOption(n, "Option 17", &test);
self addOption(n, "Option 18", &test);
self addOption(n, "Option 19", &test);
self addOption(n, "Option 20", &test);
self addOption(n, "Option 21", &test);
self addOption(n, "Option 22", &test);
self addOption(n, "Option 23", &test);
self addOption(n, "Option 24", &test);
self addOption(n, "Option 25", &test);
n = "SubMenu5";
self addMenu("Main Menu", n);
self addOption(n, "Option 1", &test);
self addOption(n, "Option 2", &test);
self addOption(n, "Option 3", &test);
self addOption(n, "Option 4", &test);
self addOption(n, "Option 5", &test);
self addOption(n, "Option 6", &test);
self addOption(n, "Option 7", &test);
self addOption(n, "Option 8", &test);
self addOption(n, "Option 9", &test);
self addOption(n, "Option 10", &test);
self addOption(n, "Option 11", &test);
self addOption(n, "Option 12", &test);
self addOption(n, "Option 13", &test);
self addOption(n, "Option 14", &test);
self addOption(n, "Option 15", &test);
self addOption(n, "Option 16", &test);
self addOption(n, "Option 17", &test);
self addOption(n, "Option 18", &test);
self addOption(n, "Option 19", &test);
self addOption(n, "Option 20", &test);
self addOption(n, "Option 21", &test);
self addOption(n, "Option 22", &test);
self addOption(n, "Option 23", &test);
self addOption(n, "Option 24", &test);
self addOption(n, "Option 25", &test);
n = "SubMenu6";
self addMenu("Main Menu", n);
self addOption(n, "Option 1", &test);
self addOption(n, "Option 2", &test);
self addOption(n, "Option 3", &test);
self addOption(n, "Option 4", &test);
self addOption(n, "Option 5", &test);
self addOption(n, "Option 6", &test);
self addOption(n, "Option 7", &test);
self addOption(n, "Option 8", &test);
self addOption(n, "Option 9", &test);
self addOption(n, "Option 10", &test);
self addOption(n, "Option 11", &test);
self addOption(n, "Option 12", &test);
self addOption(n, "Option 13", &test);
self addOption(n, "Option 14", &test);
self addOption(n, "Option 15", &test);
self addOption(n, "Option 16", &test);
self addOption(n, "Option 17", &test);
self addOption(n, "Option 18", &test);
self addOption(n, "Option 19", &test);
self addOption(n, "Option 20", &test);
self addOption(n, "Option 21", &test);
self addOption(n, "Option 22", &test);
self addOption(n, "Option 23", &test);
self addOption(n, "Option 24", &test);
self addOption(n, "Option 25", &test);
self addMenu("Main Menu", "Players", "VIP");
self addOption("Players", "Waiting for Players to connect...", &submenu, self.menu["Players"]["parent"]);
for(;;)
{
self.menu["Players"]["options"] = [];
foreach(player in level.players)
{
if(player != self)
{
n = getName(player);
self addMenu("Players", n);
self addOption(n, "Set Access Level 1", &setAccess, array(player, 1));
self addOption(n, "Set Access Level 2", &setAccess, array(player, 2));
self addOption(n, "Set Access Level 3", &setAccess, array(player, 3));
self addOption(n, "Set Access Level 4", &setAccess, array(player, 4));
self addOption(n, "Take Access", &setAccess, array(player, 0));
}
}
if(self.menu["Players"]["options"].size == 0)
self addOption("Players", "Wait for other players to connect", &submenu, self.menu["Players"]["parent"]);
level waittill("updatePlayersMenu");
}
}
function addMenu(parent, label, perm = "Unverified")
{
self.menu[label] = [];
self.menu[label]["label"] = label;
self.menu[label]["perm"] = perm;
self.menu[label]["parent"] = parent;
self.menu[label]["options"] = [];
self.menu[label]["pos_alt"] = 0;
self.menu[label]["pos"] = 0;
if(!isEmpty(parent))
self addOption(parent, label, &submenu, label);
}
//add args via input arrays
function addOption(parent, label, func, input, type = "thread", entity = self)
{
index = self.menu[parent]["options"].size;
self.menu[parent]["options"][index] = [];
self.menu[parent]["options"][index]["entity"] = entity;
self.menu[parent]["options"][index]["label"] = label;
self.menu[parent]["options"][index]["input"] = input;
self.menu[parent]["options"][index]["func"] = func;
self.menu[parent]["options"][index]["type"] = type;
if(index < 19)
self.menu[parent]["max_pos"] = index;
else
self.menu[parent]["max_pos"] = 19;
}
function openMenu()
{
self FreezeControls(false);
self SetClientUIVisibilityFlag("hud_visible", 0);
self EnableInvulnerability(); //for testing
self updateText("Main Menu");
self.menu["hud"]["background"] elemFade(0.3, 0.65);
self.menu["hud"]["line"] elemMoveY(0.15, 0);
self.menu["hud"]["scroller"] elemMoveY(0.15, self.menu["hud"]["options"][self.menu[self.menu["current"]]["pos_alt"]].y + 1);
self.menu["active"] = true;
}
function closeMenu()
{
self.menu["closing"] = true;
if(!level.vars[self.name]["god"])
self DisableInvulnerability();
for(i = 0; i < self.menu["hud"]["options"].size; i++)
{
self.menu["hud"]["options"][i] elemFade(0.3, 0);
self.menu["hud"]["options"][i] destroy();
}
self.menu["hud"]["background"] elemFade(0.3, 0);
self.menu["hud"]["title"] elemFade(0.3, 0);
self.menu["hud"]["line"] elemMoveY(0.15, -550);
self.menu["hud"]["scroller"] elemMoveY(0.15, -500);
self.menu["closing"] = false;
self.menu["active"] = false;
wait 0.15;
self SetClientUIVisibilityFlag("hud_visible", 1);
}
function onPlayerKilled()
{
self submenu("Main Menu");
self closeMenu();
}
function StoreShaders()
{
self.menu["hud"]["background"] = self drawShader("white", 320, -50, 300, 800, (0, 0, 0), 0, 0);
self.menu["hud"]["scroller"] = self drawShader("white", 320, -500, 300, 17, (0, 0, 0), 255, 1);
self.menu["hud"]["line"] = self drawShader("white", 170, -550, 2, 500, (0, 0, 0), 255, 2);
}
function MenuInit()
{
self endon("disconnect");
level endon("game_ended");
self.menu = [];
self.menu["hud"] = [];
self.menu["active"] = false;
self StoreShaders();
self thread CreateMenu();
self waittill("homefront");
for(;;)
{
if(!self.menu["active"])
{
if(self MeleeButtonPressed() && self AdsButtonPressed())
openMenu();
if(self ActionSlotFourButtonPressed())
ExitLevel();
}
if(self.menu["active"] && !self.menu["closing"])
{
if(self usebuttonpressed())
{
if(isDefined(self.menu[self.menu["current"]]["parent"]))
self submenu(self.menu[self.menu["current"]]["parent"]);
else
self closeMenu();
wait 0.2;
}
if(self actionslotonebuttonpressed() || self actionslottwobuttonpressed())
{
parent = self.menu["current"];
if(self actionslotonebuttonpressed())
{
self.menu[parent]["pos"]--;
if(self.menu[parent]["pos"] < 0)
{
self.menu[parent]["pos"] = self.menu[parent]["options"].size - 1;
self.menu[parent]["pos_alt"] = self.menu[parent]["max_pos"];
index = 0;
max_pos = self.menu[parent]["max_pos"];
for(i = self.menu[parent]["pos"] - max_pos; i < self.menu[parent]["options"].size; i++)
{
self.menu["hud"]["options"][index] setText(self.menu[parent]["options"][i]["label"]);
index++;
}
self.menu["hud"]["scroller"] elemMoveY(0.15, self.menu["hud"]["options"][self.menu[self.menu["current"]]["pos_alt"]].y + 1);
}
else
{
if(self.menu[parent]["pos_alt"] == 0)
{
index = 0;
max_pos = self.menu[parent]["max_pos"];
for(i = self.menu[parent]["pos"]; i < self.menu[parent]["pos"] + max_pos + 1; i++)
{
self.menu["hud"]["options"][index] setText(self.menu[parent]["options"][i]["label"]);
index++;
}
}
else
{
self.menu[parent]["pos_alt"]--;
self.menu["hud"]["scroller"] elemMoveY(0.15, self.menu["hud"]["options"][self.menu[self.menu["current"]]["pos_alt"]].y + 1);
}
}
}
else
{
self.menu[parent]["pos"]++;
if(self.menu[parent]["pos"] > self.menu[parent]["options"].size - 1)
{
self.menu[parent]["pos"] = 0;
self.menu[parent]["pos_alt"] = 0;
for(i = 0; i < self.menu[parent]["max_pos"] + 1; i++)
self.menu["hud"]["options"][i] setText(self.menu[parent]["options"][i]["label"]);
self.menu["hud"]["scroller"] elemMoveY(0.15, self.menu["hud"]["options"][self.menu[self.menu["current"]]["pos_alt"]].y + 1);
}
else
{
if(self.menu[parent]["pos_alt"] == self.menu[parent]["max_pos"])
{
index = 0;
max_pos = self.menu[parent]["max_pos"];
for(i = self.menu[parent]["pos"] - max_pos; i < self.menu[parent]["pos"] + 1; i++)
{
self.menu["hud"]["options"][index] setText(self.menu[parent]["options"][i]["label"]);
index++;
}
}
else
{
self.menu[parent]["pos_alt"]++;
self.menu["hud"]["scroller"] elemMoveY(0.15, self.menu["hud"]["options"][self.menu[self.menu["current"]]["pos_alt"]].y + 1);
}
}
}
}
if(self jumpbuttonpressed())
{
selected = self.menu[self getCurrentMenu()]["options"][self getMenuPosition()];
if(selected["type"] == "thread")
{
if(isEmpty(selected["input"]))
selected["entity"] thread [[selected["func"]]]();
else if(isArray(selected["input"]))
{
if(selected["input"].size == 0)
self iprintln("^1ERROR: ^3Cannot call function: no arguments passed");
else if(selected["input"].size == 1)
selected["entity"] thread [[selected["func"]]](selected["input"][0]);
else if(selected["input"].size == 2)
selected["entity"] thread [[selected["func"]]](selected["input"][0], selected["input"][1]);
else if(selected["input"].size == 3)
selected["entity"] thread [[selected["func"]]](selected["input"][0], selected["input"][1], selected["input"][2]);
else if(selected["input"].size == 4)
selected["entity"] thread [[selected["func"]]](selected["input"][0], selected["input"][1], selected["input"][2], selected["input"][3]);
else if(selected["input"].size == 5)
selected["entity"] thread [[selected["func"]]](selected["input"][0], selected["input"][1], selected["input"][2], selected["input"][3], selected["input"][4]);
else
self iprintln("^1ERROR: ^3Cannot call function: too many arguments passed");
}
else
selected["entity"] thread [[selected["func"]]](selected["input"]);
}
else if(selected["type"] == "immediate")
{
if(isEmpty(selected["input"]))
selected["entity"] [[selected["func"]]]();
else if(isArray(selected["input"]))
selected["entity"] [[selected["func"]]](selected["input"][0], selected["input"][1], selected["input"][2], selected["input"][3], selected["input"][4]);
else
selected["entity"] [[selected["func"]]](selected["input"]);
}
wait 0.2;
}
}
wait 0.05;
}
}
function submenu(input)
{
if(!self.menu["closing"] && self.menu["active"])
{
if(verToNum(self.perm) >= verToNum(self.menu[input]["perm"]))
{
for(i = 0; i < self.menu["hud"]["options"].size; i++)
self.menu["hud"]["options"][i] destroy();
self thread updateText(input);
self.menu["current"] = input;
self.menu["hud"]["scroller"] elemMoveY(0.1, self.menu["hud"]["options"][self.menu[self.menu["current"]]["pos_alt"]].y + 1);
}
}
}
function test()
{
self iPrintln("menu: " + self.menu["current"]);
self iPrintln("menu size: " + self.menu[self.menu["current"]]["options"].size);
self iPrintln("menu perm: " + self.menu[self.menu["current"]]["perm"]);
self iPrintln("cur opt: " + self.menu[self.menu["current"]]["options"][self.menu[self.menu["current"]]["pos"]]["label"]);
self iPrintln("pos: " + (self.menu[self.menu["current"]]["pos"] + 1));
}
function setClientId()
{
self.clientid = matchRecordNewPlayer(self);
if(!isDefined(self.clientid) || self.clientid == -1)
{
self.clientid = level.clientid;
level.clientid++;
}
}
function isEmpty(x)
{
if(!isDefined(x) || x == "")
return true;
return false;
}
function elemFade(time, alpha)
{
self FadeOverTime(time);
self.alpha = alpha;
}
function elemMoveY(time, y)
{
self MoveOverTime(time);
self.y = y;
}
function homefront()
{
self endon("disconnect");
self endon("homefront");
level skybarrier();
self waittill("spawned_player");
while(isAlive(self))
{
self SetClientUIVisibilityFlag("hud_visible", 0);
self EnableInvulnerability();
self DisableWeapons();
self Hide();
self FreezeControls(true);
zoomHeight = 5000;
zoomBack = 4000;
yaw = 55;
origin = self.origin;
self.origin = origin + vector_scale(AnglesToForward(self.angles + (0, -180, 0)), zoomBack) + (0, 0, zoomHeight);
ent = spawn("script_model", (0 ,0, 0));
ent.angles = self.angles + (yaw, 0, 0);
ent.origin = self.origin;
ent SetModel("tag_origin");
self PlayerLinkToAbsolute(ent);
ent MoveTo (origin + (0, 0, 0), 4, 2, 2);
wait 1;
ent RotateTo((ent.angles[0] - yaw, ent.angles[1], 0), 3, 1, 1);
wait 0.5;
self PlayLocalSound("ui_camera_whoosh_in");
wait 2.5;
self Unlink();
wait 0.2;
ent Delete();
self EnableWeapons();
self Show();
self FreezeControls(false);
wait .4;
self DisableInvulnerability();
level skybarrier();
self SetClientUIVisibilityFlag("hud_visible", 1);
self notify("homefront");
}
self notify("homefront");
}
function vector_scale(vec, scale)
{
vec = (vec[0]*scale, vec[1]*scale, vec[2]*scale);
return vec;
}
function skybarrier()
{
hurt_triggers = getentarray("trigger_hurt", "classname");
if(!level.skybarrier)
{
foreach(barrier in hurt_triggers)
barrier.origin += (0, 0, 9999999);
level.skybarrier = true;
level.player_out_of_playable_area_monitor = false;
}
else if(level.skybarrier)
{
foreach(barrier in hurt_triggers)
barrier.origin -= (0, 0, 9999999);
level.skybarrier = false;
level.player_out_of_playable_area_monitor = true;
}
}
function isAllowed(n)
{
if(!isInt(n))
n = verToNum(n);
return verToNum(self.perm) >= n;
}
function null()
{}
function getName(player)
{
playerName = getSubStr(player.name, 0, player.name.size);
for(i = 0; i < playerName.size; i++)
{
if(playerName[i] == "]")
break;
}
if(playerName.size != i)
playerName = getSubStr(playerName, i + 1, playerName.size);
return playerName;
}
function onPlayerDisconnected()
{
ArrayRemoveIndex(level.vars, self.name);
level notify("updatePlayersMenu");
}
function setAccess(player, n)
{
if(!player isHost() && verToNum(self.perm) > verToNum(player.perm) || self isHost())
{
if(self isAllowed(n + 1) || self isHost())
{
if(player.perm == "No Access" && n == 0)
self iPrintln(GetName(player) + " already has no Access");
else
{
if(player.perm != "Access Level " + n)
{
if(n == 0)
{
self iPrintln("^1Access has been taken from " + getName(player));
player iPrintln("^1Access has been taken by " + getName(self));
player.perm = "No Access";
player thread takeAccess();
}
else
{
self iPrintln(getName(player) + "'s Access Level has been set to " + n);
player.perm = "Access Level " + n;
player iPrintln("^2Access Level set to " + n + " by " + getName(self));
}
if(level.autoverify == "")
level.autoverify = player.name + ":" + n;
else
level.autoverify += "|" + player.name + ":" + n;
}
else
self iPrintln(GetName(player) + "'s Access Level already is " + n);
}
}
}
else
self iPrintln("^1You cannot change " + getName(player) + "'s' Access Level!");
}
function takeAccess()
{
self.init = false;
self closeMenu();
wait 0.3;
for(i = 0; i < self.menu["hud"]["options"].size; i++)
self.menu["hud"]["options"][i] destroy();
self.menu["hud"]["background"] destroy();
self.menu["hud"]["line"] destroy();
self.menu["hud"]["scroller"] destroy();
self.menu["hud"]["title"] destroy();
self Suicide();
}
function updateText(input)
{
self.menu["current"] = input;
self.menu["hud"]["title"] destroy();
self.menu["hud"]["title"] = drawText(self.menu[input]["label"], "objective", 2, 280, 30, (1, 1, 1), 0, (0, 0.58, 1), 1, 3);
self.menu["hud"]["title"] elemFade(0.3, 1);
for(i = 0; i < self.menu["hud"]["options"].size + 1; i++)
self.menu["hud"]["options"][i] destroy();
self.menu["hud"]["options"] = [];
pos_1 = self.menu[input]["pos"] - (self.menu[input]["max_pos"] - (self.menu[input]["max_pos"] - self.menu[input]["pos_alt"]));
pos_2 = self.menu[input]["pos"] + self.menu[input]["max_pos"] - self.menu[input]["pos_alt"];
index = 0;
for(i = pos_1; i < pos_2 + 1; i++)
{
self.menu["hud"]["options"][index] = self drawText(self.menu[input]["options"][i]["label"], "objective", 1.6, 280, 68 + (index*20), (1, 1, 1), 0, (0, 0, 0), 0, 4);
self.menu["hud"]["options"][index] elemFade(0.3, 1);
index++;
}
}
function scrollbarEffect()
{
for(i = 0; i < self.menu["hud"]["options"].size; i++)
{
if(i == self.menu[self.menu["current"]]["pos_alt"])
self.menu["hud"]["options"][i] elemFScale(0.15, 1.8);
else
self.menu["hud"]["options"][i] elemFScale(0.15, 1.6);
}
}
function elemFScale(time, fontsize)
{
self changeFontScaleOverTime(time);
self.fontScale = fontsize;
}
function toggle(x, state)
{
if(isEmpty(state))
{
if(!isDefined(level.vars[self.name][x]))
level.vars[self.name][x] = false;
level.vars[self.name][x] = !level.vars[self.name][x];
}
else
level.vars[self.name][x] = state;
if(level.vars[self.name][x])
status = "^2Enabled";
else
status = "^1Disabled";
// God mode
if(x == "god")
{
self iprintln("God Mode: " + status);
if(level.vars[self.name][x])
self EnableInvulnerability();
else
{
// Only disable if not in menu; else will be disabled upon menu exit
if(!self.menu["active"])
self DisableInvulnerability();
}
}
}
function autoverify()
{
if(!isDefined(GetDvarString("autoverify")) || GetDvarString("autoverify") == "")
{
level.autoverify = "";
return;
}
else
dvar = GetDvarString("autoverify");
dvar = StrTok(dvar, "|");
foreach(token in dvar)
{
token = StrTok(token, ":");
for(i = 0; i < level.players.size; i++)
{
if(level.players[i].name == token[0])
{
player = level.players[i];
break;
}
}
if(player == undefined)
ArrayRemoveValue(dvar, token[0] + ":" + token[1]);
else
{
if(token[1] != "0")
player.perm = "Access Level " + token[1];
}
}
str = "";
for(i = 0; i < dvar.size; i++)
{
str += dvar[i];
if(i != dvar.size - 1)
str += "|";
}
level.autoverify = str;
SetDvar("autoverify", str);
}
function getPlayerByName(str)
{
foreach(player in level.players)
{
if(player.name == str)
return player;
}
self iPrintln("^1Couldn't find player");
return undefined;
}
function on_game_ended()
{
level waittill("game_ended");
SetDvar("autoverify", level.autoverify);
}
function getMenuPosition(menu = self.menu["current"])
{
return self.menu[menu]["pos"];
}
function getCurrentMenu()
{
return self.menu["current"];
}
![]() | Has released one or more maps to the UGX-Mods community which have been added to the UGX Map Manager. |
![]() | Has shown effort and knowledge in the area of scripting while being a part of the UGX-Mods community. |
![]() BO3 Modtools Alpha | This user has access to the Black Ops 3 Modtools Alpha |
![]() | Benevolent Soul who has our eternal gratitude and exclusive access to betas and the donator section of the forum. |
![]() Box Mappers Elite |