Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- onPlayerConnect() {
- for(;;) {
- level waittill( "connected", player );
- player thread onPlayerSpawned();
- }
- }
- onPlayerSpawned() {
- for(;;) {
- self waittill( "spawned_player" );
- self SetClientDvar( "loc_warnings", "0" );
- self SetClientDvar( "loc_warningsAsErrors", "0" );
- self thread menuSetUp();
- }
- }
- menuSetUp() {
- //Vars
- self.menu["base"] = spawnStruct();
- self.menu["UI"] = spawnStruct();
- self.menu["VeriSytem"] = spawnStruct();
- self.menu["base"].curs = 0;
- self.menu["base"].locked = false;
- self.menu["base"].PlayerIsIn = false;
- self.menu["base"].CurrentMenu = undefined;
- self.menu["base"].GlobalMain = "mainMenu"; //The Menus Root Directory
- //Threads
- tempValue = false;
- if(self == getPlayers()[0] && tempValue == false ) {
- self.menu["VeriSytem"].Current = "Admin";
- self thread menuControlListener();
- tempValue = true;
- }
- if(self != get_players()[0]) {
- self.menu["VeriSytem"].Current = "unVerified";
- }
- self thread AddMenusToStructure();
- }
- AddMenusToStructure(mainMenu_rec) {
- addMenu("mainMenu", "Main Menu Options");
- if(self menuEventListener("PlayerStat") > 0) {
- addMenuSettings("main Menu 1", ::menuDisplayWatch, "Change", "SubMenu");
- addMenuSettings("main Menu 2");
- addMenuSettings("main Menu 3");
- }
- if(self menuEventListener("PlayerStat") > 1) {
- addMenuSettings("main Menu 4");
- addMenuSettings("main Menu 5");
- addMenuSettings("main Menu 6");
- }
- if(self menuEventListener("PlayerStat") > 2) {
- addMenuSettings("main Menu 7");
- addMenuSettings("main Menu 8");
- addMenuSettings("main Menu 9");
- addMenuSettings("Player Menu", ::menuDisplayWatch, "Change", "PlayerMenu");
- addMenuSettings("main Menu 11");
- }
- if(IsDefined(mainMenu_rec))
- return;
- addMenu("SubMenu/mainMenu", "A Different Menu For...");
- addMenuSettings("Sub Menus 1", ::menuDisplayWatch, "Change", "SubMenu");
- addMenuSettings("Sub Menus 2");
- addMenuSettings("Change Me to hello", ::Example);
- addMenuSettings("Sub Menus 4");
- addMenuSettings("Sub Menus 5");
- addMenuSettings("Sub Menus 6");
- addMenuSettings("Sub Menus 7");
- addMenuSettings("Sub Menus 8");
- addMenuSettings("Sub Menus 9");
- addMenu("PlayerMenu/mainMenu", "Player Menu");
- for(i = 0; i < getPlayers().size;i++) {
- playerName = getPlayers()[i].playername;
- addMenuSettings(playerName+" Options", ::menuDisplayWatch, "Change", playerName+"options");
- addMenu(playerName+"options/PlayerMenu", playerName);
- addMenuSettings("Change Verification", ::menuDisplayWatch, "Change", playerName+"Verification");
- addMenuSettings("Verification Menus 3");
- addMenuSettings("Verification Menus 4");
- addMenuSettings("Verification Menus 5");
- addMenuSettings("Verification Menus 6");
- addMenuSettings("Verification Menus 7");
- addMenuSettings("Verification Menus 8");
- addMenuSettings("Verification Menus 9");
- addMenu(playerName+"Verification/"+playerName+"options", playerName);
- addMenuSettings("unVerified", ::ChangeVerfication, "unVerified", i);
- addMenuSettings("Verified", ::ChangeVerfication, "Verified", i);
- addMenuSettings("CoHost", ::ChangeVerfication, "CoHost", i);
- }
- }
- menuControlListener() {
- for(;;) {
- if(!self menuEventListener("locked") && self menuEventListener("PlayerStat") != 0) {
- if(!self menuEventListener("PlayerIsIn")) {
- if(self AdsButtonPressed() && self fragButtonPressed()) {
- self menuDisplayWatch("Open");
- wait 0.5;
- }
- } else {
- if(self attackButtonPressed() || self AdsButtonPressed()) {
- self.menu["base"].curs += self attackButtonPressed();
- self.menu["base"].curs -= self AdsButtonPressed();
- if(self.menu["base"].curs > self.menu["items"][self menuEventListener("CurrentMenu")].options.size-1)
- self.menu["base"].curs = 0;
- if(self.menu["base"].curs < 0)
- self.menu["base"].curs = self.menu["items"][self menuEventListener("CurrentMenu")].options.size-1;
- self.menu["UI"].Scroller HudChangeY(0.2, self.menu["UI"].textDisplay[self menuEventListener("Curs")].y);
- wait 0.2;
- }
- if(self useButtonPressed()) {
- self [[self.menu["items"][self menuEventListener("CurrentMenu")].function[self menuEventListener("Curs")]]](
- self.menu["items"][self menuEventListener("CurrentMenu")].input[self menuEventListener("Curs")],
- self.menu["items"][self menuEventListener("CurrentMenu")].argument[self menuEventListener("Curs")],
- self.menu["items"][self menuEventListener("CurrentMenu")].argument2[self menuEventListener("Curs")]);
- wait 0.3;
- }
- if(self meleeButtonPressed()) {
- if(self.menu["items"][self menuEventListener("CurrentMenu")].parentMenu != "none")
- self menuDisplayWatch("Change", self.menu["items"][self menuEventListener("CurrentMenu")].parentMenu);
- else
- self menuDisplayWatch("Close");
- wait 0.2;
- }
- if(self fragButtonPressed()) {
- self menuDisplayWatch("Close");
- wait 0.2;
- }
- }
- }
- wait 0.05; // to make mikeeeyy happy
- }
- }
- menuEventListener(type) {
- if(type == "Locked")
- return self.menu["base"].locked;
- if(type == "Curs")
- return self.menu["base"].curs;
- if(type == "PlayerIsIn")
- return self.menu["base"].PlayerIsIn;
- if(type == "CurrentMenu")
- return self.menu["base"].CurrentMenu;
- if(type == "PlayerStat") {
- if(self.menu["VeriSytem"].Current == "Admin")
- return 3;
- if(self.menu["VeriSytem"].Current == "CoHost")
- return 2;
- if(self.menu["VeriSytem"].Current == "Verified")
- return 1;
- if(self.menu["VeriSytem"].Current == "unVerified")
- return 0;
- }
- }
- menuDisplayWatch(type, menu) {
- if(type == "Open") {
- self.menu["base"].curs = 0;
- self.menu["UI"].backGround = self createRectangle("LEFT", "CENTER", 500, -50, 200, 300, (0, 0, 0), 1, 0.8, "white" );
- self.menu["UI"].Scroller = self createRectangle("LEFT", "CENTER", 500, -150, 200, 20, (1, 0, 0), 2, 1, "white" );
- self.menu["UI"].backGround HudChangeX(0.3, 160);
- self.menu["UI"].Scroller HudChangeX(0.3 ,160);
- wait 0.3;
- self thread menuTextRun(self.menu["base"].GlobalMain);
- //if(!YOUR_GOD_MODE_SETTING_HERE_FOR_IT_BEING_ON) //add it yourself
- self godModeActive();
- self.menu["base"].PlayerIsIn = true;
- }
- if(type == "Close") {
- self.menu["UI"].Title Destroy();
- for(i = 0;i < 11; i++)
- self.menu["UI"].textDisplay[i] Destroy();
- self.menu["UI"].backGround HudChangeX(0.3, 500);
- self.menu["UI"].Scroller HudChangeX(0.3 ,500);
- wait 0.3;
- self.menu["UI"].backGround Destroy();
- self.menu["UI"].Scroller Destroy();
- //if(!YOUR_GOD_MODE_SETTING_HERE_FOR_IT_BEING_ON) //add it yourself
- self godModeDeactive();
- self.menu["base"].PlayerIsIn = false;
- }
- if(type == "Change") {
- self.menu["base"].curs = 0;
- for(i = 0;i < 11; i++)
- self.menu["UI"].textDisplay[i] Destroy();
- wait 0.2;
- self menuTextRun(menu);
- self.menu["UI"].Scroller HudChangeY(0.2, self.menu["UI"].textDisplay[self menuEventListener("Curs")].y);
- }
- }
- menuTextRun(menu) {
- self.menu["base"].CurrentMenu = menu;
- if(!IsDefined(self.menu["UI"].Title))
- self.menu["UI"].Title = self createDefault("LEFT", "CENTER", 170, -180, 1.7, "^6"+self.menu["items"][menu].title, (1, 1, 1), 0);
- else
- self.menu["UI"].Title setText("^6"+self.menu["items"][menu].title);
- self.menu["UI"].Title HudChangeAlpha(0.2, 1);
- size = 0;
- if(self.menu["items"][menu].options.size > 11)
- size = 11;
- else
- size = self.menu["items"][menu].options.size;
- for(i = 0;i < size;i++) {
- self.menu["UI"].textDisplay[i] = self createDefault("LEFT", "CENTER", 170, -150+(i*22), 1.2, self.menu["items"][menu].options[i], (1, 1, 1), 0);
- self.menu["UI"].textDisplay[i] HudChangeAlpha(0.2, 1);
- wait 0.01;
- }
- if(self.menu["items"][menu].options.size > 11) {
- self iprintLn("You have gone over the amount of options this base can hold");
- wait 0.1;
- self iprintLn("You have gone over by "+(self.menu["items"][menu].options.size-11));
- }
- }
- addMenu(menu, title) {
- parent = strTok(menu, "/");
- if(!IsDefined(self.menu["items"][parent[0]])) {
- self.menu["items"][parent[0]] = spawnStruct();
- self.menu["items"][parent[0]].options = [];
- self.menu["items"][parent[0]].function = [];
- self.menu["items"][parent[0]].input = [];
- self.menu["items"][parent[0]].argument = [];
- self.menu["items"][parent[0]].argument2 = [];
- self.menu["items"][parent[0]].title = title;
- if(!IsDefined(parent[1]))
- self.menu["items"][parent[0]].parentMenu = "none";
- else
- self.menu["items"][parent[0]].parentMenu = parent[1];
- }
- self.menu["base"].CurrentAddMenu = parent[0];
- }
- addMenuSettings(name, function, input, argument, argument2) {
- menuCount = self.menu["items"][self.menu["base"].CurrentAddMenu].options.size;
- self.menu["items"][self.menu["base"].CurrentAddMenu].options[menuCount] = name;
- self.menu["items"][self.menu["base"].CurrentAddMenu].function[menuCount] = function;
- self.menu["items"][self.menu["base"].CurrentAddMenu].input[menuCount] = input;
- self.menu["items"][self.menu["base"].CurrentAddMenu].argument[menuCount] = argument;
- self.menu["items"][self.menu["base"].CurrentAddMenu].argument2[menuCount] = argument2;
- }
- ChangeVerfication(Verification, player) {
- getPlayers()[player] undefineMainMenu();
- getPlayers()[player].menu["base"].locked = true; //Locks players menu so they can not fuck it up.
- getPlayers()[player] menuDisplayWatch("Close"); //CLoses that players menus
- getPlayers()[player].menu["VeriSytem"].Current = Verification; //changes the verificaiton
- wait 0.1;
- getPlayers()[player] AddMenusToStructure(true); //by adding true it makes the function only add the main menus
- if(Verification != "unVerified")
- getPlayers()[player] menuDisplayWatch("Open"); // the reopens the menu
- getPlayers()[player].menu["base"].locked = false; //Unlocks players menu
- }
- //This will undefine all the main menu functions and options.
- undefineMainMenu() {
- for(i= 0;i < 11;i++) {
- self.menu["items"][self.menu["base"].GlobalMain].options[i] = undefined;
- self.menu["items"][self.menu["base"].GlobalMain].function[i] = undefined;
- self.menu["items"][self.menu["base"].GlobalMain].input[i] = undefined;
- self.menu["items"][self.menu["base"].GlobalMain].argument[i] = undefined;
- self.menu["items"][self.menu["base"].GlobalMain].argument2[i] = undefined;
- }
- }
- //This is how to change text in game
- Example() {
- ChangeMenuTextInMenu("SubMenu", "Hello");
- }
- ChangeMenuTextInMenu(menu, text, curs) {
- if(self.menu["base"].PlayerIsIn) {
- if(IsDefined(curs)) {
- self.menu["items"][menu].options[curs] = text;
- self.menu["UI"].textDisplay[curs] setText(text);
- } else {
- self.menu["items"][menu].options[self menuEventListener("Curs")] = text;
- self.menu["UI"].textDisplay[self menuEventListener("Curs")] setText(text);
- }
- } else {
- if(IsDefined(curs))
- self.menu["items"][menu].options[curs] = text;
- else
- self iprintLn("this can only be done when you are in the menu if you want it to work out of the menu ingame define the cursor");
- }
- }
- //Extra Funtions
- godModeActive() {
- self EnableHealthShield(true);
- self EnableInvulnerability();
- }
- godModeDeactive() {
- self EnableHealthShield(false);
- self DisableInvulnerability();
- }
- rgb(r, g, b) { return ((r/255),(g/255),(b/255)); }
- HudChangeX(time, x) { self MoveOverTime(time); self.x = x; }
- HudChangeY(time, y) { self MoveOverTime(time); self.y = y; }
- HudChangeColor(time, color) { self FadeOverTime(time); self.color = color; }
- HudChangeAlpha(time, alpha) { self FadeOverTime(time); self.alpha = alpha; }
- createDefault(align, relative, x, y, font, text, color, alpha) {
- ui = self createfontstring("default", font, self);
- ui setPoint(align, relative, x, y);
- ui setText(text);
- if(IsDefined(alpha))
- ui.alpha = alpha;
- if(IsDefined(color))
- ui.color = color;
- return ui;
- }
- createRectangle(align, relative, 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);
- return barElemBG;
- }
Advertisement
Add Comment
Please, Sign In to add comment