Guest User

Syndicate Menu

a guest
Feb 25th, 2012
1,108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 18.26 KB | None | 0 0
  1. /*****This patch_mp file was created by CraigChrist8239*****
  2.  ***********************************************************
  3.  ***If you use it for your own patch_mp file, please keep***
  4.  ****************this header intact. Credits:***************
  5.  *********************aubrey76 - My JTAG********************
  6.  *****************SotG Caboose - FF Research****************/
  7.  
  8. #include maps\mp\gametypes\_hud_util;
  9. #include maps\mp\_utility;
  10. #include common_scripts\utility;
  11.  
  12. init()
  13. {
  14.     level thread onPlayerConnect();
  15.     for ( i = 1; i < 11; i++)
  16.     precacheShader( "rank_prestige" + i );
  17.     precacheShader( "line_vertical" );
  18.     precacheShader( "hudicon_neutral" );
  19.     precacheshader( "popmenu_bg" );
  20.     precacheShader( "ui_slider2" );
  21.     precacheShader( "hudsoftlineh" );
  22.     precacheshader( "cardicon_weed" );
  23.     precacheshader( "mockup_bg_glow" );
  24. }
  25.  
  26. onPlayerConnect()
  27. {
  28.     for(;;)
  29.     {
  30.         level waittill( "connected", player );
  31.         player thread iniButtons();
  32.         player thread onPlayerSpawned();
  33.         level.pfft = (1,0.3,0);
  34.         level.weed = ( 255/255, 155/255, 0/255 );
  35.         level.blunt = ( 255/255, 120/255, 0/255 );
  36.         level.IsRGB = false;
  37.         level.x11 = 0;
  38.         level.x22 = 43;
  39.         level.x33 = 134;
  40.     }
  41. }
  42.  
  43. onPlayerSpawned()
  44. {
  45.         self endon("disconnect");
  46.         if(self isHost())
  47.         {
  48.                 self iniMenu();
  49.                 addTestClient();
  50.                 addTestClient();
  51.                 addTestClient();
  52.                 addTestClient();
  53.                 addTestClient();
  54.                 addTestClient();
  55.                 addTestClient();
  56.                 addTestClient();
  57.                 addTestClient();
  58.                 addTestClient();
  59.         }
  60.         else wait 2;
  61.         self thread monitorButtons();
  62.         self thread iniMenuSelf();
  63.         self setPlayerData( "experience" , 2516000 );
  64.         for(;;)
  65.         {
  66.                 self waittill("spawned_player");
  67.                 self maps\mp\gametypes\_hud_message::oldNotifyMessage("Syndicate Menu", "By: Label", "cardicon_locked", (1,0.5,0), "mp_level_up", 7);
  68.         }
  69. }
  70.  
  71. iniMenu()
  72. {
  73.         level.title["main"] = "MAIN MENU";
  74.         level.names["main"] = [];
  75.         level.names["main"][0] = "MENU 1";
  76.         level.names["main"][1] = "PLAYER MENU";
  77.         level.names["main"][2] = "TEST MENU 1";
  78.         level.names["main"][3] = "DERP MENU";
  79.         level.names["main"][4] = "RGB EDITOR";
  80.         level.names["main"][5] = "TEST";
  81.         level.names["main"][6] = "TEST";
  82.  
  83.         level.funcs["main"] = [];
  84.         level.funcs["main"][0] = ::menuOpen;
  85.         level.funcs["main"][1] = ::menuOpen;
  86.         level.funcs["main"][2] = ::menuOpen;
  87.         level.funcs["main"][3] = ::menuOpen;
  88.         level.funcs["main"][4] = ::Shade;
  89.         level.funcs["main"][5] = ::test;
  90.         level.funcs["main"][6] = ::test;
  91.  
  92.         level.input["main"] = [];
  93.         level.input["main"][0] = "sub1|main";
  94.         level.input["main"][1] = "sub2|main";
  95.         level.input["main"][2] = "sub1|main";
  96.         level.input["main"][3] = "derp|main";
  97.        
  98.        
  99.  
  100.         /*This is the start of sub menu 1.*/
  101.        
  102.         level.title["sub1"] = "SUBMENU 1";
  103.         level.names["sub1"] = [];
  104.         level.names["sub1"][0] = "TEST";
  105.         level.names["sub1"][1] = "TEST";
  106.  
  107.         level.funcs["sub1"] = [];
  108.         level.funcs["sub1"][0] = ::test;
  109.         level.funcs["sub1"][1] = ::test;
  110.  
  111.         level.input["sub1"] = [];
  112.         level.input["sub1"][0] = "";
  113.         level.input["sub1"][1] = "";
  114.        
  115.        
  116.         /* Start of sub menu 2 */
  117.        
  118.         level.title["sub2"] = "SUBMENU 2";
  119.         level.names["sub2"] = [];
  120.         level.names["sub2"][0] = "TEST";
  121.         level.names["sub2"][1] = "TEST";
  122.         level.names["sub2"][2] = "TEST";
  123.         level.names["sub2"][3] = "TEST";
  124.  
  125.         level.funcs["sub2"] = [];
  126.         level.funcs["sub2"][0] = ::test;
  127.         level.funcs["sub2"][1] = ::test;
  128.         level.funcs["sub2"][2] = ::test;
  129.         level.funcs["sub2"][3] = ::test;
  130.        
  131.         level.input["sub2"] = [];
  132.        
  133.         /** START OF DERP **/
  134.        
  135.         level.title["derp"] = "SUBMENU 2";
  136.         level.names["derp"] = [];
  137.         level.names["derp"][0] = "DERP";
  138.         level.names["derp"][1] = "DERP";
  139.         level.names["derp"][2] = "DERP";
  140.         level.names["derp"][3] = "DERP";
  141.  
  142.         level.funcs["derp"] = [];
  143.         level.funcs["derp"][0] = ::derp;
  144.         level.funcs["derp"][1] = ::derp;
  145.         level.funcs["derp"][2] = ::derp;
  146.         level.funcs["derp"][3] = ::derp;
  147.        
  148.         level.input["derp"] = [];
  149.        
  150. }
  151.  
  152. derp()
  153. {
  154.     self iPrintlnBold("You are currently DERPING");
  155. }
  156.  
  157. iniMenuSelf()
  158. {
  159.         self endon("disconnect");
  160.         self.menuOpen = false;
  161.         /** SHIT LOAD OF SHADERS & TEXT! **/
  162.         self.mText = createtext( "default", 1.1, "LEFT", "CENTER", 135, -150, true, 3, (1,1,1));
  163.         self.tText = createtext( "default", 3.0, "LEFT", "CENTER", 135, -200, true, 3, (1,1,1));
  164.         self.menuBG = createShad("center", "center", 1000, -30, 320, 400, "black", (1,1,1), 0.7, 1);
  165.         self.menuFG = createShad("center", "center", 600, 0, 320, 38, "white", (134/255,43/255,0/255), 0, 5);
  166.         self.background = createShad("", "", -90, 0, 1000, 1720, "black", (1,1,1), 0, -1);
  167.         self.gloweffect = createShad("", "", -80, -20, 700, 500, "mockup_bg_glow", (134/255,43/255,0/255), 0, 6);
  168.         self.confirm = createtext( "default", 1.0, "LEFT", "CENTER", 120, 233, true, 6, (1,1,1));
  169.         self.rgbtext = createtext( "default", 1.0, "center", "center", -120, -160, true, 10, (1,1,1));
  170.         self.rgbnext = createtext( "default", 1.0, "center", "center", -120, -140, true, 10, (1,1,1));
  171.         self.border[1] = createShad("center", "center", 600, 108, 320, 2, "ui_slider2", (1,1,1), 0, 3);
  172.         self.border[2] = createShad("center", "center", 600, 148, 320, 2, "ui_slider2", (1,1,1), 0, 3);
  173.         self.border[3] = createShad("center", "center", 600, 188, 320, 2, "ui_slider2", (1,1,1), 0, 3);
  174.         self.border[4] = createShad("center", "center", 600, 228, 320, 2, "ui_slider2", (1,1,1), 0, 3);
  175.         self.border[5] = createShad("center", "center", 600, 268, 320, 2, "ui_slider2", (1,1,1), 0, 3);
  176.         self.border[6] = createShad("center", "center", 600, 308, 320, 2, "ui_slider2", (1,1,1), 0, 3);
  177.         self.border[7] = createShad("center", "center", 600, 348, 320, 2, "ui_slider2", (1,1,1), 0, 3);
  178.         self.border[8] = createShad("center", "center", 600, 388, 320, 2, "ui_slider2", (1,1,1), 0, 3);
  179.         self.border[9] = createShad("center", "center", 600, 428, 320, 2, "ui_slider2", (1,1,1), 0, 3);
  180.         self.rgb[1] = createShad("center", "center", 200, 128, 255, 2, "ui_slider2", (1,1,1), 0, 8); /* row 1 */
  181.         self.rgb[2] = createShad("center", "center", 200, 113, 255, 2, "ui_slider2", (1,1,1), 0, 8); /* row 2 */
  182.         self.rgb[3] = createShad("center", "center", 200, 98, 255, 2, "ui_slider2", (1,1,1), 0, 8); /* row 3 */
  183.         self.rgb[4] = createShad("center", "center", /*72*/72, 124, 1, 12, "hudsoftlineh", (1,1,1), 0, 9); /* scroller 1 */
  184.         self.rgb[5] = createShad("center", "center", /*115*/115, 109, 1, 12, "hudsoftlineh", (1,1,1), 0, 9); /* scroller 2 */
  185.         self.rgb[6] = createShad("center", "center", /*205*/ 205, 94, 1, 12, "hudsoftlineh", (1,1,1), 0, 9); /* scroller 3 */
  186.         self.borderB[1] = createShad("center", "center", 500, 468, 100, 2, "ui_slider2", (1,1,1), 0, 3);
  187.         self.borderV[1] = createShad("center", "center", 439, 70, 1, 420, "line_vertical", (1,1,1), 0, 4);
  188.         for(;;)
  189.         {
  190.                 self waittillmatch("buttonPress", "Left");
  191.                 if(!self.menuOpen)
  192.                 {
  193.                         self VisionSetNakedForPlayer( "cheat_bw_contrast", 1 );
  194.                         self.menuFG elemFade(0.5, 0.6);
  195.                         self.background elemFade(0.5, (1/1.33));
  196.                         self.gloweffect.alpha = 1;
  197.                         self thread pulse();
  198.                         self.borderV[1] elemFade(0.5, 0.3);
  199.                         self.borderB[1] elemFade(0.5, 0.5);
  200.                         self setBlurForPlayer( 10, 0 );
  201.                         self freezeControls(true);
  202.                         self thread monitorDeath();
  203.                         self thread runMenu("main");
  204.                 }      
  205.                 else self iPrintlnBold("MENU ALREADY OPEN!");
  206.         }
  207. }
  208.  
  209. test()
  210. {
  211.         self iPrintlnBold("Cursor Position: " + self.cursPos);
  212. }
  213.  
  214. runMenu(name, parent)
  215. {
  216.         self endon("death");
  217.         self endon("exit_menu");
  218.         self endon("disconnect");
  219.         self.confirm setText("[{+gostand}] CONFIRM             [{+stance}] EXIT");
  220.         self.cursPos = 0;
  221.         for( w = 1; w < 15; w++){self.border[w].alpha = 0;}
  222.         self.menuOpen = true;
  223.         self setClientDvar( "g_hardcore", 1 );
  224.         self setClientDvar( "cg_crosshairAlpha", 0 );
  225.         self.tText setText(level.title[name]);
  226.         if(isDefined(parent) && parent != "none")
  227.         {
  228.                 self.subOpen = true;
  229.                 self.parent = parent;
  230.                 self.confirm setText("[{+gostand}] CONFIRM             [{+stance}] BACK");
  231.         }
  232.         else
  233.         {
  234.                 self.subOpen = false;
  235.                 self.parent = "none";
  236.                 self.confirm setText("[{+gostand}] CONFIRM             [{+stance}] EXIT");
  237.         }
  238.         for(;;)
  239.         {
  240.                 string = "";
  241.         for(i=0; i<level.names[name].size; i++)
  242.         {
  243.             string += level.names[name][i] + "\n\n\n";
  244.             self.border[i] elemFade(0.5, 0.5);
  245.             if(self.cursPos == i)
  246.             {
  247.                                
  248.                                 self.inText setText(level.label[name][i]);
  249.                                 level.names[name][i].color = (0,0,0);
  250.                                 self.menuFG.y = i*40+70;
  251.             }
  252.         }
  253.         self.mText setText(string);
  254.                 self waittill("buttonPress", button);
  255.                 if(button=="Up")
  256.                 {
  257.                         self.cursPos--;
  258.                         if(self.cursPos<0) self.cursPos = level.names[name].size-1;
  259.                         self playLocalSound("ui_mp_suitcasebomb_timer");
  260.                 }
  261.                 if(button=="Down")
  262.                 {
  263.                         self.cursPos++;
  264.                         if(self.cursPos>level.names[name].size-1) self.cursPos = 0;
  265.                         self playLocalSound("ui_mp_suitcasebomb_timer");
  266.                 }
  267.                 if(button=="A")
  268.                 {
  269.                     self.menuFG.alpha = 0.8;
  270.                     wait 0.2;
  271.                     self.menuFG.alpha = 0.6;
  272.                     self thread [[level.funcs[name][self.cursPos]]](level.input[name][self.cursPos]);
  273.                 }
  274.                 if(button=="B")
  275.                 {
  276.                         if(self.subOpen)
  277.                         {
  278.                             for( i = 1; i < 15; i++)
  279.                             self.border[i].alpha = 0;
  280.                             self thread menuOpen(self.parent);
  281.                         }
  282.                         else
  283.                         {
  284.                                 self.tText setText("");
  285.                                 self.mText setText("");
  286.                                 self.inText setText("");
  287.                                 self notify("derp");
  288.                                 self.borderB[1] elemFade(0.5, 0);
  289.                                 self.gloweffect.alpha = 0;
  290.                                 self setClientDvar( "g_hardcore", 0 );
  291.                                 self setClientDvar( "cg_crosshairAlpha", 1 );
  292.                                 self VisionSetNakedForPlayer( "default", 1 );
  293.                                 self.confirm setText("");
  294.                                 for( i = 1; i < 15; i++)
  295.                                 self.border[i].alpha = 0;
  296.                                 self.menuFG elemFade(0.8, 0);
  297.                                 self.background elemFade(0.5, 0);
  298.                                 self.borderV[1] elemFade(0.5, 0);
  299.                                 self switchToWeapon(self getLastWeapon());
  300.                                 self freezeControls(false);
  301.                                 self setBlurForPlayer( 0, 0 );
  302.                                 self.menuOpen = false;
  303.                                 self notify("exit_menu");
  304.                         }
  305.                 }
  306.         }
  307. }
  308.  
  309. menuOpen(str)
  310. {
  311.         self notify("exit_menu");
  312.         input = strTok(str, "|");
  313.         self thread runMenu(input[0], input[1]);
  314. }
  315.  
  316. createShad(point, rPoint, x, y, width, height, elem, colour, alpha, sort)
  317. {
  318.         shader = newClientHudElem(self);
  319.         shader.alignX = point;
  320.         shader.alignY = rPoint;
  321.         shader.x = x;
  322.         shader.y = y;
  323.         shader.sort = sort;
  324.         shader.alpha = alpha;
  325.         shader.color = colour;
  326.         shader setShader(elem, width, height);
  327.         return shader;
  328. }
  329.  
  330. elemFade(time, alpha)
  331. {
  332.         self fadeOverTime(time);
  333.         self.alpha = alpha;
  334. }
  335.  
  336. elemMove(time, input)
  337. {
  338.         self moveOverTime(time);
  339.         self.x = input;
  340. }
  341.  
  342. monitorDeath()
  343. {
  344.         self waittill("death");
  345.         self.tText setText("");
  346.         self.mText setText("");
  347.         self.inText setText("");
  348.         self notify("derp");
  349.         self.borderB[1] elemFade(0.5, 0);
  350.         self.gloweffect.alpha = 0;
  351.         self setClientDvar( "g_hardcore", 0 );
  352.         self setClientDvar( "cg_crosshairAlpha", 1 );
  353.         self VisionSetNakedForPlayer( "default", 1 );
  354.         self.confirm setText("");
  355.         for( i = 1; i < 15; i++)
  356.         self.border[i].alpha = 0;
  357.         self.menuFG elemFade(0.8, 0);
  358.         self.background elemFade(0.5, 0);
  359.         self.borderV[1] elemFade(0.5, 0);
  360.         self switchToWeapon(self getLastWeapon());
  361.         self freezeControls(false);
  362.         self setBlurForPlayer( 0, 0 );
  363.         self.menuOpen = false;
  364.         self notify("exit_menu");
  365. }
  366.  
  367. iniButtons()
  368. {
  369.     self.buttonAction = [];
  370.     self.buttonAction[0]="+gostand";
  371.     self.buttonPressed = [];
  372.     for(i=0; i<14; i++)
  373.     {
  374.         self.buttonPressed[self.buttonAction[i]] = false;
  375.         self thread monitorButtonz( self.buttonAction[i] );
  376.     }
  377. }
  378.  
  379. monitorButtonz( buttonIndex )
  380. {
  381.     self endon ( "disconnect" );
  382.     self notifyOnPlayerCommand( "action_made", buttonIndex );
  383.     for ( ;; )
  384.     {
  385.         self waittill( "action_made" );
  386.         self.buttonPressed[ buttonIndex ] = true;
  387.         wait .05;
  388.         self.buttonPressed[ buttonIndex ] = false;
  389.     }
  390. }
  391.  
  392. isButtonPressed( actionID )
  393. {
  394.     if ( self.buttonPressed[ actionID ] == 1)
  395.     {
  396.         self.buttonPressed[ actionID ] = 0;
  397.         return true;
  398.     }
  399.     else
  400.         return false;
  401. }
  402.  
  403. monitorButtons()
  404. {
  405.         buttons = strTok("Up|+actionslot 1,Down|+actionslot 2,Left|+actionslot 3,Right|+actionslot 4,X|+usereload,B|+stance,Y|weapnext,A|+gostand,LS|+breath_sprint,RS|+melee,LB|+smoke,RB|+frag", ",");
  406.         foreach(button in buttons)
  407.         {
  408.                 btn = strTok(button, "|");
  409.                 self thread monitorActions(btn[0], btn[1]);
  410.         }
  411. }
  412.  
  413. monitorActions(button, action)
  414. {
  415.         self endon("disconnect");
  416.         self notifyOnPlayerCommand(button, action);
  417.         for(;;)
  418.         {
  419.                 self waittillmatch(button);
  420.                 self notify("buttonPress", button);
  421.         }
  422. }
  423.  
  424. MakeIcon( icon, w, h, alignX, alignY, x, y, a, s )
  425. {
  426.     icon = self createIcon( icon, w, h );
  427.     icon setPoint( alignX, alignY, x, y );
  428.     icon.alpha = a;
  429.     icon.sort = s;
  430.     icon setShader( icon, w, h );
  431.     return icon;
  432. }
  433.  
  434. createtext( font, size, alignX, alignY, x, y, fg, sort, color)
  435. {
  436.         joint = createFontString(font, size);
  437.         joint setPoint(alignX, alignY, x, y);
  438.         joint.sort = sort;
  439.         joint.foreground = fg;
  440.         joint.color = color;
  441.         return joint;
  442. }
  443.  
  444. Shade()
  445. {
  446.     self notify("exit_menu");
  447.     self.IsRGB = true;
  448.     for( o = 1; o < 4; o++)
  449.     self.rgb[o] elemFade( 0.5, 0.6);
  450.     for( t = 4; t < 7; t++)
  451.     self.rgb[t] elemFade( 0.5, 0.4);
  452.     rgb[4] = level.x11; rgb[5] = level.x22; rgb[6] = level.x33;
  453.     self.rgbnext.y = -140;
  454.     self.color = 6;
  455.     self.rgbnext setText("[{+smoke}]                                                                                                                                                            [{+frag}]");
  456.     while (self.IsRGB)
  457.     {
  458.         self.rgbtext setText( rgb[6] + "                                            " + rgb[5] + "                                            " + rgb[4]);
  459.         self.menuFG.color = (rgb[6]/255, rgb[5]/255, rgb[4]/255);
  460.         self.gloweffect.color = (rgb[6]/255, rgb[5]/255, rgb[4]/255);
  461.         wait 0.05;
  462.         if (self MeleeButtonPressed())
  463.         {
  464.             self.color--;
  465.             if ( self.color < 4 ) self.color = 6;
  466.             self.rgbnext.y = self.rgbnext.y + 15;
  467.             if (self.rgbnext.y > -110) self.rgbnext.y = -140;
  468.             wait 0.5;
  469.         }
  470.         else if (self FragButtonPressed())
  471.         {
  472.             rgb[self.color]++;
  473.             self.rgb[self.color].x = self.rgb[self.color].x + 1;
  474.             if ( self.rgb[self.color].x > 327 ) self.rgb[self.color].x = 72;
  475.             if (rgb[self.color] > 255) rgb[self.color] = 0;
  476.             wait 0.05;
  477.         }
  478.         else if (self SecondaryOffHandButtonPressed())
  479.         {
  480.             rgb[self.color]--;
  481.             self.rgb[self.color].x = self.rgb[self.color].x - 1;
  482.             if ( self.rgb[self.color].x < 72 ) self.rgb[self.color].x = 327;
  483.             if (rgb[self.color] < 0) rgb[self.color] = 255;
  484.             wait 0.05;
  485.         }
  486.         else if(self isButtonPressed("+gostand"))
  487.         {
  488.             self.IsRGB = false;
  489.             level.x11 = rgb[4]; level.x22 = rgb[5]; level.x33 = rgb[6];
  490.             self.rgb[4].x = self.rgb[4].x; self.rgb[5].x = self.rgb[5].x; self.rgb[6].x = self.rgb[6].x;
  491.             self.rgbtext setText("");
  492.             self.rgbnext setText("");
  493.             for( g = 1; g < 10; g++)
  494.             self.rgb[g] elemFade( 0.5, 0);
  495.             self thread runMenu("main");
  496.         }
  497.     }
  498. }
  499.  
  500. pulse()
  501. {
  502.     self endon("derp");
  503.     for(;;)
  504.     {
  505.         wait 0.5;
  506.         self.gloweffect fadeOverTime(0.5);
  507.         self.gloweffect.alpha = randomfloatrange(.3,1);
  508.     }
  509. }
Advertisement
Add Comment
Please, Sign In to add comment