Advertisement
Aquafiber23

Project Ghost Source [v0.3] By - Zynx Aquaz

Aug 3rd, 2015
193
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 26.70 KB | None | 0 0
  1. //Ghost Source Code v0.3 [Latest Public Release] Release date = 7/29/15
  2. //By: Zynx Aquaz
  3. #include maps/mp/_utility;
  4. #include common_scripts/utility;
  5. #include maps/mp/gametypes/_hud_util;
  6. #include maps/mp/_utility;
  7.  
  8.  
  9. //Thanks for the Menu Base ZeiKeN and  FanatiK <3
  10. //Welcome to Main Menu Created By: Zynx Aquaz <3  
  11.  
  12. init( )
  13. {
  14. //All Cache's
  15.     //Ghost Calling Card
  16.         precacheShader("emblem_bg_ghost");
  17.     //Ghost Camoflague
  18.         precacheShader("menu_camo_mtx_ghost_32");
  19. //Cache's Done
  20.     level.clientid = 0;
  21.     level thread onplayerconnect( );
  22. }
  23. onplayerconnect( )
  24. {
  25.     for(;;)
  26.     {
  27.         level waittill( "connecting", player );
  28.         player thread onplayerspawned( );
  29.         player.clientid = level.clientid;
  30.         level.clientid++;
  31.         player.Verified = false;
  32.         player.VIP = false;
  33.         player.Admin = false;
  34.         player.CoHost = false;
  35.         player.MyAccess = "";
  36.     }
  37. }
  38. onplayerspawned( )
  39. {
  40.     self endon( "disconnect" );
  41.     level endon( "game_ended" );
  42.     for(;;)
  43.     {
  44.         self waittill( "spawned_player" );
  45.         if(self isHost())
  46.         {
  47.             self freezecontrols(false);
  48.             self.Verified = true;
  49.             self.VIP = true;
  50.             self.Admin = true;
  51.             self.CoHost = true;
  52.             self.MyAccess = "^1Host";
  53.             self thread BuildMenu();
  54.         }
  55.         else if ( self.CoHost == true)
  56.         {
  57.             self.Verified = true;
  58.             self.VIP = true;
  59.             self.Admin = true;
  60.             self.CoHost = true;
  61.             self.MyAccess = "^5Co-Host";
  62.             self freezecontrols(false);
  63.             self thread BuildMenu();
  64.         }
  65.         else if ( self.Admin == true)
  66.         {
  67.             self.Verified = true;
  68.             self.VIP = true;
  69.             self.Admin = true;
  70.             self.MyAccess = "^1Admin";
  71.             self freezecontrols(false);
  72.             self thread BuildMenu();
  73.         }
  74.         else if ( self.VIP == true)
  75.         {
  76.             self.Verified = true;
  77.             self.VIP = true;
  78.             self.MyAccess = "^3VIP";
  79.             self freezecontrols(false);
  80.             self thread BuildMenu();
  81.         }
  82.         else if ( self.Verified == true)
  83.         {
  84.             self.Verified = true;
  85.             self.MyAccess = "^1Verified";
  86.             self freezecontrols(false);
  87.             self thread BuildMenu();
  88.         }
  89.         else if ( self.Verified == false)
  90.         {
  91.             self.MyAccess = "";
  92.         }
  93.     }
  94. }
  95.  
  96. //Functions.MainMods.txt
  97. //Main Mods Functions
  98. //--------------------
  99. //Godmode
  100. Toggle_God()
  101. {
  102.     if(self.God==false)
  103.     {
  104.         self iPrintln("GodMod [^2ON^7]");
  105.         self.maxhealth=999999999;
  106.         self.health=self.maxhealth;
  107.         if(self.health<self.maxhealth)self.health=self.maxhealth;
  108.         self enableInvulnerability();
  109.         self.God=true;
  110.     }
  111.     else
  112.     {
  113.         self iPrintln("GodMod [^1OFF^7]");
  114.         self.maxhealth=100;
  115.         self.health=self.maxhealth;
  116.         self disableInvulnerability();
  117.         self.God=false;
  118.     }
  119. }
  120. //--------------------------------------------------------------------
  121. //Unlimited Ammo
  122. unlimitedAmmo() //Edited By:Zynx Aquaz
  123. {
  124.     self endon("disconnect");
  125.     self endon("death");
  126.  
  127.     for(;;)
  128.     {
  129.         wait 0.1;
  130.  
  131.         currentWeapon = self getcurrentweapon();
  132.         if (currentWeapon != "none")
  133.         {
  134.             self setweaponammoclip(currentWeapon, weaponclipsize(currentWeapon));
  135.             self givemaxammo(currentWeapon);
  136.             self iprintln ("Primary Ammo Maxed");
  137.         }
  138.  
  139.         currentoffhand = self getcurrentoffhand();
  140.         if (currentoffhand != "none")
  141.             self givemaxammo(currentoffhand);
  142.             self iprintln ("Secondary Ammo Maxed");
  143.     }
  144. }
  145. //DoHeart
  146. doHeart()
  147. {
  148.     if(!isDefined(level.SA))
  149.     {
  150.         level.SA=level createServerFontString("hudbig",2.1);
  151.         level.SA.alignX="right";
  152.         level.SA.horzAlign="right";
  153.         level.SA.vertAlign="middle";
  154.         level.SA.x = 30;
  155.         level.SA setText("^3Welcome to a ^6Project ^7Ghost ^6Lobby <3 By: ^5Zynx Aquaz");
  156.         level.SA.archived=false;
  157.         level.SA.hideWhenInMenu=true;
  158.         for(;;)
  159.         {
  160.             level.SA.glowAlpha=1;
  161.             level.SA.glowColor =((randomint(255)/255),(randomint(255)/255),(randomint(255)/255));
  162.             level.SA SetPulseFX(40,2000,600);
  163.             wait 1;
  164.         }
  165.     }
  166.     if(level.doheart==0)
  167.     {
  168.         self iPrintln("Do Heart: On");
  169.         level.doheart=1;
  170.         level.SA.alpha=1;
  171.     }
  172.     else if(level.doheart==1)
  173.     {
  174.         self iPrintln("Do Heart: Off");
  175.         level.SA.alpha=0;
  176.         level.doheart=0;
  177.     }
  178. }
  179. //Teleport!
  180. doTeleport() //Edited By:Zynx Aquaz
  181. {
  182.     self beginLocationSelection( "map_mortar_selector" );
  183.     self.selectingLocation = 1;
  184.     self waittill( "confirm_location", location );
  185.     newLocation = BulletTrace( location+( 0, 0, 100000 ), location, 0, self )[ "position" ];
  186.     self SetOrigin( newLocation );
  187.     self endLocationSelection();
  188.     self.selectingLocation = undefined;
  189.     self iPrintLn("Commencing Warp!");
  190. }
  191.  
  192. //Change Class In Game
  193. ChangeClass()
  194. {
  195.     self endon("disconnect");
  196.     self endon("death");
  197.    
  198.     self maps/mp/gametypes/_globallogic_ui::beginclasschoice();
  199.     for(;;)
  200.     {
  201.         if(self.pers[ "changed_class" ])
  202.             self maps/mp/gametypes/_class::giveloadout( self.team, self.class );
  203.         wait 0.05;
  204.     }
  205. }
  206. //Toggle 2x Speed
  207. SpeedRunner() // Edited By:Zynx Aquaz
  208. {
  209.     if(self.Speed==false)
  210. {
  211.     self iPrintln ("^5Sanic ^3Speed");
  212.     self setmovespeedscale(2);
  213.     self.Speed=true;
  214. }
  215. else
  216. {
  217.     self iPrintln ("^5Sanic ^3Speed ^1OFF");
  218.     self setmovespeedscale(1);
  219.     self.Speed=false;
  220.   }
  221. }
  222. //Update Logs
  223. //...............:,......?,...............            _¦¦¦¦  ¦¦¦ ¦¦  ¦¦¦¦¦¦    ¦¦¦¦¦¦ ___¦¦¦¦¦¦
  224. //............?7?7I=....77,7+,~...........           ¦¦¦ ¯¦¦¦¦¦¦ ¦¦¦¦¦¦¦  ¦¦¦¦¦¦    ¦ ¦  ¦¦¦ ¦¦
  225. //.........???I7I77+...I7777I7II..........          ¦¦¦¦___¦¦¦¦¯¯¦¦¦¦¦¦¦  ¦¦¦¦ ¦¦¦_   ¦ ¦¦¦¦ ¦¦
  226. //.........II7777777+.:7=777777I:.........          ¦¦¦  ¦¦¦¦¦¦ ¦¦¦ ¦¦¦   ¦¦¦  ¦   ¦¦¦¦ ¦¦¦¦ ¦
  227. //.......I?I77777 77I.:7777777II.?........          ¦¦¦¦¦¦¯¦¦¦¦¦¦¦¦¦¦ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦  ¦¦¦¦ ¦
  228. //........,.,77777777.: 7II7777??I........          ¦¦   ¦  ¦ ¦¦¦¦¦¦ ¦¦¦¦¦¦ ¦ ¦¦¦ ¦ ¦  ¦ ¦¦
  229. //........7I777777777.. I=I7I777I?........           ¦   ¦  ¦ ¦¦¦ ¦  ¦ ¦ ¦¦ ¦ ¦¦  ¦ ¦    ¦
  230. //.......+:?.=...??7?..7~I...,?..7........          ¦ ¦   ¦  ¦  ¦¦ ¦¦ ¦ ¦ ¦  ¦  ¦  ¦    ¦       
  231. //............... ?+...I=.................                    ¦  ¦  ¦  ¦    ¦ ¦        ¦  
  232. //................?I...?..................
  233. //.......7........7I~..,7.................                              By: Zynx Aquaz
  234. //......I7?I....~7777.=777,....=.77.......                
  235. //......I7?I777777 ?....I777 7?I7I?.......             
  236. //.....I77I77 7777+......77777777II+......            
  237. //.....+77~?777777?.=.:.:77I777I++.......            
  238. //.........+I7777777I.777777777?..........            
  239. //.........I?I7 7777I.I777777?............            
  240. //...........I7777777.7777?777............           
  241. //...........,7777.?+.+=.77+7.............           
  242. //............. 7I....,..7,...............             
  243. //...............?.......?................                  
  244. //.......................?................
  245. //........................................
  246.  
  247. //Version 0.3
  248. //Added Functions.MainMods.gsc
  249. //Fixed ID's On Menu Items
  250. //Added "Main Mods" Menu
  251. //Added "Godmode" Option
  252. //Added "Unlimited Ammo" Option
  253. //Added "Teleport" Option
  254. //Added "doHeart" Option
  255. //Added "2x Speed" Option
  256. //Added "Class Changer" Option
  257. //Finished Main Mods Menu
  258. //---------------------------------------------------------------------------------
  259. //Version 0.2   (Status = Complete)
  260. //Added Section to Place Cache's
  261. //Cache'd Cod Ghost Calling Card
  262. //Cache'd Cod Ghost Camoflague
  263. //Made Menu BG Ghost Camo
  264. //Made Menu Top Ghosts Calling Card
  265. //Edited Menu Names
  266. //Fixed Frezzing on Load Bug
  267. //---------------------------------------------------------------------------------
  268. //Version 0.1   (Status = Complete)
  269. //Started Menu Using ZeiKeN Base <3
  270. //Changed Entering Game Text
  271. //Added Update Logs.gsc
  272. //Added main.gsc
  273. //Added credits.gsc
  274. //Officially Named Menu Ghost
  275.  
  276. //Credits
  277. //Giving Credit Were Credit is Due
  278. //---------------------------------
  279. //Menu Base Credits <3
  280. //ZeiiKeN - Main Dev of the Menu Base
  281. //FanatiK - Secondary Dev of Menu Base
  282. //------------------------------------------------------------------------------------
  283. //Coders Of Project Ghost <3
  284. //Zynx Aquaz - Main Dev of Menu Coding
  285. //------------------------------------------------------------------------------------
  286. //Function Credits <3
  287. //ZeiiKeN
  288. //ItsLollo1000
  289. //------------------------------------------------------------------------------------
  290. //Menu Styling Credits <3
  291. //SyGnUs - Shader Codes
  292. //------------------------------------------------------------------------------------
  293.  
  294. // Aimbot GSC
  295. //Aimbot Mneu Functions Section
  296. //NoScope Aimbot
  297. doAimbots()
  298. {
  299.     if(self.aim==0)
  300.     {
  301.         self thread Aimbot();
  302.         self.aim=1;
  303.         self iPrintln("Aimbot [^2Enabled^7]");
  304.     }
  305.     else
  306.     {
  307.         self notify("EndAutoAim");
  308.         self.aim=0;
  309.         self iPrintln("Aimbot [^1Disabled^7]");
  310.     }
  311. }
  312. aimBot()
  313. {
  314.     self endon( "disconnect" );
  315.     self endon( "death" );
  316.     self endon( "EndAutoAim" );
  317.  
  318.     for(;;)
  319.     {
  320.         aimAt = undefined;
  321.         foreach(player in level.players)
  322.         {
  323.             if((player == self) || (!isAlive(player)) || (level.teamBased && self.pers["team"] == player.pers["team"]))
  324.                 continue;
  325.             if(isDefined(aimAt))
  326.             {
  327.                 if(closer(self getTagOrigin("j_head"), player getTagOrigin("j_head"), aimAt getTagOrigin("j_head")))
  328.                     aimAt = player;
  329.             }
  330.             else aimAt = player;
  331.         }
  332.         if(isDefined(aimAt))
  333.         {
  334.             if(self attackbuttonpressed())
  335.             {
  336.                 self setplayerangles(VectorToAngles((aimAt getTagOrigin("j_head")) - (self getTagOrigin("j_head"))));
  337.                 if(self attackbuttonpressed())
  338.                     aimAt thread [[level.callbackPlayerDamage]]( self, self, 100, 0, "MOD_HEAD_SHOT", self getCurrentWeapon(), (0,0,0), (0,0,0), "head", 0, 0 );
  339.             }
  340.         }
  341.         wait 0.01;
  342.     }
  343. }
  344. wFired()
  345. {
  346.     self endon("disconnect");
  347.     self endon("death");
  348.     self endon("EndAutoAim");
  349.     for(;;)
  350.     {
  351.         self waittill("weapon_fired");
  352.         self.fire=1;
  353.         wait 0.04;
  354.         self.fire=0;
  355.     }
  356. }
  357. //Legit Aimbot v1
  358. //This checks if the player is within your crosshair size
  359. isRealistic(nerd) {
  360.     self.angles = self getPlayerAngles();
  361.     need2Face = VectorToAngles( nerd getTagOrigin("j_mainroot") - self getTagOrigin("j_mainroot") );
  362.     aimDistance = length( need2Face - self.angles );
  363.     if(aimDistance < 25)
  364.         return true;
  365.     else
  366.         return false;
  367. }
  368.  
  369.  
  370. //The aimbot
  371. doDaAim() {
  372. self endon("disconnect");
  373.  self endon("death");
  374.  self endon("EndAutoAim");
  375.   for(;;)
  376.   {
  377.    self waittill( "weapon_fired");
  378.    abc=0;  
  379.    foreach(player in level.players) {
  380.     if(isRealistic(player))
  381.      {
  382.        if(self.pers["team"] != player.pers["team"]) {
  383.         if(isSubStr(self getCurrentWeapon(), "svu_") || isSubStr(self getCurrentWeapon(), "dsr50_") || isSubStr(self getCurrentWeapon(), "ballista_") || isSubStr(self getCurrentWeapon(), "xpr_"))
  384.         {
  385.         x = randomint(10);
  386.         if(x==1) {
  387.          player thread [[level.callbackPlayerDamage]](self, self, 500, 8, "MOD_HEAD_SHOT", self getCurrentWeapon(), (0,0,0), (0,0,0), "j_head", 0, 0 );
  388.           } else {
  389.         player thread [[level.callbackPlayerDamage]](self, self, 500, 8, "MOD_RIFLE_BULLET", self getCurrentWeapon(), (0,0,0), (0,0,0), "j_mainroot", 0, 0 );
  390.           }
  391.         }
  392.       }
  393.     }
  394.     if(isAlive(player) && player.pers["team"] == "axis") {
  395.         abc++;
  396.            }
  397.     }
  398.           if(abc==0) {
  399.       self notify("last_killed");
  400.     }
  401.    }
  402. }
  403. //Unfair Aimbot
  404. UnfairAimBot()
  405.     {
  406.             self endon( "disconnect" );
  407.             self endon( "death" );
  408.             self endon( "aimBotoff" );
  409.          
  410.             for(;;)
  411.             {
  412.                     aimAt = undefined;
  413.                     foreach(player in level.players)
  414.                     {
  415.                             if((player == self) || (!isAlive(player)) || (level.teamBased && self.pers["team"] == player.pers["team"]))
  416.                                     continue;
  417.                             if(isDefined(aimAt))
  418.                             {
  419.                                     if(closer(self getTagOrigin("j_head"), player getTagOrigin("j_head"), aimAt getTagOrigin("j_head")))
  420.                                             aimAt = player;
  421.                             }
  422.                             else aimAt = player;
  423.                     }
  424.                     if(isDefined(aimAt))
  425.                     {
  426.                             if(self adsbuttonpressed())
  427.                             {
  428.                                     self setplayerangles(VectorToAngles((aimAt getTagOrigin("j_head")) - (self getTagOrigin("j_head"))));
  429.                                     if(self attackbuttonpressed())
  430.                                             aimAt thread [[level.callbackPlayerDamage]]( self, self, 100, 0, "MOD_HEAD_SHOT", self getCurrentWeapon(), (0,0,0), (0,0,0), "head", 0, 0 );
  431.                             }
  432.                     }
  433.                     wait 0.01;
  434.             }
  435.     }
  436.  
  437.  
  438.  
  439.  
  440. BuildMenu()
  441. {
  442.     self endon("disconnect");
  443.     self endon("death");
  444.     self.MenuOpen = false;
  445.     self.Menu = spawnstruct();
  446.     self InitialisingMenu();
  447.     self MenuStructure();
  448.     self thread MenuDeath();
  449.     while (1)
  450.     {
  451.         if(self SecondaryOffhandButtonPressed() && self.MenuOpen == false)
  452.         {
  453.             self MenuOpening();
  454.             self LoadMenu("Main Menu");
  455.         }
  456.         else if (self MeleeButtonPressed() && self.MenuOpen == true)
  457.         {
  458.             self MenuClosing();
  459.             wait 1;
  460.         }
  461.         else if(self StanceButtonPressed() && self.MenuOpen == true)
  462.         {
  463.             if(isDefined(self.Menu.System["MenuPrevious"][self.Menu.System["MenuRoot"]]))
  464.             {
  465.                 self.Menu.System["MenuCurser"] = 0;
  466.                 self SubMenu(self.Menu.System["MenuPrevious"][self.Menu.System["MenuRoot"]]);
  467.                 wait 0.5;
  468.             }
  469.         }
  470.         else if (self AdsButtonPressed() && self.MenuOpen == true)
  471.         {
  472.             self.Menu.System["MenuCurser"] -= 1;
  473.             if (self.Menu.System["MenuCurser"] < 0)
  474.             {
  475.                 self.Menu.System["MenuCurser"] = self.Menu.System["MenuTexte"][self.Menu.System["MenuRoot"]].size - 1;
  476.             }
  477.             self.Menu.Material["Scrollbar"] elemMoveY(.2, 60 + (self.Menu.System["MenuCurser"] * 15.6));
  478.             wait.2;
  479.         }
  480.         else if (self AttackButtonpressed() && self.MenuOpen == true)
  481.         {
  482.             self.Menu.System["MenuCurser"] += 1;
  483.             if (self.Menu.System["MenuCurser"] >= self.Menu.System["MenuTexte"][self.Menu.System["MenuRoot"]].size)
  484.             {
  485.                 self.Menu.System["MenuCurser"] = 0;
  486.             }
  487.             self.Menu.Material["Scrollbar"] elemMoveY(.2, 60 + (self.Menu.System["MenuCurser"] * 15.6));
  488.             wait.2;
  489.         }
  490.         else if(self UseButtonPressed() && self.MenuOpen == true)
  491.         {
  492.                 wait 0.2;
  493.                 if(self.Menu.System["MenuRoot"]=="Clients Menu") self.Menu.System["ClientIndex"]=self.Menu.System["MenuCurser"];
  494.                 self thread [[self.Menu.System["MenuFunction"][self.Menu.System["MenuRoot"]][self.Menu.System["MenuCurser"]]]](self.Menu.System["MenuInput"][self.Menu.System["MenuRoot"]][self.Menu.System["MenuCurser"]]);
  495.                 wait 0.5;
  496.         }
  497.         wait 0.05;
  498.     }
  499. }  
  500.  
  501. MenuStructure()
  502. {
  503.     if (self.Verified == true)
  504.     {
  505.     self MainMenu("Main Menu", undefined);
  506.     self MenuOption("Main Menu", 0, "Main Mods", ::SubMenu, "Main Mods");
  507.     self MenuOption("Main Menu", 1, "Sub Menu 2", ::SubMenu, "Sub Menu 2");
  508.     self MenuOption("Main Menu", 2, "Sub Menu 3", ::SubMenu, "Sub Menu 3");
  509.     self MenuOption("Main Menu", 3, "Sub Menu 4", ::SubMenu, "Sub Menu 4");
  510.     }
  511.     if (self.VIP == true)
  512.     {
  513.     self MenuOption("Main Menu", 4, "Sub Menu 5 (VIP)", ::SubMenu, "Sub Menu 5 (VIP)");
  514.     }
  515.     if (self.Admin == true)
  516.     {
  517.     self MenuOption("Main Menu", 5, "Sub Menu 6 (Admin)", ::SubMenu, "Sub Menu 6 (Admin)");
  518.     }
  519.     if (self.CoHost == true)
  520.     {
  521.     self MenuOption("Main Menu", 6, "Sub Menu 7 (Host)", ::SubMenu, "Sub Menu 7 (Host)");
  522.     self MenuOption("Main Menu", 7, "Clients Menu", ::SubMenu, "Clients Menu");
  523.     self MenuOption("Main Menu", 8, "All Clients", ::SubMenu, "All Clients");
  524.     }
  525.    
  526.     self MainMenu("Main Mods", "Main Menu");
  527.     self MenuOption("Main Mods", 0, "Godmode", ::Toggle_God);
  528.     self MenuOption("Main Mods", 1, "Unlimited Ammo", ::unlimitedAmmo);
  529.     self MenuOption("Main Mods", 2, "Teleport!", ::doTeleport);
  530.     self MenuOption("Main Mods", 3, "Change Class", ::ChangeClass);
  531.     self MenuOption("Main Mods", 4, "2x Speed", ::SpeedRunner);
  532.     self MenuOption("Main Mods", 5, "DoHeart", ::doHeart);
  533.    
  534.     self MainMenu("Sub Menu 2", "Main Menu");
  535.     self MenuOption("Sub Menu 2", 0, "Fonctions Here", ::Test);
  536.     self MenuOption("Sub Menu 2", 1, "Fonctions Here", ::Test);
  537.     self MenuOption("Sub Menu 2", 2, "Fonctions Here", ::Test);
  538.     self MenuOption("Sub Menu 2", 3, "Fonctions Here", ::Test);
  539.     self MenuOption("Sub Menu 2", 4, "Fonctions Here", ::Test);
  540.     self MenuOption("Sub Menu 2", 5, "Fonctions Here", ::Test);
  541.    
  542.     self MainMenu("Sub Menu 3", "Main Menu");
  543.     self MenuOption("Sub Menu 3", 0, "Fonctions Here", ::Test);
  544.     self MenuOption("Sub Menu 3", 1, "Fonctions Here", ::Test);
  545.     self MenuOption("Sub Menu 3", 2, "Fonctions Here", ::Test);
  546.     self MenuOption("Sub Menu 3", 3, "Fonctions Here", ::Test);
  547.     self MenuOption("Sub Menu 3", 4, "Fonctions Here", ::Test);
  548.     self MenuOption("Sub Menu 3", 5, "Fonctions Here", ::Test);
  549.    
  550.     self MainMenu("Sub Menu 4", "Main Menu");
  551.     self MenuOption("Sub Menu 4", 0, "Fonctions Here", ::Test);
  552.     self MenuOption("Sub Menu 4", 1, "Fonctions Here", ::Test);
  553.     self MenuOption("Sub Menu 4", 2, "Fonctions Here", ::Test);
  554.     self MenuOption("Sub Menu 4", 3, "Fonctions Here", ::Test);
  555.     self MenuOption("Sub Menu 4", 4, "Fonctions Here", ::Test);
  556.     self MenuOption("Sub Menu 4", 5, "Fonctions Here", ::Test);
  557.    
  558.     self MainMenu("Sub Menu 5 (VIP)", "Main Menu");
  559.     self MenuOption("Sub Menu 5 (VIP)", 0, "Fonctions Here", ::Test);
  560.     self MenuOption("Sub Menu 5 (VIP)", 1, "Fonctions Here", ::Test);
  561.     self MenuOption("Sub Menu 5 (VIP)", 2, "Fonctions Here", ::Test);
  562.     self MenuOption("Sub Menu 5 (VIP)", 3, "Fonctions Here", ::Test);
  563.     self MenuOption("Sub Menu 5 (VIP)", 4, "Fonctions Here", ::Test);
  564.     self MenuOption("Sub Menu 5 (VIP)", 5, "Fonctions Here", ::Test);
  565.    
  566.     self MainMenu("Sub Menu 6 (Admin)", "Main Menu");
  567.     self MenuOption("Sub Menu 6 (Admin)", 0, "Fonctions Here", ::Test);
  568.     self MenuOption("Sub Menu 6 (Admin)", 1, "Fonctions Here", ::Test);
  569.     self MenuOption("Sub Menu 6 (Admin)", 2, "Fonctions Here", ::Test);
  570.     self MenuOption("Sub Menu 6 (Admin)", 3, "Fonctions Here", ::Test);
  571.     self MenuOption("Sub Menu 6 (Admin)", 4, "Fonctions Here", ::Test);
  572.     self MenuOption("Sub Menu 6 (Admin)", 5, "Fonctions Here", ::Test);
  573.    
  574.     self MainMenu("Sub Menu 7 (Host)", "Main Menu");
  575.     self MenuOption("Sub Menu 7 (Host)", 0, "Fonctions Here", ::Test);
  576.     self MenuOption("Sub Menu 7 (Host)", 1, "Fonctions Here", ::Test);
  577.     self MenuOption("Sub Menu 7 (Host)", 2, "Fonctions Here", ::Test);
  578.     self MenuOption("Sub Menu 7 (Host)", 3, "Fonctions Here", ::Test);
  579.     self MenuOption("Sub Menu 7 (Host)", 4, "Fonctions Here", ::Test);
  580.     self MenuOption("Sub Menu 7 (Host)", 5, "Fonctions Here", ::Test);
  581.    
  582.     self MainMenu("Clients Menu", "Main Menu");
  583.     for (p = 0; p < level.players.size; p++) {
  584.         player = level.players[p];
  585.         self MenuOption("Clients Menu", p, "[" + player.MyAccess + "^7] " + player.name + "", ::SubMenu, "Client Function");
  586.     }
  587.     self thread MonitorPlayers();
  588.    
  589.     self MainMenu("Client Function", "Clients Menu");
  590.     self MenuOption("Client Function", 0, "Verify Player", ::Verify);
  591.     self MenuOption("Client Function", 1, "VIP Player", ::doVIP);
  592.     self MenuOption("Client Function", 2, "Admin Player", ::doAdmin);
  593.     self MenuOption("Client Function", 3, "Co-Host Player", ::doCoHost);
  594.     self MenuOption("Client Function", 4, "Unverified Player", ::doUnverif);
  595.     self MenuOption("Client Function", 5, "Fonctions Here", ::Test);
  596.    
  597.     self MainMenu("All Clients", "Main Menu");
  598.     self MenuOption("All Clients", 0, "Kill All Players", ::AllPlayersKilled);
  599.     self MenuOption("All Clients", 1, "Function Here", ::Test);
  600.     self MenuOption("All Clients", 2, "Function Here", ::Test);
  601.     self MenuOption("All Clients", 3, "Function Here", ::Test);
  602.     self MenuOption("All Clients", 4, "Function Here", ::Test);
  603. }
  604. MonitorPlayers()
  605. {
  606.     self endon("disconnect");
  607.     for(;;)
  608.     {
  609.         for(p = 0;p < level.players.size;p++)
  610.         {
  611.             player = level.players[p];
  612.             self.Menu.System["MenuTexte"]["Clients Menu"][p] = "[" + player.MyAccess + "^7] " + player.name;
  613.             self.Menu.System["MenuFunction"]["Clients Menu"][p] = ::SubMenu;
  614.             self.Menu.System["MenuInput"]["Clients Menu"][p] = "Client Function";
  615.             wait .01;
  616.         }
  617.         wait .5;
  618.     }
  619. }
  620. MainMenu(Menu, Return)
  621. {
  622.     self.Menu.System["GetMenu"] = Menu;
  623.     self.Menu.System["MenuCount"] = 0;
  624.     self.Menu.System["MenuPrevious"][Menu] = Return;
  625. }
  626. MenuOption(Menu, Index, Texte, Function, Input)
  627. {
  628.     self.Menu.System["MenuTexte"][Menu][Index] = Texte;
  629.     self.Menu.System["MenuFunction"][Menu][Index] = Function;
  630.     self.Menu.System["MenuInput"][Menu][Index] = Input;
  631. }
  632. SubMenu(input)
  633. {
  634.     self.Menu.System["MenuCurser"] = 0;
  635.     self.Menu.System["Texte"] fadeovertime(0.05);
  636.     self.Menu.System["Texte"].alpha = 0;
  637.     self.Menu.System["Texte"] destroy();
  638.     self.Menu.System["Title"] destroy();
  639.     self thread LoadMenu(input);
  640.     if(self.Menu.System["MenuRoot"]=="Client Function")
  641.     {
  642.     self.Menu.System["Title"] destroy();
  643.     player = level.players[self.Menu.System["ClientIndex"]];
  644.     self.Menu.System["Title"] = self createFontString("default", 2.0);
  645.     self.Menu.System["Title"] setPoint("LEFT", "TOP", 125, 30);
  646.     self.Menu.System["Title"] setText("[" + player.MyAccess + "^7] " + player.name);
  647.     self.Menu.System["Title"].sort = 3;
  648.     self.Menu.System["Title"].alpha = 1;
  649.     }
  650. }
  651. LoadMenu(menu)
  652. {
  653.     self.Menu.System["MenuCurser"] = 0;
  654.     self.Menu.System["MenuRoot"] = menu;
  655.     self.Menu.System["Title"] = self createFontString("default", 2.0);
  656.     self.Menu.System["Title"] setPoint("LEFT", "TOP", 125, 30);
  657.     self.Menu.System["Title"] setText(menu);
  658.     self.Menu.System["Title"].sort = 3;
  659.     self.Menu.System["Title"].alpha = 1;
  660.     string = "";
  661.     for(i=0;i<self.Menu.System["MenuTexte"][Menu].size;i++) string += self.Menu.System["MenuTexte"][Menu][i] + "\n";
  662.     self.Menu.System["Texte"] = self createFontString("default", 1.3);
  663.     self.Menu.System["Texte"] setPoint("LEFT", "TOP", 125, 60);
  664.     self.Menu.System["Texte"] setText(string);
  665.     self.Menu.System["Texte"].sort = 3;
  666.     self.Menu.System["Texte"].alpha = 1;
  667.     self.Menu.Material["Scrollbar"] elemMoveY(.2, 60 + (self.Menu.System["MenuCurser"] * 15.6));
  668. }
  669. SetMaterial(align, relative, x, y, width, height, colour, shader, sort, alpha)
  670. {
  671.     hud = newClientHudElem(self);
  672.     hud.elemtype = "icon";
  673.     hud.color = colour;
  674.     hud.alpha = alpha;
  675.     hud.sort = sort;
  676.     hud.children = [];
  677.     hud setParent(level.uiParent);
  678.     hud setShader(shader, width, height);
  679.     hud setPoint(align, relative, x, y);
  680.     return hud;
  681. }
  682. MenuDeath()
  683. {
  684.     self waittill("death");
  685.     self.Menu.Material["Background"] destroy();
  686.     self.Menu.Material["Scrollbar"] destroy();
  687.     self.Menu.Material["BorderMiddle"] destroy();
  688.     self.Menu.Material["BorderLeft"] destroy();
  689.     self.Menu.Material["BorderRight"] destroy();
  690.     self MenuClosing();
  691. }
  692. //Menu Shader Customization
  693. InitialisingMenu()
  694. {
  695.     self.Menu.Material["Background"] = self SetMaterial("LEFT", "TOP", 120, 0, 240, 1000, (1,1,1), "menu_camo_mtx_ghost_32", 0, 0);
  696.     self.Menu.Material["Scrollbar"] = self SetMaterial("LEFT", "TOP", 120, 60, 240, 15, (1,1,1), "white", 1, 0);
  697.     self.Menu.Material["BorderMiddle"] = self SetMaterial("LEFT", "TOP", 120, 50, 240, 1, (0,0,0), "emblem_bg_ghost", 1, 0);
  698.     self.Menu.Material["BorderLeft"] = self SetMaterial("LEFT", "TOP", 119, 0, 1, 1000, (0,0,0), "white", 1, 0);
  699.     self.Menu.Material["BorderRight"] = self SetMaterial("LEFT", "TOP", 360, 0, 1, 1000, (0,0,0), "white", 1, 0);
  700. }
  701.  
  702. MenuOpening()
  703. {
  704.     self freezecontrols(true);
  705.     self setclientuivisibilityflag( "hud_visible", 0 );
  706.     self enableInvulnerability();
  707.     self.MenuOpen = true;
  708.     self.Menu.Material["Background"] elemFade(.5, 0.76);
  709.     self.Menu.Material["Scrollbar"] elemFade(.5, 0.6);
  710.     self.Menu.Material["BorderMiddle"] elemFade(.5, 0.6);
  711.     self.Menu.Material["BorderLeft"] elemFade(.5, 0.6);
  712.     self.Menu.Material["BorderRight"] elemFade(.5, 0.6);
  713. }
  714.  
  715. MenuClosing()
  716. {    
  717.     self setclientuivisibilityflag( "hud_visible", 1 );
  718.     self.Menu.Material["Background"] elemFade(.5, 0);
  719.     self.Menu.Material["Scrollbar"] elemFade(.5, 0);
  720.     self.Menu.Material["BorderMiddle"] elemFade(.5, 0);
  721.     self.Menu.Material["BorderLeft"] elemFade(.5, 0);
  722.     self.Menu.Material["BorderRight"] elemFade(.5, 0);
  723.     self freezecontrols(false);
  724.     self disableInvulnerability();
  725.     self.Menu.System["Title"] destroy();
  726.     self.Menu.System["Texte"] destroy();
  727.     wait 0.05;
  728.     self.MenuOpen = false;
  729. }  
  730.  
  731. elemMoveY(time, input)
  732. {
  733.     self moveOverTime(time);
  734.     self.y = input;
  735. }
  736.  
  737. elemMoveX(time, input)
  738. {
  739.     self moveOverTime(time);
  740.     self.x = input;
  741. }
  742.  
  743. elemFade(time, alpha)
  744. {
  745.     self fadeOverTime(time);
  746.     self.alpha = alpha;
  747. }
  748.  
  749. doUnverif()
  750. {
  751.     player = level.players[self.Menu.System["ClientIndex"]];
  752.     if(player isHost())
  753.     {
  754.         self iPrintln("You can't Un-Verify the Host!");
  755.     }
  756.     else
  757.     {
  758.         player.Verified = false;
  759.         player.VIP = false;
  760.         player.Admin = false;
  761.         player.CoHost = false;
  762.         player suicide();
  763.         self iPrintln( player.name + " is ^1Unverfied" );
  764.     }
  765. }
  766.  
  767. UnverifMe()
  768. {
  769.     self.Verified = false;
  770.     self.VIP = false;
  771.     self.Admin = false;
  772.     self.CoHost = false;
  773.     self suicide();
  774. }
  775.  
  776. Verify()
  777. {
  778.     player = level.players[self.Menu.System["ClientIndex"]];
  779.     if(player isHost())
  780.     {
  781.         self iPrintln("You can't Verify the Host!");
  782.     }
  783.     else
  784.     {
  785.         player UnverifMe();
  786.         player.Verified = true;
  787.         player.VIP = false;
  788.         player.Admin = false;
  789.         player.CoHost = false;
  790.         self iPrintln( player.name + " is ^1Verified" );
  791.     }
  792. }
  793. doVIP()
  794. {
  795.     player = level.players[self.Menu.System["ClientIndex"]];
  796.     if(player isHost())
  797.     {
  798.         self iPrintln("You can't Verify the Host!");
  799.     }
  800.     else
  801.     {
  802.         player UnverifMe();
  803.         player.Verified = true;
  804.         player.VIP = true;
  805.         player.Admin = false;
  806.         player.CoHost = false;
  807.         self iPrintln( player.name + " is ^3VIP" );
  808.     }
  809. }
  810. doAdmin()
  811. {
  812.     player = level.players[self.Menu.System["ClientIndex"]];
  813.     if(player isHost())
  814.     {
  815.         self iPrintln("You can't Verify the Host!");
  816.     }
  817.     else
  818.     {
  819.         player UnverifMe();
  820.         player.Verified = true;
  821.         player.VIP = true;
  822.         player.Admin = true;
  823.         player.CoHost = false;
  824.         self iPrintln( player.name + " is ^1Admin" );
  825.     }
  826. }
  827. doCoHost()
  828. {
  829.     player = level.players[self.Menu.System["ClientIndex"]];
  830.     if(player isHost())
  831.     {
  832.         self iPrintln("You can't Verify the Host!");
  833.     }
  834.     else
  835.     {
  836.         if (player.CoHost == false)
  837.         {
  838.             player UnverifMe();
  839.             player.Verified = true;
  840.             player.VIP = true;
  841.             player.Admin = true;
  842.             player.CoHost = true;
  843.             self iPrintln( player.name + " is ^5Co-Host" );
  844.         }
  845.     }
  846. }
  847.  
  848. AllPlayersKilled()
  849. {
  850.     foreach(player in level.players)
  851.     {
  852.         if(player isHost())
  853.         {
  854.            
  855.         }
  856.         else
  857.         {
  858.             player suicide();
  859.         }
  860.     }
  861.     self iPrintln("All Players: ^2Killed !");
  862. }
  863.  
  864. Test()
  865. {
  866.     self iPrintln("Menu Made By: Zynx Aquaz");
  867.     self iPrintln("Thanks ^3ZeiKeN^7 and ^6FanatiK^7 for the menu base ^1<3");
  868. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement