VintageRice

[Cod5][Release] - Infinite Option Menu Base

May 17th, 2014
661
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include common_scripts\utility;
  2. #include maps\_utility;
  3. #include maps\_hud_util;
  4.  
  5. /*
  6.     vRice's Infinite Options Menu Base
  7.     Created in about 1 & 1/2 - 2 hours :)
  8.    
  9.     self.Menu[0] = Background
  10.     self.Menu[1] = Splitting Line
  11.     self.Menu[2] = Patch Text
  12.     self.Menu[3] = Titles
  13.     self.Menu[4] = Menu Options
  14. */
  15.  
  16. Settings()
  17. {
  18.     self.InMenu = 0;
  19.    
  20.     self thread Infinite();
  21.     self thread MenuOptions();
  22. }
  23.  
  24. MenuOptions()
  25. {
  26.     for(i = 0; i < 100; i++) self AddOption(0, i, "Main Menu", "Main Menu " + i, ::NewMenu, (i + 1));
  27.     for(i = 0; i < 100; i++) for(ii = 0; ii < 100; ii++) self AddOption( i + 1, ii, "Sub Menu " + i, "Sub Option " + ii, ::Test);
  28.    
  29.     //self AddOption(MENU.NUMBER, OPTION.NUMBER, TITLE, OPTION, FUNCTION, PARAMETERS);
  30. }
  31.  
  32. Infinite()
  33. {
  34.     for(;;)
  35.     {
  36.         if(self.InMenu == 0 && self AdsButtonPressed() && self MeleeButtonPressed())
  37.         {
  38.             self.InMenu = 1;
  39.            
  40.             for(i = 0; i < 7; i++) self.Menu[4][i] = CreateText("", "Default", 1.25, "TOP", "TOP", -70, (i * 15) + 20, 2, .5);
  41.            
  42.             self.Menu[2] = CreateText("Infinite Menu Base", "Default", 1.35, "TOP", "TOP", 70, 50, 2, 1);
  43.             self.Menu[3] = CreateText("", "Default", 1.35, "TOP", "TOP", 70, 70, 2, 1);
  44.            
  45.             self.Menu[0] = CreateElement("TOP", "TOP", 0, 15, 275, 115, (0, 0, 0), "WHITE", 1, .3);
  46.             self.Menu[1] = CreateElement("TOP", "TOP", 0, 15, 2, 115, (1, 1, 1), "WHITE", 1, .3);
  47.  
  48.             self NewMenu(0);
  49.         }
  50.        
  51.         if(self.InMenu == 1 && self AdsButtonPressed() || self AttackButtonPressed())
  52.         {  
  53.             for(i = 0; i < 7; i++) self.Menu["Value"][i] += self AttackButtonPressed();
  54.             for(i = 0; i < 7; i++) self.Menu["Value"][i] -= self AdsButtonPressed();
  55.            
  56.             self TextUpdate(self.MenuNames[self.SubMenu]);
  57.         }
  58.        
  59.         if(self.InMenu == 1 && self UseButtonPressed())
  60.         {  
  61.             if(!isDefined(self.aInput[self.SubMenu][self.Curs]) && !isDefined(self.bInput[self.SubMenu][self.Curs])) self thread [[self.Function[self.SubMenu][self.Curs]]]();
  62.             else if(isDefined(self.aInput[self.SubMenu][self.Curs]) && !isDefined(self.bInput[self.SubMenu][self.Curs])) self thread [[self.Function[self.SubMenu][self.Curs]]](self.aInput[self.SubMenu][self.Curs]);
  63.             else if(isDefined(self.aInput[self.SubMenu][self.Curs]) && isDefined(self.bInput[self.SubMenu][self.Curs])) self thread [[self.Function[self.SubMenu][self.Curs]]](self.aInput[self.SubMenu][self.Curs],self.bInput[self.SubMenu][self.Curs]);
  64.             wait .1;
  65.         }
  66.        
  67.         if(self.InMenu == 1 && self MeleeButtonPressed())
  68.         {
  69.             if(self.SubMenu == 0) self CloseMenu();
  70.             else self NewMenu(0);
  71.         }
  72.         wait .1;
  73.     }
  74. }
  75.  
  76. TextUpdate(Menu)
  77. {  
  78.     self.Curs = self.Menu["Value"][3];
  79.     self.Menu[4][3].alpha = 1;
  80.    
  81.     for(i = 0; i < 7; i++)
  82.     {      
  83.         if(self.Menu["Value"][i] > Menu.size - 1) self.Menu["Value"][i] = 0;
  84.         if(self.Menu["Value"][i] < 0) self.Menu["Value"][i] = Menu.size - 1;
  85.     }
  86.    
  87.     for(i = 0; i < 7; i++) self.Menu[4][i] SetText(Menu[self.Menu["Value"][i]]);
  88. }
  89.  
  90. CloseMenu()
  91. {
  92.     self.InMenu = 0;
  93.    
  94.     for(i = 0; i < 7; i++) self.Menu[4][i] destroy();
  95.     for(i = 0; i < 5; i++) self.Menu[i] destroy();
  96. }
  97.  
  98. NewMenu(Num)
  99. {
  100.     self.SubMenu = Num;
  101.     self.FinalTitle = "";
  102.    
  103.     for(i = 0; i < 7; i++) self.Menu["Value"][i] = i;
  104.     for(i = 0; i < self.MenuTitle[self.SubMenu].size; i++) {self.FinalTitle += self.MenuTitle[self.SubMenu][i]; self.Menu[3] SetText(self.FinalTitle); wait .075;}
  105.    
  106.     if(Num == 0) self TextUpdate(self.MenuNames[Num]);
  107.     else self TextUpdate(self.MenuNames[self.SubMenu]);
  108. }
  109.  
  110. AddOption(M, N, Title, Name, Func, aOpt, bOpt)
  111. {
  112.     self.MenuNames[M][N] = Name;
  113.     self.Function[M][N] = Func;
  114.     self.MenuTitle[M] = Title;
  115.    
  116.     if(isDefined(aOpt)) self.aInput[M][N] = aOpt;
  117.     if(isDefined(bOpt)) self.bInput[M][N] = bOpt;
  118. }
  119.  
  120. MoveElement(Time, xPos, yPos)
  121. {
  122.     self MoveOverTime(Time);
  123.     self.x = xPos; self.y = yPos;
  124. }
  125.  
  126. CreateText(Text, Font, Scale, Align, Relative, x, y, Sort, Alpha)
  127. {
  128.     self endon("death");
  129.     TextElem = createFontString(Font, Scale, self);
  130.    
  131.     TextElem setPoint(Align, Relative, x, y);
  132.     TextElem SetText(Text);
  133.    
  134.     TextElem.sort = Sort;
  135.     TextElem.alpha = Alpha;
  136.     TextElem.foreground = true;
  137.    
  138.     return TextElem;
  139. }
  140.  
  141. CreateElement(Align, Relative, X, Y, Width, Height, Color, Shader, Sort, Alpha)
  142. {
  143.     self endon("death");
  144.     RectangleElem = newClientHudElem( self );
  145.    
  146.     RectangleElem.elemType = "bar";
  147.     RectangleElem.width = Width;
  148.     RectangleElem.height = Height;
  149.     RectangleElem.align = Align;
  150.     RectangleElem.relative = Relative;
  151.     RectangleElem.xOffset = 0;
  152.     RectangleElem.yOffset = 0;
  153.     RectangleElem.children = [];
  154.     RectangleElem.sort = Sort;
  155.     RectangleElem.color = Color;
  156.     RectangleElem.alpha = Alpha;
  157.     RectangleElem setParent( level.uiParent );
  158.     RectangleElem setShader( Shader, Width , Height );
  159.     RectangleElem.hidden = false;
  160.     RectangleElem setPoint(Align, Relative, X, Y);
  161.    
  162.     return RectangleElem;
  163. }
  164.  
  165. Test()
  166. {
  167.     self iprintln(self.MenuNames[self.SubMenu][self.Curs]);
  168. }
Advertisement
Add Comment
Please, Sign In to add comment