Advertisement
BaSs_HaXoR

(*SPRX) oStankyMods Mw3 Base

Sep 6th, 2014
1,009
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 35.80 KB | None | 0 0
  1. #include <wchar.h>
  2. #include <sys/prx.h>
  3. #include <stdio.h>
  4. #include <stdlib.h>
  5. #include <sys/syscall.h>
  6. #include <sys/ppu_thread.h>
  7. #include <string.h>
  8. #include <cstring>
  9. #include <sys/sys_time.h>
  10. #include <sys/time_util.h>
  11. #include <stdarg.h>
  12. #include <assert.h>
  13. #include <sys/process.h>
  14. #include <sys/memory.h>
  15. #include <sys/timer.h>
  16. #include <sys/return_code.h>
  17. #include <sys/prx.h>
  18. #include <stddef.h>
  19. #include <math.h>
  20. #include <stdarg.h>
  21. #include <cellstatus.h>
  22. #include <typeinfo>
  23. #include <vector>
  24. #include <pthread.h>
  25. #include <locale.h>
  26. #include <cell/error.h>
  27. #include <sys/paths.h>
  28. #include <time.h>
  29.  
  30.  
  31. SYS_MODULE_INFO( StankysMw3Base, 0, 1, 1);
  32. SYS_MODULE_START( _StankysMw3Base_prx_entry );
  33.  
  34. SYS_LIB_DECLARE_WITH_STUB( LIBNAME, SYS_LIB_AUTO_EXPORT, STUBNAME );
  35. SYS_LIB_EXPORT( _StankysMw3Base_export_function, LIBNAME );
  36.  
  37. sys_ppu_thread_t Mw3Base;
  38.  
  39.  
  40. sys_ppu_thread_t create_thread(void (*entry)(uint64_t), int priority, size_t stacksize, const char* threadname,sys_ppu_thread_t id)
  41. {  
  42.     if(sys_ppu_thread_create(&id, entry, 0, priority , stacksize, 0, threadname) == CELL_OK)
  43.     {
  44.         //console_write("\n\n Mw2_Menu_Loaded!\n\n");  
  45.     }
  46.        
  47.     return id;
  48. }
  49.  
  50.  
  51. //Dont Worry About This Shit "Just Keep Scrolling Down"
  52. void sleep(usecond_t time)  //1 second = 1000
  53. {
  54.     sys_timer_usleep(time * 1000);
  55. }
  56. #define TOC 0x0072DCE8
  57. struct opd_s
  58. {
  59.     uint32_t sub;
  60.     uint32_t toc;
  61. };
  62. namespace TOC_Calls
  63. {
  64.    opd_s SV_GameSendServerCommand_t = { 0x228FA8, TOC };
  65.    void(*SV_GameSendServerCommand)(int client, int type, char* cmd) = (void(*)(int, int, char*))&SV_GameSendServerCommand_t;
  66. };
  67. namespace Huds
  68. {
  69.     union color_s
  70. {
  71.     struct
  72.     {
  73.         int8_t r;            
  74.         int8_t g;            
  75.         int8_t b;      
  76.         int8_t a;  
  77.     };
  78.     int32_t rgba;
  79. };
  80. struct hudelem_s
  81. {
  82.     int type;
  83.     float x;
  84.     float y;
  85.     float z;
  86.     int targetEntNum;
  87.     float fontScale;
  88.     float fromFontScale;
  89.     float fontScaleStartTime;
  90.     float fontScaleTime;
  91.     int font;
  92.     int alignOrg;
  93.     int alignScreen;
  94.     color_s color;
  95.     color_s fromColor;
  96.     int fadeStartTime;
  97.     int fadeTime;
  98.     int label;
  99.     int width;
  100.     int height;
  101.     int materialIndex;
  102.     int fromWidth;
  103.     int fromHeight;
  104.     int scaleStartTime;
  105.     int scaleTime;
  106.     float fromX;
  107.     float fromY;
  108.     int fromAlignOrg;
  109.     int fromAlignScreen;
  110.     int moveStartTime;
  111.     int moveTime;
  112.     int time;
  113.     int duration;
  114.     float value;
  115.     int text;
  116.     float sort;
  117.     color_s glowColor;
  118.     int fxBirthTime;
  119.     int fxLetterTime;
  120.     int fxDecayStartTime;
  121.     int fxDecayDuration;
  122.     int soundID;
  123.     int flags;
  124. };
  125. struct game_hudelem_s
  126. {
  127.     hudelem_s elem;
  128.     int clientNum;
  129.     int team;
  130.     int archived;
  131. };
  132. int G_LocalizedStringIndex(const char* Text)
  133. {
  134.     opd_s Localized = { 0x001BE6CC, TOC };
  135.     int(*LocalizedStringIndex)(const char* Text) = (int(*)(const char*))&Localized;
  136.     return LocalizedStringIndex(Text);
  137. }
  138. opd_s GMI = { 0x001BE744, TOC };
  139. int(*GetMaterialIndex)(const char* Material) = (int(*)(const char*))&GMI;
  140. game_hudelem_s* HudElem_Alloc()
  141. {
  142.     for (int i = 0; i < 1024; i++)
  143.     {
  144.         game_hudelem_s* elem = (game_hudelem_s*)(0x00F0E10C + (i * 0xB4));
  145.         if (!elem->elem.type) return elem;
  146.     }
  147.     return (game_hudelem_s*)-1;
  148. }
  149. game_hudelem_s* setShader(int clientIndex, int Shader, int Width, int Height, float X, float Y, int Allign = 5, unsigned char R = 0, unsigned char G = 0, unsigned char B = 0, unsigned char A = 0)
  150.  {
  151.   game_hudelem_s* elem = HudElem_Alloc();
  152.   elem->clientNum = clientIndex;
  153.   elem->elem.type = 4;
  154.   *(int*)0x00F3B198 = 1;
  155.   elem->elem.materialIndex = Shader;
  156.   *(int*)0x00F3B198 = 0;
  157.   elem->elem.width = Width;
  158.   elem->elem.height = Height;
  159.   elem->elem.x = X;
  160.   elem->elem.y = Y;
  161.   elem->elem.alignOrg = Allign;
  162.   elem->elem.color.r = R;
  163.   elem->elem.color.g = G;
  164.   elem->elem.color.b = B;
  165.   elem->elem.color.a = A;
  166.   return elem;
  167.  }
  168.  
  169.  game_hudelem_s* setText(int clientIndex, const char* Text, int Font, float FontScale, float X, float Y, int Allign, unsigned char R = 0, unsigned char G = 0, unsigned char B = 0, unsigned char A = 0, unsigned char glowR = 0, unsigned char glowG = 0, unsigned char glowB = 0, unsigned char glowA = 0)
  170.  {
  171.   game_hudelem_s* Elem = HudElem_Alloc();
  172.   Elem->clientNum = clientIndex;
  173.   Elem->elem.type = 1;
  174.   Elem->elem.text = G_LocalizedStringIndex(Text);
  175.   Elem->elem.font = Font;
  176.   Elem->elem.fontScale = FontScale;
  177.   if (Allign != 0)
  178.   { Elem->elem.alignOrg = 5; Elem->elem.alignScreen = Allign; Elem->elem.x = X; Elem->elem.y = Y; }
  179.   else
  180.   { Elem->elem.x = X; Elem->elem.y = Y; }
  181.   Elem->elem.color.r = R;
  182.   Elem->elem.color.g = G;
  183.   Elem->elem.color.b = B;
  184.   Elem->elem.color.a = A;
  185.   Elem->elem.glowColor.r = glowR;
  186.   Elem->elem.glowColor.g = glowG;
  187.   Elem->elem.glowColor.b = glowB;
  188.   Elem->elem.glowColor.a = glowA;
  189.   return Elem;
  190.  }
  191. void HudElem_DestroyAll()
  192. {
  193.     opd_s HDA = { 0x001872E8, TOC };
  194.     void(*HudElemDestroyAll)() = (void(*)())&HDA;
  195.     HudElemDestroyAll();
  196. }
  197.  
  198.  
  199. void FoneScaleOverTime(game_hudelem_s* Elem, float FontSize, float Time)
  200. {
  201.     Elem->elem.fromFontScale = Elem->elem.fontScale;
  202.     Elem->elem.fontScaleTime = Time;
  203.     Elem->elem.fontScaleStartTime = *(int*)0x00FC3DB0;
  204.     Elem->elem.fontScale = FontSize;
  205. }
  206. void ScaleOverTime(game_hudelem_s *Elem, int time, float width, float height)
  207. {
  208.     Elem->elem.fromHeight = Elem->elem.height;
  209.     Elem->elem.fromWidth = Elem->elem.width;
  210.     Elem->elem.scaleStartTime = *(int*)0x00FC3DB0;
  211.     Elem->elem.scaleTime = (int)floor(time * 1000 + 0.5);
  212.     Elem->elem.height = height;
  213.     Elem->elem.width = width;
  214. }
  215. void MoveOverTime(game_hudelem_s *Elem, int time, float x, float y)
  216. {
  217.     Elem->elem.fromX = Elem->elem.x;
  218.     Elem->elem.fromY = Elem->elem.y;
  219.     Elem->elem.fromAlignOrg = Elem->elem.alignOrg;
  220.     Elem->elem.fromAlignScreen = Elem->elem.alignScreen;
  221.     Elem->elem.moveStartTime = *(int*)0x00FC3DB0;
  222.     Elem->elem.moveTime = (int)floor(time * 1000 + 0.5);
  223.     Elem->elem.x = x;
  224.     Elem->elem.y = y;
  225. }
  226. void FadeOverTime(game_hudelem_s* Elem, float Time, int R, int G, int B, int A)
  227. {
  228.     Elem->elem.fromColor = Elem->elem.color;
  229.     Elem->elem.color.r = R;
  230.     Elem->elem.color.g = G;
  231.     Elem->elem.color.b = B;
  232.     Elem->elem.color.a = A;
  233.     Elem->elem.fadeTime = (int)floor(Time * 1000 + 0.5);
  234.     Elem->elem.fadeStartTime = *(int*)0x00FC3DB0;
  235. }
  236. };
  237. void ChangeText(Huds::game_hudelem_s * elem, char* newText)
  238.     {
  239.         elem->elem.text = Huds::G_LocalizedStringIndex(newText);
  240.     }
  241. Huds::game_hudelem_s* Background[18];
  242. Huds::game_hudelem_s* LeftBar[18];
  243. Huds::game_hudelem_s* RightBar[18];
  244. Huds::game_hudelem_s* Scroller[18];
  245. Huds::game_hudelem_s* MenuTitle[18];
  246. Huds::game_hudelem_s* CreatedBy[18];
  247. Huds::game_hudelem_s* Title[18];
  248. Huds::game_hudelem_s* Options[18];
  249. namespace Variables
  250. {
  251.     bool MenuStarted;
  252.     bool IsHost;
  253.     int MaxScroll[18];
  254.     int MenuType[18];
  255.     char* CurMenu[18];
  256.     char* SubName = "Main Menu";
  257.     bool MenuOpen[18];
  258.     char* PreviousMenu[18];
  259.     char* PreviousMenu2[18];
  260.     int Scroll[18];
  261.     char* TitleText[18];
  262.     char* OptionText[18];
  263.     int MainScroll[18];
  264.     int SubScroll[18];
  265. };
  266. namespace Offsets
  267. {
  268.     int cl_InGame = 0x018d4c64;
  269. };
  270. bool InGame()
  271.  {
  272.   if (*(char*)Offsets::cl_InGame != 1)
  273.    return false;
  274.   return true;
  275.  }
  276. int client_s(int clientIndex)
  277. {
  278.     return *(int*)0x17BB210 + (0x68B80 * clientIndex);
  279. }
  280. int getInt(const char* button)
  281. {
  282.     switch(*(char*) button)
  283.     {
  284.         //case "+actionslot 1";
  285.         return 0x3135;
  286.         break;
  287.     }
  288. }
  289. //End
  290.  
  291.  
  292.  
  293.  
  294.  
  295. //Butons
  296. namespace Buttons
  297. {
  298.     enum Buttons
  299.     {
  300.         Up = 0x3135,
  301.         Down = 0x3137,
  302.         Left = 0x3139,
  303.         Right = 0x3231,
  304.         X = 0x3235,
  305.         Square = 0x3131,
  306.         Triangle = 0x3430,
  307.         L1 = 0x3133,
  308.         L2 = 0x3700,
  309.         L3 = 0x3900,
  310.         R1 = 0x3100,
  311.         R2 = 0x3500,
  312.         R3 = 0x3237
  313.     };
  314.  bool DetectBtn(int clientIndex, Buttons Btn)
  315.  {
  316.   return *(short*)(*(int*)0x017BB210 + (clientIndex * 0x68B80) + 0x21022) == Btn;
  317.  }
  318. };
  319. bool isButtonPressed(int client, const char* button)
  320. {
  321.     if(*(int*)client_s(client) + 0x21022 == getInt(button))
  322.     return true;
  323.     return false;
  324. }
  325. //Buttons End
  326.  
  327.  
  328.  
  329.  
  330.  
  331.  
  332. //Menu Base Below
  333. int GetMenuInfo(int client, char* Menu)
  334. {
  335.     if(Menu == Variables::SubName)
  336.     {
  337.         Variables::TitleText[client] = Variables::SubName;//creates the text for the title of that menu
  338.         Variables::OptionText[client] = "Sub Menu 1\nSub Menu 2\nSub Menu 3\nSub Menu 4\nSub Menu 5\nSub Menu 6\nSub Menu 7\nSub Menu 8\nSub Menu 9\nSub Menu 10\nSub Menu 11\nSub Menu 12\nSub Menu 13\nSub Menu 14\nSub Menu 15";//creats the text in the menu
  339.         return 14;//Returns the maximum scroll
  340.     }
  341.     else if(Menu == "Sub Menu 1")
  342.     {
  343.         Variables::TitleText[client] = "Sub Menu 1";
  344.         Variables::OptionText[client] = "God Mode\nNo Clip\nOption 3\nOption 4\nOption 5\nOption 6\nOption 7\nOption 8\nOption 9\nOption 10\nOption 11\nOption 12\nOption 13\nOption 14\nOption 15";
  345.         return 14;
  346.     }
  347.     else if(Menu == "Sub Menu 2")
  348.     {
  349.         Variables::TitleText[client] = "Sub Menu 2";
  350.         Variables::OptionText[client] = "Option 1\nOption 2\nOption 3\nOption 4\nOption 5\nOption 6\nOption 7\nOption 8\nOption 9\nOption 10\nOption 11\nOption 12\nOption 13\nOption 14\nOption 15";
  351.         return 14;
  352.     }
  353.     else if(Menu == "Sub Menu 3")
  354.     {
  355.         Variables::TitleText[client] = "Sub Menu 3";
  356.         Variables::OptionText[client] = "Option 1\nOption 2\nOption 3\nOption 4\nOption 5\nOption 6\nOption 7\nOption 8\nOption 9\nOption 10\nOption 11\nOption 12\nOption 13\nOption 14\nOption 15";
  357.         return 14;
  358.     }
  359.     else if(Menu == "Sub Menu 4")
  360.     {
  361.         Variables::TitleText[client] = "Sub Menu 4";
  362.         Variables::OptionText[client] = "Option 1\nOption 2\nOption 3\nOption 4\nOption 5\nOption 6\nOption 7\nOption 8\nOption 9\nOption 10\nOption 11\nOption 12\nOption 13\nOption 14\nOption 15";
  363.         return 14;
  364.     }
  365.     else if(Menu == "Sub Menu 5")
  366.     {
  367.         Variables::TitleText[client] = "Sub Menu 5";
  368.         Variables::OptionText[client] = "Option 1\nOption 2\nOption 3\nOption 4\nOption 5\nOption 6\nOption 7\nOption 8\nOption 9\nOption 10\nOption 11\nOption 12\nOption 13\nOption 14\nOption 15";
  369.         return 14;
  370.     }
  371.     else if(Menu == "Sub Menu 6")
  372.     {
  373.         Variables::TitleText[client] = "Sub Menu 6";
  374.         Variables::OptionText[client] = "Option 1\nOption 2\nOption 3\nOption 4\nOption 5\nOption 6\nOption 7\nOption 8\nOption 9\nOption 10\nOption 11\nOption 12\nOption 13\nOption 14\nOption 15";
  375.         return 14;
  376.     }
  377.     else if(Menu == "Sub Menu 7")
  378.     {
  379.         Variables::TitleText[client] = "Sub Menu 7";
  380.         Variables::OptionText[client] = "Option 1\nOption 2\nOption 3\nOption 4\nOption 5\nOption 6\nOption 7\nOption 8\nOption 9\nOption 10\nOption 11\nOption 12\nOption 13\nOption 14\nOption 15";
  381.         return 14;
  382.     }
  383.     else if(Menu == "Sub Menu 8")
  384.     {
  385.         Variables::TitleText[client] = "Sub Menu 8";
  386.         Variables::OptionText[client] = "Option 1\nOption 2\nOption 3\nOption 4\nOption 5\nOption 6\nOption 7\nOption 8\nOption 9\nOption 10\nOption 11\nOption 12\nOption 13\nOption 14\nOption 15";
  387.         return 14;
  388.     }
  389.     else if(Menu == "Sub Menu 9")
  390.     {
  391.         Variables::TitleText[client] = "Sub Menu 9";
  392.         Variables::OptionText[client] = "Option 1\nOption 2\nOption 3\nOption 4\nOption 5\nOption 6\nOption 7\nOption 8\nOption 9\nOption 10\nOption 11\nOption 12\nOption 13\nOption 14\nOption 15";
  393.         return 14;
  394.     }
  395.     else if(Menu == "Sub Menu 10")
  396.     {
  397.         Variables::TitleText[client] = "Sub Menu 10";
  398.         Variables::OptionText[client] = "Option 1\nOption 2\nOption 3\nOption 4\nOption 5\nOption 6\nOption 7\nOption 8\nOption 9\nOption 10\nOption 11\nOption 12\nOption 13\nOption 14\nOption 15";
  399.         return 14;
  400.     }
  401.     else if(Menu == "Sub Menu 11")
  402.     {
  403.         Variables::TitleText[client] = "Sub Menu 11";
  404.         Variables::OptionText[client] = "Option 1\nOption 2\nOption 3\nOption 4\nOption 5\nOption 6\nOption 7\nOption 8\nOption 9\nOption 10\nOption 11\nOption 12\nOption 13\nOption 14\nOption 15";
  405.         return 14;
  406.     }
  407.     else if(Menu == "Sub Menu 12")
  408.     {
  409.         Variables::TitleText[client] = "Sub Menu 12";
  410.         Variables::OptionText[client] = "Option 1\nOption 2\nOption 3\nOption 4\nOption 5\nOption 6\nOption 7\nOption 8\nOption 9\nOption 10\nOption 11\nOption 12\nOption 13\nOption 14\nOption 15";
  411.         return 14;
  412.     }
  413.     else if(Menu == "Sub Menu 13")
  414.     {
  415.         Variables::TitleText[client] = "Sub Menu 13";
  416.         Variables::OptionText[client] = "Option 1\nOption 2\nOption 3\nOption 4\nOption 5\nOption 6\nOption 7\nOption 8\nOption 9\nOption 10\nOption 11\nOption 12\nOption 13\nOption 14\nOption 15";
  417.         return 14;
  418.     }
  419.     else if(Menu == "Sub Menu 14")
  420.     {
  421.         Variables::TitleText[client] = "Sub Menu 14";
  422.         Variables::OptionText[client] = "Option 1\nOption 2\nOption 3\nOption 4\nOption 5\nOption 6\nOption 7\nOption 8\nOption 9\nOption 10\nOption 11\nOption 12\nOption 13\nOption 14\nOption 15";
  423.         return 14;
  424.     }
  425.     else if(Menu == "Sub Menu 15")
  426.     {
  427.         Variables::TitleText[client] = "Sub Menu 15";
  428.         Variables::OptionText[client] = "Option 1\nOption 2\nOption 3\nOption 4\nOption 5\nOption 6\nOption 7\nOption 8\nOption 9\nOption 10\nOption 11\nOption 12\nOption 13\nOption 14\nOption 15";
  429.         return 14;
  430.     }
  431.     else
  432.     {
  433.         Variables::TitleText[client] = "Error";
  434.         Variables::OptionText[client] = "Error";
  435.         return 0;
  436.     }
  437. }
  438.  
  439.  
  440.  
  441.  
  442.  
  443. //Menu Base Huds
  444. void StoreHuds(int clientIndex)
  445. {
  446.     Background[clientIndex] = Huds::setShader(clientIndex, 1, 250, 480, -500, 0, 0, 0, 0, 0, 150);//Background
  447.     LeftBar[clientIndex] = Huds::setShader(clientIndex, 1, 2, 480, 198, 999, 0, 255, 0, 0, 255);//Left Bar
  448.     RightBar[clientIndex] = Huds::setShader(clientIndex, 1, 2, 480, 450, 999, 0, 255, 0, 0, 255);//Right Bar
  449.     Scroller[clientIndex] = Huds::setShader(clientIndex, 1, 250, 18, -500, 0, 0, 0, 0, 0, 255);//Scroller
  450.     MenuTitle[clientIndex] = Huds::setText(clientIndex, "Menu Base", 1, 1.5, -500, 130, 0, 255, 255, 255, 255, 255, 0, 0, 255);//Title Text
  451.     CreatedBy[clientIndex] = Huds::setText(clientIndex, "Created By: oStankyModz", 1, 0.5, -500, 130, 0, 255, 255, 255, 255, 255, 0, 0, 255);//Created By
  452.     Title[clientIndex] = Huds::setText(clientIndex, "Main Menu", 1, 0.9, -500, 130, 0, 255, 255, 255, 255, 255, 0, 0, 255);//Main Menu Text
  453.     Options[clientIndex] = Huds::setText(clientIndex, " ", 4, 1.4, -500, 200, 0, 255, 255, 255, 255, 0, 0, 0, 255);//Sub Menu 1
  454. };
  455. void RunMenu(int client)
  456. {
  457.     Variables::MaxScroll[client] = GetMenuInfo(client, Variables::SubName);
  458.     ChangeText(Title[client], Variables::TitleText[client]);
  459.     ChangeText(Options[client], Variables::OptionText[client]);
  460.     Huds::MoveOverTime(Background[client], 0.8, 200, 0);//Background
  461.     Huds::MoveOverTime(LeftBar[client], 0.8, 198, 0);//Left Bar
  462.     Huds::MoveOverTime(RightBar[client], 0.8, 450, 0);//Right Bar
  463.     Huds::MoveOverTime(Scroller[client], 0.8, 200, 120);//Scroller
  464.     Huds::MoveOverTime(MenuTitle[client], 0.8, 230, 40);//Menu Title
  465.     Huds::MoveOverTime(CreatedBy[client], 0.8, 250, 440);//Created By
  466.     Huds::MoveOverTime(Title[client], 0.8, 270, 80);//Main Menu Title
  467.     Huds::MoveOverTime(Options[client], 0.8, 290, 120);//Options Text
  468.     Variables::CurMenu[client] = "Main Menu";
  469.     Variables::MenuType[client] ++;
  470.     Variables::MenuOpen[client] = true;
  471. };
  472. void DeleteHuds(int client)
  473. {
  474.     Huds::MoveOverTime(Background[client], 0.50, -500, 0);//Background
  475.     Huds::MoveOverTime(LeftBar[client], 0.50, -500, 0);//Left Bar
  476.     Huds::MoveOverTime(RightBar[client], 0.50, -500, 0);//Right Bar
  477.     Huds::MoveOverTime(Scroller[client], 0.50, -500, 120);//Scroller
  478.     Huds::MoveOverTime(MenuTitle[client], 0.50, -500, 100);//Menu Title
  479.     Huds::MoveOverTime(CreatedBy[client], 0.50, -500, 450);//Created By
  480.     Huds::MoveOverTime(Title[client], 0.50, -500, 200);//Main Menu Title
  481.     Huds::MoveOverTime(Options[client], 0.50, -500, 290);//Options Text
  482. };
  483. //Menu Base Huds End
  484.  
  485.  
  486.  
  487.  
  488.  
  489. //Menu Functions "God Mode, No Clip, Ect"
  490. namespace Mods
  491. {
  492.     bool GM[18];
  493.     void GodMode(int client)
  494.     {
  495.         if(GM[client] == false)
  496.         {
  497.             *(char*)(0x0FCA41E + 0x280 * client) = 0xFF;
  498.             TOC_Calls::SV_GameSendServerCommand(client, 1, "f \"God Mode ^7[^2On^7]\"");
  499.             GM[client] = true;
  500.         }
  501.         else
  502.         {
  503.             *(char*)(0x0FCA41E + 0x280 * client) = 0x00;
  504.             TOC_Calls::SV_GameSendServerCommand(client, 1, "f \"God Mode ^7[^1Off^7]\"");
  505.             GM[client] = false;
  506.         }
  507.     }
  508.     bool NC[18];
  509.     void NoClip(int client)
  510.     {
  511.         if(NC[client] == false)
  512.         {
  513.             *(char*)(0x0110d87f + 0x3980 * client) = 0x01;
  514.             TOC_Calls::SV_GameSendServerCommand(client, 1, "f \"No Clip ^7[^2On^7]\"");
  515.             NC[client] = true;
  516.         }
  517.         else
  518.         {
  519.             *(char*)(0x0110d87f + 0x3980 * client) = 0x00;
  520.             TOC_Calls::SV_GameSendServerCommand(client, 1, "f \"No Clip ^7[^1Off^7]\"");
  521.             NC[client] = false;
  522.         }
  523.     }
  524. };
  525. //Menu Functions End
  526.  
  527.  
  528.  
  529.  
  530.  
  531. //Menu Base Sub Functions "Dont Need To Edit This Stuff"
  532. void LoadText(int client)
  533. {
  534.     Huds::FadeOverTime(Title[client], 0.50, 0, 0, 0, 0);
  535.     Huds::FadeOverTime(Options[client], 0.50, 0, 0, 0, 0);
  536.     sleep(100);
  537.     ChangeText(Title[client], Variables::TitleText[client]);
  538.     ChangeText(Options[client], Variables::OptionText[client]);
  539.     sleep(100);
  540.     Huds::FadeOverTime(Title[client], 0.50, 255, 255, 255, 255);
  541.     Huds::FadeOverTime(Options[client], 0.50, 255, 255, 255, 255);
  542. }
  543. void UpdateScroll(int client)
  544. {
  545.     float scrollpos = 120 + (16.8 * Variables::Scroll[client]);
  546.     Huds::MoveOverTime(Scroller[client], 0.50, 200, scrollpos);
  547.     sleep(50);
  548. }
  549. void UpdateScrollLoad(int client)
  550. {
  551.     float scrollpos = 120 + (16.8 * Variables::Scroll[client]);
  552.     Huds::MoveOverTime(Scroller[client], 0.50, 200, scrollpos);
  553.     sleep(50);
  554. }
  555. void LoadSub(int client, char* NewMenu, int scroll)
  556. {
  557.     if(Variables::MenuType[client] == 1)
  558.     {
  559.         Variables::MainScroll[client] = scroll;
  560.         Variables::Scroll[client] = 0;
  561.         UpdateScrollLoad(client);
  562.         Variables::CurMenu[client] = NewMenu;
  563.         Variables::MenuType[client] ++;
  564.         Variables::MaxScroll[client] = GetMenuInfo(client, NewMenu);
  565.         LoadText(client);
  566.     }
  567.     else if(Variables::MenuType[client] == 2)
  568.     {
  569.         Variables::SubScroll[client] = scroll;
  570.         Variables::Scroll[client] = 0;
  571.         UpdateScrollLoad(client);
  572.         Variables::PreviousMenu[client] = Variables::CurMenu[client];
  573.         Variables::CurMenu[client] = NewMenu;
  574.         Variables::MenuType[client] ++;
  575.         Variables::MaxScroll[client] = GetMenuInfo(client, NewMenu);
  576.         LoadText(client);
  577.     }
  578.     else if(Variables::MenuType[client] > 2)
  579.     {
  580.         Variables::Scroll[client] = 0;
  581.         UpdateScrollLoad(client);
  582.         Variables::PreviousMenu2[client] = Variables::CurMenu[client];
  583.         Variables::CurMenu[client] = NewMenu;
  584.         Variables::MenuType[client] ++;
  585.         Variables::MaxScroll[client] = GetMenuInfo(client, NewMenu);
  586.         LoadText(client);
  587.     }
  588. }
  589. void Return(int client)
  590. {
  591.     if(Variables::MenuType[client] == 2)
  592.     {
  593.         Variables::Scroll[client] = Variables::MainScroll[client];
  594.         UpdateScroll(client);
  595.         Variables::CurMenu[client] = Variables::SubName;
  596.         Variables::MenuType[client] --;
  597.         Variables::MaxScroll[client] = GetMenuInfo(client, Variables::SubName);
  598.         LoadText(client);
  599.     }
  600.     else if(Variables::MenuType[client] == 3)
  601.     {
  602.         Variables::Scroll[client] = Variables::SubScroll[client];
  603.         UpdateScroll(client);
  604.         Variables::CurMenu[client] = Variables::PreviousMenu[client];
  605.         Variables::MenuType[client] --;
  606.         Variables::MaxScroll[client] = GetMenuInfo(client, Variables::PreviousMenu[client]);
  607.         LoadText(client);
  608.     }
  609.     else if(Variables::MenuType[client] > 3)
  610.     {
  611.         Variables::Scroll[client] = 0;
  612.         UpdateScroll(client);
  613.         Variables::CurMenu[client] = Variables::PreviousMenu2[client];
  614.         Variables::MenuType[client] --;
  615.         Variables::MaxScroll[client] = GetMenuInfo(client, Variables::PreviousMenu2[client]);
  616.         LoadText(client);
  617.     }
  618. }
  619. bool MenuLoaded;
  620. bool menuOpen[18];
  621. //Menu Base Sub Functions End
  622.  
  623.  
  624.  
  625.  
  626.  
  627. //Menu Selection "Where Functions Go"
  628. void MenuSelection(int client, char* Menu, int scroll)
  629. {
  630.     if(Menu == "Main Menu")
  631.     {
  632.         if(scroll == 0)
  633.         {
  634.             LoadSub(client, "Sub Menu 1", scroll);
  635.         }
  636.         if(scroll == 1)
  637.         {
  638.             LoadSub(client, "Sub Menu 2", scroll);
  639.         }
  640.         if(scroll == 2)
  641.         {
  642.             LoadSub(client, "Sub Menu 3", scroll);
  643.         }
  644.         if(scroll == 3)
  645.         {
  646.             LoadSub(client, "Sub Menu 4", scroll);
  647.         }
  648.         if(scroll == 4)
  649.         {
  650.             LoadSub(client, "Sub Menu 5", scroll);
  651.         }
  652.         if(scroll == 5)
  653.         {
  654.             LoadSub(client, "Sub Menu 6", scroll);
  655.         }
  656.         if(scroll == 6)
  657.         {
  658.             LoadSub(client, "Sub Menu 7", scroll);
  659.         }
  660.         if(scroll == 7)
  661.         {
  662.             LoadSub(client, "Sub Menu 8", scroll);
  663.         }
  664.         if(scroll == 8)
  665.         {
  666.             LoadSub(client, "Sub Menu 9", scroll);
  667.         }
  668.         if(scroll == 9)
  669.         {
  670.             LoadSub(client, "Sub Menu 10", scroll);
  671.         }
  672.         if(scroll == 10)
  673.         {
  674.             LoadSub(client, "Sub Menu 11", scroll);
  675.         }
  676.         if(scroll == 11)
  677.         {
  678.             LoadSub(client, "Sub Menu 12", scroll);
  679.         }
  680.         if(scroll == 12)
  681.         {
  682.             LoadSub(client, "Sub Menu 13", scroll);
  683.         }
  684.         if(scroll == 13)
  685.         {
  686.             LoadSub(client, "Sub Menu 14", scroll);
  687.         }
  688.         if(scroll == 14)
  689.         {
  690.             LoadSub(client, "Sub Menu 15", scroll);
  691.         }
  692.     }
  693.     if(Menu == "Sub Menu 1")
  694.     {
  695.         if(scroll == 0)
  696.         {
  697.             Mods::GodMode(client);
  698.         }
  699.         if(scroll == 1)
  700.         {
  701.             Mods::NoClip(client);
  702.         }
  703.     }
  704.     if(Menu == "Sub Menu 2")
  705.     {
  706.         if(scroll == 0)
  707.         {
  708.             //Sub Menu 2 Option 1 Here
  709.         }
  710.         if(scroll == 1)
  711.         {
  712.             //Sub Menu 2 Option 2 Here
  713.         }
  714.         if(scroll == 2)
  715.         {
  716.             //Sub Menu 2 Option 3 Here
  717.         }
  718.         if(scroll == 3)
  719.         {
  720.             //Sub Menu 2 Option 4 Here
  721.         }
  722.         if(scroll == 4)
  723.         {
  724.             //Sub Menu 2 Option 5 Here
  725.         }
  726.         if(scroll == 5)
  727.         {
  728.             //Sub Menu 2 Option 6 Here
  729.         }
  730.         if(scroll == 6)
  731.         {
  732.             //Sub Menu 2 Option 7 Here
  733.         }
  734.         if(scroll == 7)
  735.         {
  736.             //Sub Menu 2 Option 8 Here
  737.         }
  738.         if(scroll == 8)
  739.         {
  740.             //Sub Menu 2 Option 9 Here
  741.         }
  742.         if(scroll == 9)
  743.         {
  744.             //Sub Menu 2 Option 10 Here
  745.         }
  746.         if(scroll == 10)
  747.         {
  748.             //Sub Menu 2 Option 11 Here
  749.         }
  750.         if(scroll == 11)
  751.         {
  752.             //Sub Menu 2 Option 12 Here
  753.         }
  754.         if(scroll == 12)
  755.         {
  756.             //Sub Menu 2 Option 13 Here
  757.         }
  758.         if(scroll == 13)
  759.         {
  760.             //Sub Menu 2 Option 14 Here
  761.         }
  762.         if(scroll == 14)
  763.         {
  764.             //Sub Menu 2 Option 15 Here
  765.         }
  766.     }
  767.     if(Menu == "Sub Menu 3")
  768.     {
  769.         if(scroll == 0)
  770.         {
  771.             //Sub Menu 3 Option 1 Here
  772.         }
  773.         if(scroll == 1)
  774.         {
  775.             //Sub Menu 3 Option 2 Here
  776.         }
  777.         if(scroll == 2)
  778.         {
  779.             //Sub Menu 3 Option 3 Here
  780.         }
  781.         if(scroll == 3)
  782.         {
  783.             //Sub Menu 3 Option 4 Here
  784.         }
  785.         if(scroll == 4)
  786.         {
  787.             //Sub Menu 3 Option 5 Here
  788.         }
  789.         if(scroll == 5)
  790.         {
  791.             //Sub Menu 3 Option 6 Here
  792.         }
  793.         if(scroll == 6)
  794.         {
  795.             //Sub Menu 3 Option 7 Here
  796.         }
  797.         if(scroll == 7)
  798.         {
  799.             //Sub Menu 3 Option 8 Here
  800.         }
  801.         if(scroll == 8)
  802.         {
  803.             //Sub Menu 3 Option 9 Here
  804.         }
  805.         if(scroll == 9)
  806.         {
  807.             //Sub Menu 3 Option 10 Here
  808.         }
  809.         if(scroll == 10)
  810.         {
  811.             //Sub Menu 3 Option 11 Here
  812.         }
  813.         if(scroll == 11)
  814.         {
  815.             //Sub Menu 3 Option 12 Here
  816.         }
  817.         if(scroll == 12)
  818.         {
  819.             //Sub Menu 3 Option 13 Here
  820.         }
  821.         if(scroll == 13)
  822.         {
  823.             //Sub Menu 3 Option 14 Here
  824.         }
  825.         if(scroll == 14)
  826.         {
  827.             //Sub Menu 3 Option 15 Here
  828.         }
  829.     }
  830.     if(Menu == "Sub Menu 4")
  831.     {
  832.         if(scroll == 0)
  833.         {
  834.             //Sub Menu 4 Option 1 Here
  835.         }
  836.         if(scroll == 1)
  837.         {
  838.             //Sub Menu 4 Option 2 Here
  839.         }
  840.         if(scroll == 2)
  841.         {
  842.             //Sub Menu 4 Option 3 Here
  843.         }
  844.         if(scroll == 3)
  845.         {
  846.             //Sub Menu 4 Option 4 Here
  847.         }
  848.         if(scroll == 4)
  849.         {
  850.             //Sub Menu 4 Option 5 Here
  851.         }
  852.         if(scroll == 5)
  853.         {
  854.             //Sub Menu 4 Option 6 Here
  855.         }
  856.         if(scroll == 6)
  857.         {
  858.             //Sub Menu 4 Option 7 Here
  859.         }
  860.         if(scroll == 7)
  861.         {
  862.             //Sub Menu 4 Option 8 Here
  863.         }
  864.         if(scroll == 8)
  865.         {
  866.             //Sub Menu 4 Option 9 Here
  867.         }
  868.         if(scroll == 9)
  869.         {
  870.             //Sub Menu 4 Option 10 Here
  871.         }
  872.         if(scroll == 10)
  873.         {
  874.             //Sub Menu 4 Option 11 Here
  875.         }
  876.         if(scroll == 11)
  877.         {
  878.             //Sub Menu 4 Option 12 Here
  879.         }
  880.         if(scroll == 12)
  881.         {
  882.             //Sub Menu 4 Option 13 Here
  883.         }
  884.         if(scroll == 13)
  885.         {
  886.             //Sub Menu 4 Option 14 Here
  887.         }
  888.         if(scroll == 14)
  889.         {
  890.             //Sub Menu 4 Option 15 Here
  891.         }
  892.     }
  893.     if(Menu == "Sub Menu 5")
  894.     {
  895.         if(scroll == 0)
  896.         {
  897.             //Sub Menu 5 Option 1 Here
  898.         }
  899.         if(scroll == 1)
  900.         {
  901.             //Sub Menu 5 Option 2 Here
  902.         }
  903.         if(scroll == 2)
  904.         {
  905.             //Sub Menu 5 Option 3 Here
  906.         }
  907.         if(scroll == 3)
  908.         {
  909.             //Sub Menu 5 Option 4 Here
  910.         }
  911.         if(scroll == 4)
  912.         {
  913.             //Sub Menu 5 Option 5 Here
  914.         }
  915.         if(scroll == 5)
  916.         {
  917.             //Sub Menu 5 Option 6 Here
  918.         }
  919.         if(scroll == 6)
  920.         {
  921.             //Sub Menu 5 Option 7 Here
  922.         }
  923.         if(scroll == 7)
  924.         {
  925.             //Sub Menu 5 Option 8 Here
  926.         }
  927.         if(scroll == 8)
  928.         {
  929.             //Sub Menu 5 Option 9 Here
  930.         }
  931.         if(scroll == 9)
  932.         {
  933.             //Sub Menu 5 Option 10 Here
  934.         }
  935.         if(scroll == 10)
  936.         {
  937.             //Sub Menu 5 Option 11 Here
  938.         }
  939.         if(scroll == 11)
  940.         {
  941.             //Sub Menu 5 Option 12 Here
  942.         }
  943.         if(scroll == 12)
  944.         {
  945.             //Sub Menu 5 Option 13 Here
  946.         }
  947.         if(scroll == 13)
  948.         {
  949.             //Sub Menu 5 Option 14 Here
  950.         }
  951.         if(scroll == 14)
  952.         {
  953.             //Sub Menu 5 Option 15 Here
  954.         }
  955.     }
  956.     if(Menu == "Sub Menu 6")
  957.     {
  958.         if(scroll == 0)
  959.         {
  960.             //Sub Menu 6 Option 1 Here
  961.         }
  962.         if(scroll == 1)
  963.         {
  964.             //Sub Menu 6 Option 2 Here
  965.         }
  966.         if(scroll == 2)
  967.         {
  968.             //Sub Menu 6 Option 3 Here
  969.         }
  970.         if(scroll == 3)
  971.         {
  972.             //Sub Menu 6 Option 4 Here
  973.         }
  974.         if(scroll == 4)
  975.         {
  976.             //Sub Menu 6 Option 5 Here
  977.         }
  978.         if(scroll == 5)
  979.         {
  980.             //Sub Menu 6 Option 6 Here
  981.         }
  982.         if(scroll == 6)
  983.         {
  984.             //Sub Menu 6 Option 7 Here
  985.         }
  986.         if(scroll == 7)
  987.         {
  988.             //Sub Menu 6 Option 8 Here
  989.         }
  990.         if(scroll == 8)
  991.         {
  992.             //Sub Menu 6 Option 9 Here
  993.         }
  994.         if(scroll == 9)
  995.         {
  996.             //Sub Menu 6 Option 10 Here
  997.         }
  998.         if(scroll == 10)
  999.         {
  1000.             //Sub Menu 6 Option 11 Here
  1001.         }
  1002.         if(scroll == 11)
  1003.         {
  1004.             //Sub Menu 6 Option 12 Here
  1005.         }
  1006.         if(scroll == 12)
  1007.         {
  1008.             //Sub Menu 6 Option 13 Here
  1009.         }
  1010.         if(scroll == 13)
  1011.         {
  1012.             //Sub Menu 6 Option 14 Here
  1013.         }
  1014.         if(scroll == 14)
  1015.         {
  1016.             //Sub Menu 6 Option 15 Here
  1017.         }
  1018.     }
  1019.     if(Menu == "Sub Menu 7")
  1020.     {
  1021.         if(scroll == 0)
  1022.         {
  1023.             //Sub Menu 7 Option 1 Here
  1024.         }
  1025.         if(scroll == 1)
  1026.         {
  1027.             //Sub Menu 7 Option 2 Here
  1028.         }
  1029.         if(scroll == 2)
  1030.         {
  1031.             //Sub Menu 7 Option 3 Here
  1032.         }
  1033.         if(scroll == 3)
  1034.         {
  1035.             //Sub Menu 7 Option 4 Here
  1036.         }
  1037.         if(scroll == 4)
  1038.         {
  1039.             //Sub Menu 7 Option 5 Here
  1040.         }
  1041.         if(scroll == 5)
  1042.         {
  1043.             //Sub Menu 7 Option 6 Here
  1044.         }
  1045.         if(scroll == 6)
  1046.         {
  1047.             //Sub Menu 7 Option 7 Here
  1048.         }
  1049.         if(scroll == 7)
  1050.         {
  1051.             //Sub Menu 7 Option 8 Here
  1052.         }
  1053.         if(scroll == 8)
  1054.         {
  1055.             //Sub Menu 7 Option 9 Here
  1056.         }
  1057.         if(scroll == 9)
  1058.         {
  1059.             //Sub Menu 7 Option 10 Here
  1060.         }
  1061.         if(scroll == 10)
  1062.         {
  1063.             //Sub Menu 7 Option 11 Here
  1064.         }
  1065.         if(scroll == 11)
  1066.         {
  1067.             //Sub Menu 7 Option 12 Here
  1068.         }
  1069.         if(scroll == 12)
  1070.         {
  1071.             //Sub Menu 7 Option 13 Here
  1072.         }
  1073.         if(scroll == 13)
  1074.         {
  1075.             //Sub Menu 7 Option 14 Here
  1076.         }
  1077.         if(scroll == 14)
  1078.         {
  1079.             //Sub Menu 7 Option 15 Here
  1080.         }
  1081.     }
  1082.     if(Menu == "Sub Menu 8")
  1083.     {
  1084.         if(scroll == 0)
  1085.         {
  1086.             //Sub Menu 8 Option 1 Here
  1087.         }
  1088.         if(scroll == 1)
  1089.         {
  1090.             //Sub Menu 8 Option 2 Here
  1091.         }
  1092.         if(scroll == 2)
  1093.         {
  1094.             //Sub Menu 8 Option 3 Here
  1095.         }
  1096.         if(scroll == 3)
  1097.         {
  1098.             //Sub Menu 8 Option 4 Here
  1099.         }
  1100.         if(scroll == 4)
  1101.         {
  1102.             //Sub Menu 8 Option 5 Here
  1103.         }
  1104.         if(scroll == 5)
  1105.         {
  1106.             //Sub Menu 8 Option 6 Here
  1107.         }
  1108.         if(scroll == 6)
  1109.         {
  1110.             //Sub Menu 8 Option 7 Here
  1111.         }
  1112.         if(scroll == 7)
  1113.         {
  1114.             //Sub Menu 8 Option 8 Here
  1115.         }
  1116.         if(scroll == 8)
  1117.         {
  1118.             //Sub Menu 8 Option 9 Here
  1119.         }
  1120.         if(scroll == 9)
  1121.         {
  1122.             //Sub Menu 8 Option 10 Here
  1123.         }
  1124.         if(scroll == 10)
  1125.         {
  1126.             //Sub Menu 8 Option 11 Here
  1127.         }
  1128.         if(scroll == 11)
  1129.         {
  1130.             //Sub Menu 8 Option 12 Here
  1131.         }
  1132.         if(scroll == 12)
  1133.         {
  1134.             //Sub Menu 8 Option 13 Here
  1135.         }
  1136.         if(scroll == 13)
  1137.         {
  1138.             //Sub Menu 8 Option 14 Here
  1139.         }
  1140.         if(scroll == 14)
  1141.         {
  1142.             //Sub Menu 8 Option 15 Here
  1143.         }
  1144.     }
  1145.     if(Menu == "Sub Menu 9")
  1146.     {
  1147.         if(scroll == 0)
  1148.         {
  1149.             //Sub Menu 9 Option 1 Here
  1150.         }
  1151.         if(scroll == 1)
  1152.         {
  1153.             //Sub Menu 9 Option 2 Here
  1154.         }
  1155.         if(scroll == 2)
  1156.         {
  1157.             //Sub Menu 9 Option 3 Here
  1158.         }
  1159.         if(scroll == 3)
  1160.         {
  1161.             //Sub Menu 9 Option 4 Here
  1162.         }
  1163.         if(scroll == 4)
  1164.         {
  1165.             //Sub Menu 9 Option 5 Here
  1166.         }
  1167.         if(scroll == 5)
  1168.         {
  1169.             //Sub Menu 9 Option 6 Here
  1170.         }
  1171.         if(scroll == 6)
  1172.         {
  1173.             //Sub Menu 9 Option 7 Here
  1174.         }
  1175.         if(scroll == 7)
  1176.         {
  1177.             //Sub Menu 9 Option 8 Here
  1178.         }
  1179.         if(scroll == 8)
  1180.         {
  1181.             //Sub Menu 9 Option 9 Here
  1182.         }
  1183.         if(scroll == 9)
  1184.         {
  1185.             //Sub Menu 9 Option 10 Here
  1186.         }
  1187.         if(scroll == 10)
  1188.         {
  1189.             //Sub Menu 9 Option 11 Here
  1190.         }
  1191.         if(scroll == 11)
  1192.         {
  1193.             //Sub Menu 9 Option 12 Here
  1194.         }
  1195.         if(scroll == 12)
  1196.         {
  1197.             //Sub Menu 9 Option 13 Here
  1198.         }
  1199.         if(scroll == 13)
  1200.         {
  1201.             //Sub Menu 9 Option 14 Here
  1202.         }
  1203.         if(scroll == 14)
  1204.         {
  1205.             //Sub Menu 9 Option 15 Here
  1206.         }
  1207.     }
  1208.     if(Menu == "Sub Menu 10")
  1209.     {
  1210.         if(scroll == 0)
  1211.         {
  1212.             //Sub Menu 10 Option 1 Here
  1213.         }
  1214.         if(scroll == 1)
  1215.         {
  1216.             //Sub Menu 10 Option 2 Here
  1217.         }
  1218.         if(scroll == 2)
  1219.         {
  1220.             //Sub Menu 10 Option 3 Here
  1221.         }
  1222.         if(scroll == 3)
  1223.         {
  1224.             //Sub Menu 10 Option 4 Here
  1225.         }
  1226.         if(scroll == 4)
  1227.         {
  1228.             //Sub Menu 10 Option 5 Here
  1229.         }
  1230.         if(scroll == 5)
  1231.         {
  1232.             //Sub Menu 10 Option 6 Here
  1233.         }
  1234.         if(scroll == 6)
  1235.         {
  1236.             //Sub Menu 10 Option 7 Here
  1237.         }
  1238.         if(scroll == 7)
  1239.         {
  1240.             //Sub Menu 10 Option 8 Here
  1241.         }
  1242.         if(scroll == 8)
  1243.         {
  1244.             //Sub Menu 10 Option 9 Here
  1245.         }
  1246.         if(scroll == 9)
  1247.         {
  1248.             //Sub Menu 10 Option 10 Here
  1249.         }
  1250.         if(scroll == 10)
  1251.         {
  1252.             //Sub Menu 10 Option 11 Here
  1253.         }
  1254.         if(scroll == 11)
  1255.         {
  1256.             //Sub Menu 10 Option 12 Here
  1257.         }
  1258.         if(scroll == 12)
  1259.         {
  1260.             //Sub Menu 10 Option 13 Here
  1261.         }
  1262.         if(scroll == 13)
  1263.         {
  1264.             //Sub Menu 10 Option 14 Here
  1265.         }
  1266.         if(scroll == 14)
  1267.         {
  1268.             //Sub Menu 10 Option 15 Here
  1269.         }
  1270.     }
  1271.     if(Menu == "Sub Menu 11")
  1272.     {
  1273.         if(scroll == 0)
  1274.         {
  1275.             //Sub Menu 11 Option 1 Here
  1276.         }
  1277.         if(scroll == 1)
  1278.         {
  1279.             //Sub Menu 11 Option 2 Here
  1280.         }
  1281.         if(scroll == 2)
  1282.         {
  1283.             //Sub Menu 11 Option 3 Here
  1284.         }
  1285.         if(scroll == 3)
  1286.         {
  1287.             //Sub Menu 11 Option 4 Here
  1288.         }
  1289.         if(scroll == 4)
  1290.         {
  1291.             //Sub Menu 11 Option 5 Here
  1292.         }
  1293.         if(scroll == 5)
  1294.         {
  1295.             //Sub Menu 11 Option 6 Here
  1296.         }
  1297.         if(scroll == 6)
  1298.         {
  1299.             //Sub Menu 11 Option 7 Here
  1300.         }
  1301.         if(scroll == 7)
  1302.         {
  1303.             //Sub Menu 11 Option 8 Here
  1304.         }
  1305.         if(scroll == 8)
  1306.         {
  1307.             //Sub Menu 11 Option 9 Here
  1308.         }
  1309.         if(scroll == 9)
  1310.         {
  1311.             //Sub Menu 11 Option 10 Here
  1312.         }
  1313.         if(scroll == 10)
  1314.         {
  1315.             //Sub Menu 11 Option 11 Here
  1316.         }
  1317.         if(scroll == 11)
  1318.         {
  1319.             //Sub Menu 11 Option 12 Here
  1320.         }
  1321.         if(scroll == 12)
  1322.         {
  1323.             //Sub Menu 11 Option 13 Here
  1324.         }
  1325.         if(scroll == 13)
  1326.         {
  1327.             //Sub Menu 11 Option 14 Here
  1328.         }
  1329.         if(scroll == 14)
  1330.         {
  1331.             //Sub Menu 11 Option 15 Here
  1332.         }
  1333.     }
  1334.     if(Menu == "Sub Menu 12")
  1335.     {
  1336.         if(scroll == 0)
  1337.         {
  1338.             //Sub Menu 12 Option 1 Here
  1339.         }
  1340.         if(scroll == 1)
  1341.         {
  1342.             //Sub Menu 12 Option 2 Here
  1343.         }
  1344.         if(scroll == 2)
  1345.         {
  1346.             //Sub Menu 12 Option 3 Here
  1347.         }
  1348.         if(scroll == 3)
  1349.         {
  1350.             //Sub Menu 12 Option 4 Here
  1351.         }
  1352.         if(scroll == 4)
  1353.         {
  1354.             //Sub Menu 12 Option 5 Here
  1355.         }
  1356.         if(scroll == 5)
  1357.         {
  1358.             //Sub Menu 12 Option 6 Here
  1359.         }
  1360.         if(scroll == 6)
  1361.         {
  1362.             //Sub Menu 12 Option 7 Here
  1363.         }
  1364.         if(scroll == 7)
  1365.         {
  1366.             //Sub Menu 12 Option 8 Here
  1367.         }
  1368.         if(scroll == 8)
  1369.         {
  1370.             //Sub Menu 12 Option 9 Here
  1371.         }
  1372.         if(scroll == 9)
  1373.         {
  1374.             //Sub Menu 12 Option 10 Here
  1375.         }
  1376.         if(scroll == 10)
  1377.         {
  1378.             //Sub Menu 12 Option 11 Here
  1379.         }
  1380.         if(scroll == 11)
  1381.         {
  1382.             //Sub Menu 12 Option 12 Here
  1383.         }
  1384.         if(scroll == 12)
  1385.         {
  1386.             //Sub Menu 12 Option 13 Here
  1387.         }
  1388.         if(scroll == 13)
  1389.         {
  1390.             //Sub Menu 12 Option 14 Here
  1391.         }
  1392.         if(scroll == 14)
  1393.         {
  1394.             //Sub Menu 12 Option 15 Here
  1395.         }
  1396.     }
  1397.     if(Menu == "Sub Menu 13")
  1398.     {
  1399.         if(scroll == 0)
  1400.         {
  1401.             //Sub Menu 13 Option 1 Here
  1402.         }
  1403.         if(scroll == 1)
  1404.         {
  1405.             //Sub Menu 13 Option 2 Here
  1406.         }
  1407.         if(scroll == 2)
  1408.         {
  1409.             //Sub Menu 13 Option 3 Here
  1410.         }
  1411.         if(scroll == 3)
  1412.         {
  1413.             //Sub Menu 13 Option 4 Here
  1414.         }
  1415.         if(scroll == 4)
  1416.         {
  1417.             //Sub Menu 13 Option 5 Here
  1418.         }
  1419.         if(scroll == 5)
  1420.         {
  1421.             //Sub Menu 13 Option 6 Here
  1422.         }
  1423.         if(scroll == 6)
  1424.         {
  1425.             //Sub Menu 13 Option 7 Here
  1426.         }
  1427.         if(scroll == 7)
  1428.         {
  1429.             //Sub Menu 13 Option 8 Here
  1430.         }
  1431.         if(scroll == 8)
  1432.         {
  1433.             //Sub Menu 13 Option 9 Here
  1434.         }
  1435.         if(scroll == 9)
  1436.         {
  1437.             //Sub Menu 13 Option 10 Here
  1438.         }
  1439.         if(scroll == 10)
  1440.         {
  1441.             //Sub Menu 13 Option 11 Here
  1442.         }
  1443.         if(scroll == 11)
  1444.         {
  1445.             //Sub Menu 13 Option 12 Here
  1446.         }
  1447.         if(scroll == 12)
  1448.         {
  1449.             //Sub Menu 13 Option 13 Here
  1450.         }
  1451.         if(scroll == 13)
  1452.         {
  1453.             //Sub Menu 13 Option 14 Here
  1454.         }
  1455.         if(scroll == 14)
  1456.         {
  1457.             //Sub Menu 13 Option 15 Here
  1458.         }
  1459.     }
  1460.     if(Menu == "Sub Menu 14")
  1461.     {
  1462.         if(scroll == 0)
  1463.         {
  1464.             //Sub Menu 14 Option 1 Here
  1465.         }
  1466.         if(scroll == 1)
  1467.         {
  1468.             //Sub Menu 14 Option 2 Here
  1469.         }
  1470.         if(scroll == 2)
  1471.         {
  1472.             //Sub Menu 14 Option 3 Here
  1473.         }
  1474.         if(scroll == 3)
  1475.         {
  1476.             //Sub Menu 14 Option 4 Here
  1477.         }
  1478.         if(scroll == 4)
  1479.         {
  1480.             //Sub Menu 14 Option 5 Here
  1481.         }
  1482.         if(scroll == 5)
  1483.         {
  1484.             //Sub Menu 14 Option 6 Here
  1485.         }
  1486.         if(scroll == 6)
  1487.         {
  1488.             //Sub Menu 14 Option 7 Here
  1489.         }
  1490.         if(scroll == 7)
  1491.         {
  1492.             //Sub Menu 14 Option 8 Here
  1493.         }
  1494.         if(scroll == 8)
  1495.         {
  1496.             //Sub Menu 14 Option 9 Here
  1497.         }
  1498.         if(scroll == 9)
  1499.         {
  1500.             //Sub Menu 14 Option 10 Here
  1501.         }
  1502.         if(scroll == 10)
  1503.         {
  1504.             //Sub Menu 14 Option 11 Here
  1505.         }
  1506.         if(scroll == 11)
  1507.         {
  1508.             //Sub Menu 14 Option 12 Here
  1509.         }
  1510.         if(scroll == 12)
  1511.         {
  1512.             //Sub Menu 14 Option 13 Here
  1513.         }
  1514.         if(scroll == 13)
  1515.         {
  1516.             //Sub Menu 14 Option 14 Here
  1517.         }
  1518.         if(scroll == 14)
  1519.         {
  1520.             //Sub Menu 14 Option 15 Here
  1521.         }
  1522.     }
  1523.     if(Menu == "Sub Menu 15")
  1524.     {
  1525.         if(scroll == 0)
  1526.         {
  1527.             //Sub Menu 15 Option 1 Here
  1528.         }
  1529.         if(scroll == 1)
  1530.         {
  1531.             //Sub Menu 15 Option 2 Here
  1532.         }
  1533.         if(scroll == 2)
  1534.         {
  1535.             //Sub Menu 15 Option 3 Here
  1536.         }
  1537.         if(scroll == 3)
  1538.         {
  1539.             //Sub Menu 15 Option 4 Here
  1540.         }
  1541.         if(scroll == 4)
  1542.         {
  1543.             //Sub Menu 15 Option 5 Here
  1544.         }
  1545.         if(scroll == 5)
  1546.         {
  1547.             //Sub Menu 15 Option 6 Here
  1548.         }
  1549.         if(scroll == 6)
  1550.         {
  1551.             //Sub Menu 15 Option 7 Here
  1552.         }
  1553.         if(scroll == 7)
  1554.         {
  1555.             //Sub Menu 15 Option 8 Here
  1556.         }
  1557.         if(scroll == 8)
  1558.         {
  1559.             //Sub Menu 15 Option 9 Here
  1560.         }
  1561.         if(scroll == 9)
  1562.         {
  1563.             //Sub Menu 15 Option 10 Here
  1564.         }
  1565.         if(scroll == 10)
  1566.         {
  1567.             //Sub Menu 15 Option 11 Here
  1568.         }
  1569.         if(scroll == 11)
  1570.         {
  1571.             //Sub Menu 15 Option 12 Here
  1572.         }
  1573.         if(scroll == 12)
  1574.         {
  1575.             //Sub Menu 15 Option 13 Here
  1576.         }
  1577.         if(scroll == 13)
  1578.         {
  1579.             //Sub Menu 15 Option 14 Here
  1580.         }
  1581.         if(scroll == 14)
  1582.         {
  1583.             //Sub Menu 15 Option 15 Here
  1584.         }
  1585.     }
  1586. }
  1587. //Menu Selection End
  1588.  
  1589.  
  1590.  
  1591.  
  1592.  
  1593. //Menu Thread
  1594. void MenuBase(std::uint64_t)
  1595. {
  1596.     for(;;)
  1597.     {
  1598.         if(InGame())
  1599.         {
  1600.             if (!MenuLoaded)
  1601.             {
  1602.                 for(int i = 0; i < 18; i++)
  1603.                 {
  1604.                     sleep(1000);
  1605.                     Variables::MaxScroll[i] = 14;
  1606.                     StoreHuds(i);
  1607.                 }
  1608.                 MenuLoaded = true;
  1609.             }
  1610.             else
  1611.             {
  1612.                 for(int i = 0; i < 18; i++)
  1613.                 {
  1614.                     if(MenuLoaded)
  1615.                     {
  1616.                         if(menuOpen[i] == false)
  1617.                         {
  1618.                             if (Buttons::DetectBtn(i, Buttons::Up))
  1619.                             {
  1620.                                 RunMenu(i);
  1621.                                 Variables::Scroll[i] = 0;
  1622.                                 UpdateScroll(i);
  1623.                                 menuOpen[i] = true;
  1624.                             }
  1625.                         }
  1626.                         if(menuOpen[i] == true)
  1627.                         {
  1628.                             if (Buttons::DetectBtn(i, Buttons::Square))
  1629.                             {
  1630.                                 if(Variables::CurMenu[i] != Variables::SubName)
  1631.                                 {
  1632.                                     Return(i);
  1633.                                 }
  1634.                                 else
  1635.                                 {
  1636.                                     menuOpen[i] = false;
  1637.                                     Variables::MenuType[i] --;
  1638.                                     DeleteHuds(i);
  1639.                                 }
  1640.                                 sleep(200);
  1641.                             }
  1642.                             if (Buttons::DetectBtn(i, Buttons::Up))
  1643.                             {
  1644.                                 Variables::Scroll[i] --;
  1645.                                 if(Variables::Scroll[i] < 0)
  1646.                                 {
  1647.                                     Variables::Scroll[i] = Variables::MaxScroll[i];
  1648.                                 }
  1649.                                 UpdateScroll(i);
  1650.                             }
  1651.                             if (Buttons::DetectBtn(i, Buttons::Down))
  1652.                             {
  1653.                                 Variables::Scroll[i] ++;
  1654.                                 if(Variables::Scroll[i] > Variables::MaxScroll[i])
  1655.                                 {
  1656.                                     Variables::Scroll[i] = 0;
  1657.                                 }
  1658.                                 UpdateScroll(i);
  1659.                             }
  1660.                             if (Buttons::DetectBtn(i, Buttons::X))
  1661.                             {
  1662.                                 MenuSelection(i, Variables::CurMenu[i], Variables::Scroll[i]);
  1663.                             }
  1664.                         }
  1665.                     }
  1666.                 }
  1667.             }
  1668.             sleep(150);
  1669.         }
  1670.         else
  1671.         {
  1672.             MenuLoaded = false;
  1673.         }
  1674.     }
  1675. }
  1676. //Menu Thread End
  1677.  
  1678.  
  1679.  
  1680.  
  1681.  
  1682. // An exported function is needed to generate the project's PRX stub export library
  1683. extern "C" int _StankysMw3Base_export_function(void)
  1684. {
  1685.     return CELL_OK;
  1686. }
  1687.  
  1688. extern "C" int _StankysMw3Base_prx_entry(void)
  1689. {
  1690.     create_thread(MenuBase, 0x4AA, 0x7000, "Mw3 Menu Base", Mw3Base);
  1691.     return SYS_PRX_RESIDENT;
  1692. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement