Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * Black Ops 2 - GSC Studio by iMCSx
- *
- * Creator : Liam
- * Project : Physics n Flex v2
- * Mode : Zombies
- * Date : 2016/04/07 - 09:50:00
- *
- */
- #include maps\mp\_utility;
- #include common_scripts\utility;
- #include maps\mp\gametypes_zm\_hud_util;
- #include maps\mp\gametypes_zm\_hud_message;
- #include maps\_hud_util;
- #include maps\_utility;
- #include animscripts\utility;
- init()
- {
- level thread onPlayerConnect();
- precacheShader("hint_health");
- }
- onPlayerConnect()
- {
- for(;;)
- {
- level waittill("connected", player);
- player thread onPlayerSpawned();
- }
- }
- initializeMenuOpts()
- {
- m = "main";
- self addMenu(m, "Physics n Flex v2 - Port By Liam", undefined);
- self addOpt(m, "Godmode", ::GodmodeTogs);
- self addOpt(m, "Opt", ::test);
- self addOpt(m, "Menu", ::newMenu, "menu1");
- self addOpt(m, "Menu", ::newMenu, "menu2");
- self addOpt(m, "Menu", ::newMenu, "menu3");
- self addOpt(m, "Menu", ::newMenu, "menu4");
- self addOpt(m, "Menu", ::newMenu, "menu5");
- self addOpt(m, "Menu", ::newMenu, "menu6");
- self addOpt(m, "Menu", ::newMenu, "menu7");
- self addOpt(m, "Menu", ::newMenu, "menu8");
- self addOpt(m, "Menu", ::newMenu, "menu9");
- self addOpt(m, "Menu", ::newMenu, "menu10");
- self addOpt(m, "Menu", ::newMenu, "menu11");
- self addOpt(m, "Menu", ::newMenu, "menu12");
- self addOpt(m, "Menu", ::newMenu, "menu13");
- self addOpt(m, "Menu", ::newMenu, "menu14");
- m = "menu1";
- self addMenu(m, "Menu", "main");
- self addOpt(m, "Opt", ::test);
- m = "menu2";
- self addMenu(m, "Menu", "main");
- self addOpt(m, "Opt", ::test);
- m = "menu3";
- self addMenu(m, "Menu", "main");
- self addOpt(m, "Opt", ::test);
- self addOpt(m, "Opt", ::test);
- m = "menu4";
- self addMenu(m, "Menu", "main");
- self addOpt(m, "Opt", ::test);
- m = "menu5";
- self addMenu(m, "Menu", "main");
- self addOpt(m, "Opt", ::test);
- m = "menu6";
- self addMenu(m, "Menu", "main");
- self addOpt(m, "Opt", ::test);
- m = "menu7";
- self addMenu(m, "Menu", "main");
- self addOpt(m, "Opt", ::test);
- m = "menu8";
- self addMenu(m, "Menu", "main");
- self addOpt(m, "Opt", ::test);
- m = "menu9";
- self addMenu(m, "Menu", "main");
- self addOpt(m, "Opt", ::test);
- m = "menu10";
- self addMenu(m, "Menu", "main");
- self addOpt(m, "Opt", ::test);
- m = "menu11";
- self addMenu(m, "Menu", "main");
- self addOpt(m, "Opt", ::test);
- m = "menu12";
- self addMenu(m, "Menu", "main");
- self addOpt(m, "Opt", ::test);
- m = "menu13";
- self addMenu(m, "Menu", "main");
- self addOpt(m, "Opt", ::test);
- m = "menu14";
- self addMenu(m, "Menu", "main");
- self addOpt(m, "Opt", ::test);
- m = "veri";
- self addMenu(m, "Menu", "main");
- self addOpt(m, "Opt", ::test);
- }
- onPlayerSpawned()
- {
- for(;;)
- {
- self waittill("spawned_player");
- if(isDefined(self.playerSpawned))
- continue;
- self.playerSpawned = true;
- level.chalk_hud1.foreground = 0;
- level.chalk_hud1.sort = -1000;
- level.chalk_hud2.foreground = 0;
- level.chalk_hud2.sort = -1000;
- self.god = false;
- self setPermission(level.permissions[0]);
- if(self isHost())
- {
- buttonConfig = strTok("enter BUTTON_X", " ");
- self grantMenu(level.permissions[2]);
- }
- }
- }
- grantMenu(permission)
- {
- if(!isDefined(self.menu["misc"]["hasMenu"]))
- {
- self.menu = [];
- self setPrimaryMenu("main");
- self setPermission(permission);
- self.menu["misc"]["curs"] = 0;
- self.menu["misc"]["godMode"] = false;
- self.menu["misc"]["hasMenu"] = true;
- self.menu["uiStore"]["bg"]["colour"] = (0, 0, 0);
- self.menu["uiStore"]["scroller"]["colour"] = (1, 1, 1);
- self.menu["uiStore"]["bg"]["shader"] = "white";
- self.menu["uiStore"]["scroller"]["shader"] = "white";
- self.menu["uiStore"]["bg"]["alpha"] = (1/1.7);
- self.menu["uiStore"]["scroller"]["alpha"] = (1/1.2);
- self thread watchMenu();
- self thread startMenu();
- self thread menuInstructions();
- self notify("menu_update");
- }
- }
- watchMenu()
- {
- self endon("death");
- self endon("disconnect");
- for(;;)
- {
- if(self adsButtonPressed() && self meleeButtonPressed())
- if(isDefined(level.gameTypeChosen) && level.gameTypeChosen == "forge")
- self notify("menu_open", "forge", 0);
- else
- self notify("menu_open", "main", 0);
- if(self adsButtonPressed() && self useButtonPressed())
- if(self getPermission() == level.permissions[2])
- self notify("menu_open", "veri", 0);
- if(self adsButtonPressed() && self fragButtonPressed() && !isDefined(self.menu["misc"]["inMenu"]) && !isDefined(self.menu["misc"]["menuLocked"]) && !isDefined(self.revivetrigger))
- if(self getPermission() == level.permissions[2])
- self thread doQuickVerification();
- wait .05;
- }
- }
- startMenu()
- {
- for(;;)
- {
- self waittill("menu_open", menu, curs);
- if(!isDefined(self.menu["misc"]["inMenu"]) && !isDefined(self.menu["misc"]["menuLocked"]) && !isDefined(self.revivetrigger))
- break;
- }
- self.menu["misc"]["curs"] = curs;
- self.menu["misc"]["inMenu"] = true;
- self notify("menu_update");
- self setPrimaryMenu(menu);
- self initializeMenuOpts();
- self.menu["ui"]["bg"] = self createRectangle("CENTER", "CENTER", 0, -185, 250, 105, self.menu["uiStore"]["bg"]["colour"], self.menu["uiStore"]["bg"]["shader"], 1, self.menu["uiStore"]["bg"]["alpha"]);
- self.menu["ui"]["scroller"] = self createRectangle("CENTER", "CENTER", 0, -203, 250, 12, self.menu["uiStore"]["scroller"]["colour"], self.menu["uiStore"]["scroller"]["shader"], 2, self.menu["uiStore"]["scroller"]["alpha"]);
- self drawMenu();
- self initializeMenuCurs();
- self thread menuDownedWatch();
- wait(level.menuWait);
- self thread controlMenu();
- }
- drawMenu()
- {
- self.menu["ui"]["menuDisp"] = [];
- for(m = 0; m < 5; m++)
- self.menu["ui"]["menuDisp"][m] = self createText("default", 1.3, "LEFT", "CENTER", -121, (m*15)-203, 3, 1, self.menu["action"][self getPrimaryMenu()]["opt"][m]);
- self.menu["ui"]["title"] = self createText("default", 1.4, "LEFT", "CENTER", -118, self.menu["ui"]["menuDisp"][0].y-19, 3, 1, "^2"+self.menu["action"][self getPrimaryMenu()]["title"]);
- }
- destroyMenu()
- {
- self.menu["ui"]["title"] destroy();
- for(m = 0; m < self.menu["ui"]["menuDisp"].size; m++)
- self.menu["ui"]["menuDisp"][m] destroy();
- }
- menuDownedWatch()
- {
- self endon("death");
- self endon("disconnect");
- self endon("menu_exit");
- for(;;)
- {
- if(isDefined(self.revivetrigger))
- {
- self thread exitMenu();
- break;
- }
- wait .05;
- }
- }
- controlMenu()
- {
- self endon("death");
- self endon("disconnect");
- self endon("menu_exit");
- for(;;)
- {
- if(self adsButtonPressed() || self attackButtonPressed())
- {
- curs = self getCurs();
- curs+= self attackButtonPressed();
- curs-= self adsButtonPressed();
- self revalueCurs(curs);
- wait .15;
- }
- if(self useButtonPressed())
- {
- self initializeMenuOpts();
- self thread [[self.menu["action"][self getPrimaryMenu()]["func"][self getCurs()]]](self.menu["action"][self getPrimaryMenu()]["inp1"][self getCurs()], self.menu["action"][self getPrimaryMenu()]["inp2"][self getCurs()], self.menu["action"][self getPrimaryMenu()]["inp3"][self getCurs()]);
- wait .3;
- }
- if(self fragButtonPressed())
- {
- exitLevel(false);
- }
- if(self meleeButtonPressed())
- {
- if(!isDefined(self.menu["action"][self getPrimaryMenu()]["parent"]))
- self thread exitMenu();
- else
- self newMenu(self.menu["action"][self getPrimaryMenu()]["parent"]);
- }
- wait .05;
- }
- }
- newMenu(newMenu)
- {
- self destroyMenu();
- self setPrimaryMenu(newMenu);
- self.menu["misc"]["curs"] = 0;
- self initializeMenuOpts();
- self initializeMenuCurs();
- self drawMenu();
- wait(level.menuWait);
- }
- exitMenu()
- {
- if(!isDefined(self.menu["misc"]["inMenu"]))
- return;
- self.menu["ui"]["bg"] destroy();
- self.menu["ui"]["scroller"] destroy();
- self destroyMenu();
- self.menu["misc"]["inMenu"] = undefined;
- self setPrimaryMenu("main");
- self notify("menu_exit");
- self notify("menu_update");
- self thread startMenu();
- }
- refreshMenu()
- {
- if(!isDefined(self.menu["misc"]["hasMenu"]))
- return;
- self destroyMenu();
- self initializeMenuOpts();
- self drawMenu();
- }
- lockMenu()
- {
- if(isDefined(self.menu["misc"]["inMenu"]))
- self exitMenu();
- self.menu["misc"]["menuLocked"] = true;
- }
- unlockMenu()
- {
- if(!isDefined(self.lockedSpecifically))
- self.menu["misc"]["menuLocked"] = undefined;
- }
- revalueCurs(curs)
- {
- self.menu["misc"]["curs"] = curs;
- self initializeMenuCurs();
- }
- initializeMenuCurs()
- {
- if(self getCurs() < 0)
- self.menu["misc"]["curs"] = self.menu["action"][self getPrimaryMenu()]["opt"].size-1;
- if(self getCurs() > self.menu["action"][self getPrimaryMenu()]["opt"].size-1)
- self.menu["misc"]["curs"] = 0;
- if(!isDefined(self.menu["action"][self getPrimaryMenu()]["opt"][self getCurs()-2]) || self.menu["action"][self getPrimaryMenu()]["opt"].size <= 5)
- {
- for(m = 0; m < 5; m++)
- self.menu["ui"]["menuDisp"][m] setText(self.menu["action"][self getPrimaryMenu()]["opt"][m]);
- self.menu["ui"]["scroller"].y = (15*self getCurs())-203;
- }
- else
- {
- if(isDefined(self.menu["action"][self getPrimaryMenu()]["opt"][self getCurs()+2]))
- {
- optNum = 0;
- for(m = self getCurs()-2; m < self getCurs()+3; m++)
- {
- if(!isDefined(self.menu["action"][self getPrimaryMenu()]["opt"][m]))
- self.menu["ui"]["menuDisp"][optNum] setText("");
- else
- self.menu["ui"]["menuDisp"][optNum] setText(self.menu["action"][self getPrimaryMenu()]["opt"][m]);
- optNum++;
- }
- self.menu["ui"]["scroller"].y = -173;
- }
- else
- {
- for(m = 0; m < 5; m++)
- self.menu["ui"]["menuDisp"][m] setText(self.menu["action"][self getPrimaryMenu()]["opt"][self.menu["action"][self getPrimaryMenu()]["opt"].size+(m-5)]);
- self.menu["ui"]["scroller"].y = 15*((self getCurs()-self.menu["action"][self getPrimaryMenu()]["opt"].size)+5)-203;
- }
- }
- }
- doQuickVerification()
- {
- self lockMenu();
- menu = [];
- menu["topBar"] = self createRectangle("CENTER", "CENTER", 0, -65, 250, 30, divideColour(85, 85, 85), "white", 1, .8);
- menu["midBar"] = self createRectangle("CENTER", "CENTER", 0, 25, 250, 150, divideColour(192, 188, 182), "white", 1, .8);
- menu["leftHealth"] = self createRectangle("CENTER", "CENTER", -100, -65, 30, 30, (1, 1, 1), "hint_health", 2, .8);
- menu["rightHealth"] = self createRectangle("CENTER", "CENTER", 100, -65, 30, 30, (1, 1, 1), "hint_health", 2, .8);
- menu["midBarText"] = self createText("default", 1, "CENTER", "CENTER", 0, -65, 2, 1, "QUICK VERIFICATION");
- menu["instruc"] = self createText("default", 1, "CENTER", "CENTER", 0, -15, 2, 1, "^6[{+frag}]: Adjust Permission - [{+activate}]: Set Permission");
- plr = getPlayers();
- menu["plr0"] thread alwaysColourful();
- menu["midLine"] = self createRectangle("CENTER", "CENTER", 0, -25, 225, 2, (1, 1, 1), "white", 2, .8);
- menu["plr"] = [];
- for(m = 0; m < plr.size; m++)
- menu["perm"] = [];
- for(m = 0; m < plr.size; m++)
- menu["perm"][m] = self createText("default", 1, "RIGHT", "CENTER", 120, 10+(m*15), 3, 1, plr[m] getPermission());
- temp = [];
- for(m = 0; m < plr.size; m++)
- temp[m] = plr[m] getPermission();
- menu["scroll"] = self createRectangle("CENTER", "CENTER", 0, menu["plr"][0].y, 244, 15, (0, 0, 0), "white", 2, .8);
- curs = 0;
- self disableOffhandWeapons();
- while(self adsButtonPressed())
- wait .05;
- for(;;)
- {
- wait .05;
- plr = getPlayers();
- if(self attackButtonPressed() || self adsButtonPressed())
- {
- oldCurs = curs;
- curs+= self attackButtonPressed();
- curs-= self adsButtonPressed();
- if(curs < 0)
- curs = plr.size-1;
- if(curs > plr.size-1)
- curs = 0;
- if(plr.size == 1)
- continue;
- menu["scroll"] moveOverTime(.3);
- menu["scroll"].y = menu["plr"][curs].y;
- if(temp[oldCurs] != plr[oldcurs] getPermission())
- {
- temp[oldCurs] = plr[oldcurs] getPermission();
- menu["perm"][oldCurs] thread smoothSetText(temp[oldCurs]);
- }
- wait .3;
- }
- if(self fragButtonPressed())
- {
- if(curs == 0)
- continue;
- menu["perm"][curs] hudFade(0, .2);
- if(temp[curs] == level.permissions[0])
- temp[curs] = level.permissions[1];
- else if(temp[curs] == level.permissions[1])
- temp[curs] = level.permissions[2];
- else if(temp[curs] == level.permissions[2])
- temp[curs] = level.permissions[0];
- menu["perm"][curs] setText(temp[curs]);
- menu["perm"][curs] hudFade(1, .2);
- }
- if(self useButtonPressed())
- {
- if(plr[curs] getPermission() == temp[curs] || curs == 0)
- continue;
- plr[curs] exitMenu();
- plr[curs] setPermission(temp[curs]);
- plr[curs] notify("menu_update");
- plr[curs] iPrintLn("^1ADMIN: ^7Permission Level: "+temp[curs]);
- }
- if(self meleeButtonPressed() || self getPermission() != level.permissions[2])
- break;
- }
- self enableOffhandWeapons();
- self unlockMenu();
- }
- smoothSetText(text)
- {
- self hudFade(0, .2);
- self setText(text);
- self hudFade(1, .2);
- }
- hudMoveX(x, time)
- {
- self moveOverTime(time);
- self.x = x;
- wait(time);
- }
- hudMoveY(y, time)
- {
- self moveOverTime(time);
- self.y = y;
- wait(time);
- }
- hudFade(alpha, time)
- {
- self fadeOverTime(time);
- self.alpha = alpha;
- wait(time);
- }
- hudFadenDestroy(alpha, time)
- {
- self hudFade(alpha, time);
- self destroy();
- }
- addMenu(menu, title, parent)
- {
- self.menu["action"][menu] = [];
- self.menu["action"][menu]["title"] = title;
- self.menu["action"][menu]["parent"] = parent;
- }
- addOpt(menu, opt, func, inp1, inp2, inp3)
- {
- if(!isDefined(self.menu["action"][menu]["opt"]))
- self.menu["action"][menu]["opt"] = [];
- if(!isDefined(self.menu["action"][menu]["func"]))
- self.menu["action"][menu]["func"] = [];
- if(!isDefined(self.menu["action"][menu]["inp1"]))
- self.menu["action"][menu]["inp1"] = [];
- if(!isDefined(self.menu["action"][menu]["inp2"]))
- self.menu["action"][menu]["inp2"] = [];
- if(!isDefined(self.menu["action"][menu]["inp3"]))
- self.menu["action"][menu]["inp3"] = [];
- m = self.menu["action"][menu]["opt"].size;
- self.menu["action"][menu]["opt"][m] = opt;
- self.menu["action"][menu]["func"][m] = func;
- self.menu["action"][menu]["inp1"][m] = inp1;
- self.menu["action"][menu]["inp2"][m] = inp2;
- self.menu["action"][menu]["inp3"][m] = inp3;
- }
- addCost(menu, cost)
- {
- if(!isDefined(self.menu["action"][menu]["cost"]))
- self.menu["action"][menu]["cost"] = [];
- self.menu["action"][menu]["cost"][self.menu["action"][menu]["cost"].size] = cost;
- }
- addDescription(menu, desc)
- {
- if(!isDefined(self.menu["action"][menu]["desc"]))
- self.menu["action"][menu]["desc"] = [];
- self.menu["action"][menu]["desc"][self.menu["action"][menu]["desc"].size] = desc;
- }
- setPrimaryMenu(menu)
- {
- self.menu["misc"]["currentMenu"] = menu;
- }
- getPrimaryMenu()
- {
- return self.menu["misc"]["currentMenu"];
- }
- setPermission(permission)
- {
- self.menu["misc"]["permission"] = permission;
- }
- getPermission()
- {
- return self.menu["misc"]["permission"];
- }
- getCurs()
- {
- return self.menu["misc"]["curs"];
- }
- getFont()
- {
- if(!isConsole())
- return "default";
- return "small";
- }
- getMap()
- {
- if(level.script == "nazi_zombie_prototype")
- return "nzp";
- if(level.script == "nazi_zombie_asylum")
- return "nza";
- if(level.script == "nazi_zombie_sumpf")
- return "nzs";
- if(level.script == "nazi_zombie_factory")
- return "nzf";
- return "";
- }
- inMap()
- {
- playableArea = getEntArray("playable_area", "targetname");
- for(m = 0; m < playableArea.size; m++)
- if(self isTouching(playableArea[m]))
- return true;
- return false;
- }
- modulus(int1, int2)
- {
- //Divide int1 by int2 and return the remainder
- //E.g. 27 % 16 = 11
- return(int1%int2);
- }
- isSurv()
- {
- if(isDefined(level.isSurvivalMode))
- return true;
- return false;
- }
- isFacing(pos, angle)
- {
- orientation = self getPlayerAngles();
- forwardVec = anglesToForward(orientation);
- forwardVec2D = (forwardVec[0], forwardVec[1], 0);
- unitForwardVec2D = vectorNormalize(forwardVec2D);
- toFaceeVec = pos-self.origin;
- toFaceeVec2D = (toFaceeVec[0], toFaceeVec[1], 0);
- unitToFaceeVec2D = vectorNormalize(toFaceeVec2D);
- dotProduct = vectorDot(unitForwardVec2D, unitToFaceeVec2D);
- return(dotProduct > angle);
- }
- isOdd(num)
- {
- for(m = 1; m < 1000; m+=2)
- if(num == m)
- return true;
- return false;
- }
- isSprinting()
- {
- v = self getVelocity();
- if(v[0] >= 200 || v[1] >= 200 || v[0] <= -200 || v[1] <= -200)
- return true;
- return false;
- }
- isNegative(num)
- {
- if(num < 0)
- return true;
- return false;
- }
- frame()
- {
- wait .05;
- }
- divideColour(c1, c2, c3)
- {
- return (c1/255, c2/255, c3/255);
- }
- /*destroyAll(array)
- {
- keys = getArrayKeys(array);
- for(m = 0; m < keys.size; m++)
- {
- if(isDefined(array[keys[m]][0]))
- for(e = 0; e < array[keys[m]].size; e++)
- array[keys[m]][e] destroy();
- else
- array[keys[m]] destroy();
- }
- }*/
- menuInstructions()
- {
- self endon("death");
- self endon("disconnect");
- self endon("instructions_over");
- bar = self createRectangle("BOTTOM", "BOTTOM", 0, -4, 1000, 20, (0, 0, 0), "white", 2, .7);
- text = self createText("default", 1, "CENTER", "BOTTOM", 0, -14, 3, (1/1), "");
- firstTime = undefined;
- for(;;)
- {
- if(isDefined(firstTime))
- self waittill("menu_update");
- firstTime = true;
- if(!isDefined(self.menu["misc"]["inMenu"]))
- {
- if(self getPermission() == level.permissions[0] || self getPermission() == level.permissions[1])
- text setText("[{+speed_throw}] + [{+melee}]: Open Mod Menu");
- else if(self getPermission() == level.permissions[2])
- text setText("[{+speed_throw}] + [{+melee}]: Open Mod Menu - [{+speed_throw}] + [{+activate}]: Open Verification Menu - [{+speed_throw}] + [{+frag}]: Open Quick Verification");
- }
- else
- text setText("[{+attack}]: Scroll Down - [{+speed_throw}]: Scroll Up - [{+activate}]: Select Menu/Mod - [{+frag}]: Quick Exit - [{+melee}]: Go Back/Exit Menu");
- if(isDefined(self.menu["misc"]["editorInfo"]))
- text setText(self.menu["misc"]["editorInfo"]);
- if(isDefined(self.menu["misc"]["instructionsOver"]))
- break;
- }
- bar destroyElem();
- text destroy();
- }
- disableMenuInstructions()
- {
- self.menu["misc"]["instructionsOver"] = true;
- self notify("menu_update");
- }
- reEnableMenuInstructions()
- {
- self.menu["misc"]["instructionsOver"] = undefined;
- self thread menuInstructions();
- self notify("menu_update");
- }
- setInstructions(text)
- {
- self.menu["misc"]["editorInfo"] = text;
- self notify("menu_update");
- }
- resetInstructions()
- {
- self.menu["misc"]["editorInfo"] = undefined;
- self notify("menu_update");
- }
- alwaysColourful()
- {
- self endon("colours_over");
- for(;;)
- {
- self fadeOverTime(1);
- self.color = (randomInt(255)/255, randomInt(255)/255, randomInt(255)/255);
- wait 1;
- }
- }
- deleteTrigger(trigger)
- {
- for(m = 0; m < trigger.size; m++)
- getEntArray(trigger, "targetname")[m] delete();
- }
- setMenuColour(hud, colour)
- {
- self.menu["uiStore"][hud]["colour"] = colour;
- self.menu["ui"][hud] fadeOverTime(.4);
- self.menu["ui"][hud].color = colour;
- wait .4;
- }
- setMenuShader(hud, shader)
- {
- self.menu["uiStore"][hud]["shader"] = shader;
- self.menu["ui"][hud] setShader(shader, self.menu["ui"][hud].width, self.menu["ui"][hud].height);
- self thread setMenuColour(hud, (1, 1, 1));
- }
- setMenuAlpha(hud, alpha)
- {
- self.menu["uiStore"][hud]["alpha"] = alpha;
- self.menu["ui"][hud] fadeOverTime(.4);
- self.menu["ui"][hud].alpha = alpha;
- }
- resetMenuLook()
- {
- self thread setMenuShader("bg", "white");
- self thread setMenuShader("scroller", "white");
- self thread setMenuColour("bg", (0, 0, 0));
- self thread setMenuColour("scroller", (1, 1, 1));
- self thread setMenuAlpha("bg", (1/1.7));
- self thread setMenuAlpha("scroller", (1/1.2));
- }
- test()
- {
- self iPrintLn("Current Menu: "+self getPrimaryMenu());
- self iPrintLn("Current Option: "+(self getCurs()+1));
- }
- /*
- verificationOpts(opt, who, input)
- {
- who = getPlayers()[who];
- //name = who getname();
- switch(opt)
- {
- case "veri":
- if(who == self)
- return;
- perm = level.permissions[input];
- if(who getPermission() == perm)
- return;
- who iPrintLn("^1ADMIN: ^7Permission Level: "+perm);
- self iPrintLn("^1ADMIN: ^7" "'s Permission Level: "+perm);
- who exitMenu();
- who setPermission(perm);
- who notify("menu_update");
- self refreshMenu();
- break;
- }
- }
- */
- createProgressBar(time, texty, waity, waityText)
- {
- bar = createPrimaryProgressBar();
- text = createPrimaryProgressBarText();
- bar updateBar(0, 1/time);
- text setText(texty);
- wait(time);
- text setText(waityText);
- wait(waity);
- bar destroyElem();
- text destroy();
- }
- isConsole()
- {
- if(level.xenon || level.ps3)
- return true;
- return false;
- }
- isSolo()
- {
- if(getPlayers().size <= 1)
- return true;
- return false;
- }
- setParent( element )
- {
- if ( isDefined( self.parent ) && self.parent == element ) return;
- if ( isDefined( self.parent ) ) self.parent removeChild( self );
- self.parent = element;
- self.parent addChild( self );
- if ( isDefined( self.point ) ) self setPoint( self.point, self.relativePoint, self.xOffset, self.yOffset );
- else self setPoint( "TOPLEFT" );
- }
- getParent()
- {
- return self.parent;
- }
- addChild( element )
- {
- element.index = self.children.size;
- self.children[self.children.size] = element;
- }
- removeChild( element )
- {
- element.parent = undefined;
- if ( self.children[self.children.size-1] != element )
- {
- self.children[element.index] = self.children[self.children.size-1];
- self.children[element.index].index = element.index;
- }
- self.children[self.children.size-1] = undefined;
- element.index = undefined;
- }
- setPoint( point, relativePoint, xOffset, yOffset, moveTime )
- {
- if ( !isDefined( moveTime ) ) moveTime = 0;
- element = self getParent();
- if ( moveTime ) self moveOverTime( moveTime );
- if ( !isDefined( xOffset ) ) xOffset = 0;
- self.xOffset = xOffset;
- if ( !isDefined( yOffset ) ) yOffset = 0;
- self.yOffset = yOffset;
- self.point = point;
- self.alignX = "center";
- self.alignY = "middle";
- if ( isSubStr( point, "TOP" ) ) self.alignY = "top";
- if ( isSubStr( point, "BOTTOM" ) ) self.alignY = "bottom";
- if ( isSubStr( point, "LEFT" ) ) self.alignX = "left";
- if ( isSubStr( point, "RIGHT" ) ) self.alignX = "right";
- if ( !isDefined( relativePoint ) ) relativePoint = point;
- self.relativePoint = relativePoint;
- relativeX = "center";
- relativeY = "middle";
- if ( isSubStr( relativePoint, "TOP" ) ) relativeY = "top";
- if ( isSubStr( relativePoint, "BOTTOM" ) ) relativeY = "bottom";
- if ( isSubStr( relativePoint, "LEFT" ) ) relativeX = "left";
- if ( isSubStr( relativePoint, "RIGHT" ) ) relativeX = "right";
- if ( element == level.uiParent )
- {
- self.horzAlign = relativeX;
- self.vertAlign = relativeY;
- }
- else
- {
- self.horzAlign = element.horzAlign;
- self.vertAlign = element.vertAlign;
- }
- if ( relativeX == element.alignX )
- {
- offsetX = 0;
- xFactor = 0;
- }
- else if ( relativeX == "center" || element.alignX == "center" )
- {
- offsetX = int(element.width / 2);
- if ( relativeX == "left" || element.alignX == "right" ) xFactor = -1;
- else xFactor = 1;
- }
- else
- {
- offsetX = element.width;
- if ( relativeX == "left" ) xFactor = -1;
- else xFactor = 1;
- }
- self.x = element.x + (offsetX * xFactor);
- if ( relativeY == element.alignY )
- {
- offsetY = 0;
- yFactor = 0;
- }
- else if ( relativeY == "middle" || element.alignY == "middle" )
- {
- offsetY = int(element.height / 2);
- if ( relativeY == "top" || element.alignY == "bottom" ) yFactor = -1;
- else yFactor = 1;
- }
- else
- {
- offsetY = element.height;
- if ( relativeY == "top" ) yFactor = -1;
- else yFactor = 1;
- }
- self.y = element.y + (offsetY * yFactor);
- self.x += self.xOffset;
- self.y += self.yOffset;
- switch ( self.elemType )
- {
- case "bar": setPointBar( point, relativePoint, xOffset, yOffset );
- break;
- }
- self updateChildren();
- }
- setPointBar( point, relativePoint, xOffset, yOffset )
- {
- self.bar.horzAlign = self.horzAlign;
- self.bar.vertAlign = self.vertAlign;
- self.bar.alignX = "left";
- self.bar.alignY = self.alignY;
- self.bar.y = self.y;
- if ( self.alignX == "left" ) self.bar.x = self.x;
- else if ( self.alignX == "right" ) self.bar.x = self.x - self.width;
- else self.bar.x = self.x - int(self.width / 2);
- if ( self.alignY == "top" ) self.bar.y = self.y;
- else if ( self.alignY == "bottom" ) self.bar.y = self.y;
- self updateBar( self.bar.frac );
- }
- updateBar( barFrac, rateOfChange )
- {
- if ( self.elemType == "bar" ) updateBarScale( barFrac, rateOfChange );
- }
- updateBarScale( barFrac, rateOfChange )
- {
- barWidth = int(self.width * barFrac + 0.5);
- if ( !barWidth ) barWidth = 1;
- self.bar.frac = barFrac;
- self.bar setShader( self.bar.shader, barWidth, self.height );
- //assertEx( barWidth <= self.width, "barWidth <= self.width: " + barWidth + " <= " + self.width + " - barFrac was " + barFrac );
- if ( isDefined( rateOfChange ) && barWidth < self.width )
- {
- if ( rateOfChange > 0 )
- {
- //assertex( ((1 - barFrac) / rateOfChange) > 0, "barFrac: " + barFrac + "rateOfChange: " + rateOfChange );
- self.bar scaleOverTime( (1 - barFrac) / rateOfChange, self.width, self.height );
- }
- else if ( rateOfChange < 0 )
- {
- //assertex( (barFrac / (-1 * rateOfChange)) > 0, "barFrac: " + barFrac + "rateOfChange: " + rateOfChange );
- self.bar scaleOverTime( barFrac / (-1 * rateOfChange), 1, self.height );
- }
- }
- self.bar.rateOfChange = rateOfChange;
- self.bar.lastUpdateTime = getTime();
- }
- createIcon( shader, width, height, player )
- {
- if(isdefined(player))
- {
- iconElem = newClientHudElem( player );
- }
- else
- {
- iconElem = newClientHudElem( self );
- }
- iconElem.elemType = "icon";
- iconElem.x = 0;
- iconElem.y = 0;
- iconElem.width = width;
- iconElem.height = height;
- iconElem.xOffset = 0;
- iconElem.yOffset = 0;
- iconElem.children = [];
- iconElem setParent( level.uiParent );
- if ( isDefined( shader ) ) iconElem setShader( shader, width, height );
- return iconElem;
- }
- createBar( color, width, height, flashFrac )
- {
- barElem = newClientHudElem( self );
- barElem.x = 0;
- barElem.y = 0;
- barElem.frac = 0;
- barElem.color = color;
- barElem.sort = -2;
- barElem.shader = "white";
- barElem setShader( "white", width, height );
- barElem.hidden = false;
- if ( isDefined( flashFrac ) )
- {
- barElem.flashFrac = flashFrac;
- }
- barElemFrame = newClientHudElem( self );
- barElemFrame.elemType = "icon";
- barElemFrame.x = 0;
- barElemFrame.y = 0;
- barElemFrame.width = width;
- barElemFrame.height = height;
- barElemFrame.xOffset = 0;
- barElemFrame.yOffset = 0;
- barElemFrame.bar = barElem;
- barElemFrame.barFrame = barElemFrame;
- barElemFrame.children = [];
- barElemFrame.sort = -1;
- barElemFrame.color = (1,1,1);
- barElemFrame setParent( level.uiParent );
- barElemFrame.hidden = false;
- barElemBG = newClientHudElem( self );
- barElemBG.elemType = "bar";
- if ( !level.splitScreen )
- {
- barElemBG.x = -2;
- barElemBG.y = -2;
- }
- barElemBG.width = width;
- barElemBG.height = height;
- barElemBG.xOffset = 0;
- barElemBG.yOffset = 0;
- barElemBG.bar = barElem;
- barElemBG.barFrame = barElemFrame;
- barElemBG.children = [];
- barElemBG.sort = -3;
- barElemBG.color = (0,0,0);
- barElemBG.alpha = 0.5;
- barElemBG setParent( level.uiParent );
- if ( !level.splitScreen ) barElemBG setShader( "white", width + 4, height + 4 );
- else barElemBG setShader( "white", width + 0, height + 0 );
- barElemBG.hidden = false;
- return barElemBG;
- }
- createPrimaryProgressBar()
- {
- bar = createBar( (1, 1, 1), level.primaryProgressBarWidth, level.primaryProgressBarHeight );
- if( level.splitScreen )
- {
- bar setPoint("TOP", undefined, level.primaryProgressBarX, level.primaryProgressBarY);
- }
- else
- {
- bar setPoint("CENTER", undefined, level.primaryProgressBarX, level.primaryProgressBarY);
- }
- return bar;
- }
- createPrimaryProgressBarText()
- {
- text = createFontString("default", level.primaryProgressBarFontSize);
- if( level.splitScreen )
- {
- text setPoint("TOP", undefined, level.primaryProgressBarTextX, level.primaryProgressBarTextY );
- }
- else
- {
- text setPoint("CENTER", undefined, level.primaryProgressBarTextX, level.primaryProgressBarTextY );
- }
- text.sort = -1;
- return text;
- }
- hideElem()
- {
- if ( self.hidden ) return;
- self.hidden = true;
- if ( self.alpha != 0 ) self.alpha = 0;
- if ( self.elemType == "bar" || self.elemType == "bar_shader" )
- {
- self.bar.hidden = true;
- if ( self.bar.alpha != 0 ) self.bar.alpha = 0;
- self.barFrame.hidden = true;
- if ( self.barFrame.alpha != 0 ) self.barFrame.alpha = 0;
- }
- }
- showElem()
- {
- if ( !self.hidden ) return;
- self.hidden = false;
- if ( self.elemType == "bar" || self.elemType == "bar_shader" )
- {
- if ( self.alpha != .5 ) self.alpha = .5;
- self.bar.hidden = false;
- if ( self.bar.alpha != 1 ) self.bar.alpha = 1;
- self.barFrame.hidden = false;
- if ( self.barFrame.alpha != 1 ) self.barFrame.alpha = 1;
- }
- else
- {
- if ( self.alpha != 1 ) self.alpha = 1;
- }
- }
- setFlashFrac( flashFrac )
- {
- self.bar.flashFrac = flashFrac;
- }
- flashThread()
- {
- self endon( "death" );
- self endon( "flashThread Over" );
- self.alpha = 1;
- while(1)
- {
- if ( self.frac >= self.flashFrac )
- {
- self fadeOverTime(0.3);
- self.alpha = .2;
- wait(0.35);
- self fadeOverTime(0.3);
- self.alpha = 1;
- wait(0.7);
- }
- else
- {
- self.alpha = 1;
- wait ( 0.05 );
- }
- }
- }
- destroyElem()
- {
- tempChildren = [];
- for ( index = 0;index < self.children.size;index++ ) tempChildren[index] = self.children[index];
- for ( index = 0;index < tempChildren.size;index++ ) tempChildren[index] setParent( self getParent() );
- if ( self.elemType == "bar" )
- {
- self.bar destroy();
- self.barFrame destroy();
- }
- self destroy();
- }
- setIconShader( shader )
- {
- self setShader( shader, self.width, self.height );
- }
- setWidth( width )
- {
- self.width = width;
- }
- setHeight( height )
- {
- self.height = height;
- }
- setSize( width, height )
- {
- self.width = width;
- self.height = height;
- }
- updateChildren()
- {
- for ( index = 0;index < self.children.size;index++ )
- {
- child = self.children[index];
- child setPoint( child.point, child.relativePoint, child.xOffset, child.yOffset );
- }
- }
- create_mantle()
- {
- text = createFontString( "default", 1.8 );
- text setPoint( "CENTER", undefined, -23, 115 );
- text settext( level.strings["mantle"] );
- icon = createIcon( "hint_mantle", 40, 40 );
- icon setPoint( "CENTER", undefined, 73, 0 );
- icon setparent( text );
- icon.alpha = 0;
- text.alpha = 0;
- level.hud_mantle = [];
- level.hud_mantle[ "text" ] = text;
- level.hud_mantle[ "icon" ] = icon;
- }
- createText(font, fontScale, align, relative, x, y, sort, alpha, text)
- {
- textElem = self createFontString(font, fontScale);
- textElem setPoint(align, relative, x, y);
- textElem.sort = sort;
- textElem.alpha = alpha;
- textElem setText(text);
- return textElem;
- }
- createServerText(font, fontScale, align, relative, x, y, sort, alpha, text)
- {
- textElem = createServerFontString(font, fontScale);
- textElem setPoint(align, relative, x, y);
- textElem.sort = sort;
- textElem.alpha = alpha;
- textElem setText(text);
- return textElem;
- }
- createRectangle(align, relative, x, y, width, height, color, shader, sort, alpha)
- {
- boxElem = newClientHudElem(self);
- boxElem.elemType = "bar";
- if(!level.splitScreen)
- {
- boxElem.x = -2;
- boxElem.y = -2;
- }
- boxElem.width = width;
- boxElem.height = height;
- boxElem.align = align;
- boxElem.relative = relative;
- boxElem.xOffset = 0;
- boxElem.yOffset = 0;
- boxElem.children = [];
- boxElem.sort = sort;
- boxElem.color = color;
- boxElem.alpha = alpha;
- boxElem.shader = shader;
- boxElem setParent(level.uiParent);
- boxElem setShader(shader, width, height);
- boxElem.hidden = false;
- boxElem setPoint(align, relative, x, y);
- return boxElem;
- }
- GodmodeTogs()
- {
- if(self.god == false)
- {
- self enableInvulnerability();
- self.god = true;
- self iprintln("Godmode [^2Enabled^7]");
- }
- else if(self.god == true)
- {
- self DisableInvulnerability();
- self.god = false;
- self iprintln("Godmode [^1Disabled^7]");
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement