Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include common_scripts\utility;
- #include maps\_utility;
- #include maps\_hud_util;
- /*
- vRice's Windows 8 Style Base
- Idea from 'JTAGxHACKER
- *First base by me written from scratch :)
- self.Tile[0] = Background
- self.Tile[1] = Vertical Splits
- self.Tile[2] = Horizontal Splits
- self.Tile[3] = Menu Text
- self.Tile[4] = Scroller
- */
- Settings()
- {
- self.InMenu = 0;
- self Dvars(0, 1, 0, false, 1, 0, 0);
- self thread Windows8();
- self thread MenuOptions();
- self thread DefaultColours();
- }
- DefaultColours()
- {
- self.Colour[0] = (0, .5, 1);
- for(i = 1; i < 3; i++) self.Colour[i] = (0, 0, 0);
- self.Colour[3] = (1, 1, 1);
- self.Colour[4] = (0, .25, 1);
- }
- /*
- The reason I have done the menu options like this is because it saved space for testing, you need a basic scripting knowledge to add your own menus
- So yeah, add menu's like so:
- MAIN MENU - self AddOption( 0, 0, "Main Menu Name", ::NewMenu, 0, "" );
- SUB MENU - self AddOption( 0, 0, "Sub Menu Name", ::Test, "", "" );
- */
- MenuOptions()
- {
- self.MenuNames = []; self.Function = []; self.Input = []; self.Inputx = [];
- self.Title[0] = "Main Menu";
- self.MenuNames[0] = [];
- for(i = 0; i < 12; i++) self AddOption( 0, i, "Main Menu " + i, ::NewMenu, (i + 1), "" );
- for(i = 0; i < 12; i++)
- {
- self.Title[i + 1] = "Sub Menu " + i;
- self.MenuNames[i + 1] = [];
- for(o = 0; o < 12; o++) self AddOption( i + 1, o, "Sub Option " + o, ::Test, "", "" );
- }
- }
- Windows8()
- {
- for(;;)
- {
- if(self.InMenu == 0 && self AdsButtonPressed() && self MeleeButtonPressed())
- {
- self.InMenu = 1;
- self.Curs = 0;
- self Dvars(5, 0, 1, true, 0, 1, 1);
- self MenuText();
- if(isDefined(level.chalk_hud2)) level.chalk_hud2 Destroy();
- level.chalk_hud1 Destroy();
- self.Tile[0] = CreateElement("CENTER", "CENTER", 1000, 0, 400, 300, self.Colour[0], "white", 1, .3);
- self.Tile[0] MoveElement(.3, 0, 0); wait .5;
- self.Tile[4] = CreateElement("CENTER", "CENTER", self.Tile[3][0].x, self.Tile[3][0].y, 100, 100, self.Colour[4], "white", 1, .3);
- for(i = 0; i < 3; i++) {self.Tile[1][i] = CreateElement("CENTER", "CENTER", ((i * 100) - 100), 0, 2, 300, self.Colour[1], "white", 2, 1); wait .125;}
- for(i = 0; i < 2; i++) {self.Tile[2][i] = CreateElement("CENTER", "CENTER", 0, ((i * 100) - 50), 400, 2, self.Colour[2], "white", 2, 1); wait .125;}
- self SubMenu(0);
- wait .05;
- }
- if(self.InMenu == 1 && self AdsButtonPressed() || self AttackButtonPressed())
- {
- self.Curs += self AttackButtonPressed();
- self.Curs -= self AdsButtonPressed();
- if(self.Curs > self.MenuNames[self.SubMenu].size - 1) self.Curs = 0;
- if(self.Curs < 0) self.Curs = self.MenuNames[self.SubMenu].size - 1;
- self MenuScroll();
- wait .1;
- }
- if(self.InMenu == 1 && self UseButtonPressed())
- {
- if(!isDefined(self.Input[self.SubMenu][self.Curs]) && !isDefined(self.Inputx[self.SubMenu][self.Curs])) self thread [[self.Function[self.SubMenu][self.Curs]]]();
- else if(isDefined(self.Input[self.SubMenu][self.Curs]) && !isDefined(self.Inputx[self.SubMenu][self.Curs])) self thread [[self.Function[self.SubMenu][self.Curs]]](self.Input[self.SubMenu][self.Curs]);
- else if(isDefined(self.Input[self.SubMenu][self.Curs]) && isDefined(self.Inputx[self.SubMenu][self.Curs])) self thread [[self.Function[self.SubMenu][self.Curs]]](self.Input[self.SubMenu][self.Curs],self.Inputx[self.SubMenu][self.Curs]);
- wait .1;
- }
- if(self.InMenu == 1 && self MeleeButtonPressed())
- {
- if(self.SubMenu == 0) self CloseMenu();
- else self SubMenu(0);
- }
- wait .2;
- }
- }
- MenuScroll()
- {
- self.Tile[4] MoveElement(.2, self.Tile[3][self.Curs].x, self.Tile[3][self.Curs].y);
- for(i = 0; i < 12; i++) self.Tile[3][i].alpha = .5; wait .05; self.Tile[3][self.Curs].alpha = 1;
- }
- CloseMenu()
- {
- self.InMenu = 0;
- for(i = self.Tile[3].size; i > -1; i--) {self.Tile[3][i] destroy(); wait .125;}
- self.Tile[5] destroy();
- for(i = 2; i > -1; i--) {self.Tile[2][i] destroy(); wait .125;}
- for(i = 3; i > -1; i--) {self.Tile[1][i] destroy(); wait .125;}
- self.Tile[4] destroy(); wait .125;
- self.Tile[0] MoveElement(.3, 1000, 0); wait .4; self.Tile[0] destroy();
- self Dvars(0, 1, 0, false, 1, 0, 0);
- }
- DefaultThings(Num)
- {
- self.Curs = 0;
- self.SubMenu = Num;
- self MenuScroll();
- }
- NewMenu(Num)
- {
- self DefaultThings(Num);
- self TextUpdate(self.MenuNames[Num], Num);
- }
- SubMenu(Num)
- {
- self DefaultThings(Num);
- self TextUpdate(self.MenuNames[self.SubMenu], Num);
- }
- TextUpdate(Menu, Num)
- {
- for(i = 0; i < 12; i++) {self.Tile[3][i] SetText(Menu[i]); wait .075;}
- self.Tile[3].color = self.Colour[4];
- self.FinalTitle = "";
- for(i = 0; i < self.Title[Num].size; i++) {self.FinalTitle += self.Title[Num][i]; self.Tile[5] SetText(self.FinalTitle); wait .075;}
- }
- MenuText()
- {
- self.MenuNumber = -1;
- self.Tile[5] = CreateText("", "Default", 1.3, "LEFT", "CENTER", -200, -160, 2, .5);
- for(ii = 0; ii < 3; ii++)
- {
- for(i = 0; i < 4; i++)
- {
- self.MenuNumber++;
- self.Tile[3][self.MenuNumber] = CreateText("", "Default", 1.3, "CENTER", "CENTER", (i * 100) - 150, (ii * 100) - 100, 2, .5);
- }
- }
- }
- AddOption(M, N, Name, Func, Opt, Opt1)
- {
- self.MenuNames[M][N] = Name;
- self.Function[M][N] = Func;
- if(isDefined(Opt))
- {
- self.Input[M][N] = Opt;
- }
- if(isDefined(Opt1))
- {
- self.Inputx[M][N] = Opt1;
- }
- }
- MoveElement(Time, xPos, yPos)
- {
- self MoveOverTime(Time);
- self.x = xPos;
- self.y = yPos;
- }
- Dvars(Blur, CrossHair, HUD, Controls, Gun, Ammo, Score)
- {
- self setClientDvars("cg_drawcrosshair", CrossHair, "ui_hud_hardcore", HUD, "cg_drawgun", Gun, "ammoCounterHide", Ammo, "miniscoreboardHide", Score);
- self SetBlur(Blur, 0.3);
- self FreezeControls(Controls);
- }
- CreateText(Text, Font, Scale, Align, Relative, x, y, Sort, Alpha)
- {
- self endon("death");
- TextElem = createFontString(Font, Scale, self);
- TextElem setPoint(Align, Relative, x, y);
- TextElem SetText(Text);
- TextElem.sort = Sort;
- TextElem.alpha = Alpha;
- TextElem.foreground = true;
- return TextElem;
- }
- CreateElement(Align, Relative, X, Y, Width, Height, Color, Shader, Sort, Alpha)
- {
- self endon("death");
- RectangleElem = newClientHudElem( self );
- RectangleElem.elemType = "bar";
- RectangleElem.width = Width;
- RectangleElem.height = Height;
- RectangleElem.align = Align;
- RectangleElem.relative = Relative;
- RectangleElem.xOffset = 0;
- RectangleElem.yOffset = 0;
- RectangleElem.children = [];
- RectangleElem.sort = Sort;
- RectangleElem.color = Color;
- RectangleElem.alpha = Alpha;
- RectangleElem setParent( level.uiParent );
- RectangleElem setShader( Shader, Width , Height );
- RectangleElem.hidden = false;
- RectangleElem setPoint(Align, Relative, X, Y);
- return RectangleElem;
- }
- //The functions that the menu does use to run are below:
- Test()
- {
- self iprintln(self.Tile[3][self.Curs]);
- }
Advertisement
Add Comment
Please, Sign In to add comment