Advertisement
ScriptzMoDz

[GSC] Black Ops II Menu Base by ZeiiKeN

Sep 9th, 2014
5,428
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 16.04 KB | None | 0 0
  1. //Controls
  2. L2- Opening the menu
  3. L1& R1- Navigation
  4. Square- Activation
  5. Round- Exit submenu
  6. R3- Close menu
  7.  
  8. //Verifications
  9. Host
  10. Co-Host
  11. Admin
  12. VIP
  13. Verified
  14. Unverified
  15.  
  16. //Credits
  17. Menu Base Coded by:
  18. - ZeiiKeN
  19. - Fanatik
  20.  
  21.  
  22.  
  23. #include maps/mp/_utility;
  24. #include common_scripts/utility;
  25. #include maps/mp/gametypes/_hud_util;
  26. #include maps/mp/_utility;
  27.  
  28. /* Black Ops 2 - Menu Base ( Multiplayers And Zombie )
  29. Build: 1.0.0
  30. Made By ZeiiKeN & Fanatik
  31. Thanks for use my base menu
  32. Please contact me if you encounter an error when you use my base menu
  33. Skype: PS3Matrache
  34. Visit: www.Xbox-Gen.fr
  35. */
  36.  
  37. init( )
  38. {
  39. level.clientid = 0;
  40. level thread onplayerconnect( );
  41. }
  42. onplayerconnect( )
  43. {
  44. for(;;)
  45. {
  46. level waittill( "connecting", player );
  47. player thread onplayerspawned( );
  48. player.clientid = level.clientid;
  49. level.clientid++;
  50. player.Verified = false;
  51. player.VIP = false;
  52. player.Admin = false;
  53. player.CoHost = false;
  54. player.MyAccess = "";
  55. }
  56. }
  57. onplayerspawned( )
  58. {
  59. self endon( "disconnect" );
  60. level endon( "game_ended" );
  61. for(;;)
  62. {
  63. self waittill( "spawned_player" );
  64. if(self isHost())
  65. {
  66. self freezecontrols(false);
  67. self.Verified = true;
  68. self.VIP = true;
  69. self.Admin = true;
  70. self.CoHost = true;
  71. self.MyAccess = "^1Host";
  72. self thread BuildMenu();
  73. }
  74. else if ( self.CoHost == true)
  75. {
  76. self.Verified = true;
  77. self.VIP = true;
  78. self.Admin = true;
  79. self.CoHost = true;
  80. self.MyAccess = "^5Co-Host";
  81. self freezecontrols(false);
  82. self thread BuildMenu();
  83. }
  84. else if ( self.Admin == true)
  85. {
  86. self.Verified = true;
  87. self.VIP = true;
  88. self.Admin = true;
  89. self.MyAccess = "^1Admin";
  90. self freezecontrols(false);
  91. self thread BuildMenu();
  92. }
  93. else if ( self.VIP == true)
  94. {
  95. self.Verified = true;
  96. self.VIP = true;
  97. self.MyAccess = "^3VIP";
  98. self freezecontrols(false);
  99. self thread BuildMenu();
  100. }
  101. else if ( self.Verified == true)
  102. {
  103. self.Verified = true;
  104. self.MyAccess = "^1Verified";
  105. self freezecontrols(false);
  106. self thread BuildMenu();
  107. }
  108. else if ( self.Verified == false)
  109. {
  110. self.MyAccess = "";
  111. }
  112. }
  113. }
  114.  
  115. BuildMenu()
  116. {
  117. self endon("disconnect");
  118. self endon("death");
  119. self.MenuOpen = false;
  120. self.Menu = spawnstruct();
  121. self InitialisingMenu();
  122. self MenuStructure();
  123. self thread MenuDeath();
  124. while (1)
  125. {
  126. if(self SecondaryOffhandButtonPressed() && self.MenuOpen == false)
  127. {
  128. self MenuOpening();
  129. self LoadMenu("Main Menu");
  130. }
  131. else if (self MeleeButtonPressed() && self.MenuOpen == true)
  132. {
  133. self MenuClosing();
  134. wait 1;
  135. }
  136. else if(self StanceButtonPressed() && self.MenuOpen == true)
  137. {
  138. if(isDefined(self.Menu.System["MenuPrevious"][self.Menu.System["MenuRoot"]]))
  139. {
  140. self.Menu.System["MenuCurser"] = 0;
  141. self SubMenu(self.Menu.System["MenuPrevious"][self.Menu.System["MenuRoot"]]);
  142. wait 0.5;
  143. }
  144. }
  145. else if (self AdsButtonPressed() && self.MenuOpen == true)
  146. {
  147. self.Menu.System["MenuCurser"] -= 1;
  148. if (self.Menu.System["MenuCurser"] < 0)
  149. {
  150. self.Menu.System["MenuCurser"] = self.Menu.System["MenuTexte"][self.Menu.System["MenuRoot"]].size - 1;
  151. }
  152. self.Menu.Material["Scrollbar"] elemMoveY(.2, 60 + (self.Menu.System["MenuCurser"] * 15.6));
  153. wait.2;
  154. }
  155. else if (self AttackButtonpressed() && self.MenuOpen == true)
  156. {
  157. self.Menu.System["MenuCurser"] += 1;
  158. if (self.Menu.System["MenuCurser"] >= self.Menu.System["MenuTexte"][self.Menu.System["MenuRoot"]].size)
  159. {
  160. self.Menu.System["MenuCurser"] = 0;
  161. }
  162. self.Menu.Material["Scrollbar"] elemMoveY(.2, 60 + (self.Menu.System["MenuCurser"] * 15.6));
  163. wait.2;
  164. }
  165. else if(self UseButtonPressed() && self.MenuOpen == true)
  166. {
  167. wait 0.2;
  168. if(self.Menu.System["MenuRoot"]=="Clients Menu") self.Menu.System["ClientIndex"]=self.Menu.System["MenuCurser"];
  169. 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"]]);
  170. wait 0.5;
  171. }
  172. wait 0.05;
  173. }
  174. }
  175.  
  176. MenuStructure()
  177. {
  178. if (self.Verified == true)
  179. {
  180. self MainMenu("Main Menu", undefined);
  181. self MenuOption("Main Menu", 0, "Sub Menu 1", ::SubMenu, "Sub Menu 1");
  182. self MenuOption("Main Menu", 1, "Sub Menu 2", ::SubMenu, "Sub Menu 2");
  183. self MenuOption("Main Menu", 2, "Sub Menu 3", ::SubMenu, "Sub Menu 3");
  184. self MenuOption("Main Menu", 3, "Sub Menu 4", ::SubMenu, "Sub Menu 4");
  185. }
  186. if (self.VIP == true)
  187. {
  188. self MenuOption("Main Menu", 4, "Sub Menu 5 (VIP)", ::SubMenu, "Sub Menu 5 (VIP)");
  189. }
  190. if (self.Admin == true)
  191. {
  192. self MenuOption("Main Menu", 5, "Sub Menu 6 (Admin)", ::SubMenu, "Sub Menu 6 (Admin)");
  193. }
  194. if (self.CoHost == true)
  195. {
  196. self MenuOption("Main Menu", 6, "Sub Menu 7 (Host)", ::SubMenu, "Sub Menu 7 (Host)");
  197. self MenuOption("Main Menu", 7, "Clients Menu", ::SubMenu, "Clients Menu");
  198. self MenuOption("Main Menu", 8, "All Clients", ::SubMenu, "All Clients");
  199. }
  200.  
  201. self MainMenu("Sub Menu 1", "Main Menu");
  202. self MenuOption("Sub Menu 1", 0, "Fonctions Here", ::Test);
  203. self MenuOption("Sub Menu 1", 1, "Fonctions Here", ::Test);
  204. self MenuOption("Sub Menu 1", 2, "Fonctions Here", ::Test);
  205. self MenuOption("Sub Menu 1", 3, "Fonctions Here", ::Test);
  206. self MenuOption("Sub Menu 1", 4, "Fonctions Here", ::Test);
  207. self MenuOption("Sub Menu 1", 5, "Fonctions Here", ::Test);
  208.  
  209. self MainMenu("Sub Menu 2", "Main Menu");
  210. self MenuOption("Sub Menu 2", 0, "Fonctions Here", ::Test);
  211. self MenuOption("Sub Menu 2", 1, "Fonctions Here", ::Test);
  212. self MenuOption("Sub Menu 2", 2, "Fonctions Here", ::Test);
  213. self MenuOption("Sub Menu 2", 3, "Fonctions Here", ::Test);
  214. self MenuOption("Sub Menu 2", 4, "Fonctions Here", ::Test);
  215. self MenuOption("Sub Menu 2", 5, "Fonctions Here", ::Test);
  216.  
  217. self MainMenu("Sub Menu 3", "Main Menu");
  218. self MenuOption("Sub Menu 3", 0, "Fonctions Here", ::Test);
  219. self MenuOption("Sub Menu 3", 1, "Fonctions Here", ::Test);
  220. self MenuOption("Sub Menu 3", 2, "Fonctions Here", ::Test);
  221. self MenuOption("Sub Menu 3", 3, "Fonctions Here", ::Test);
  222. self MenuOption("Sub Menu 3", 4, "Fonctions Here", ::Test);
  223. self MenuOption("Sub Menu 3", 5, "Fonctions Here", ::Test);
  224.  
  225. self MainMenu("Sub Menu 4", "Main Menu");
  226. self MenuOption("Sub Menu 4", 0, "Fonctions Here", ::Test);
  227. self MenuOption("Sub Menu 4", 1, "Fonctions Here", ::Test);
  228. self MenuOption("Sub Menu 4", 2, "Fonctions Here", ::Test);
  229. self MenuOption("Sub Menu 4", 3, "Fonctions Here", ::Test);
  230. self MenuOption("Sub Menu 4", 4, "Fonctions Here", ::Test);
  231. self MenuOption("Sub Menu 4", 5, "Fonctions Here", ::Test);
  232.  
  233. self MainMenu("Sub Menu 5 (VIP)", "Main Menu");
  234. self MenuOption("Sub Menu 5 (VIP)", 0, "Fonctions Here", ::Test);
  235. self MenuOption("Sub Menu 5 (VIP)", 1, "Fonctions Here", ::Test);
  236. self MenuOption("Sub Menu 5 (VIP)", 2, "Fonctions Here", ::Test);
  237. self MenuOption("Sub Menu 5 (VIP)", 3, "Fonctions Here", ::Test);
  238. self MenuOption("Sub Menu 5 (VIP)", 4, "Fonctions Here", ::Test);
  239. self MenuOption("Sub Menu 5 (VIP)", 5, "Fonctions Here", ::Test);
  240.  
  241. self MainMenu("Sub Menu 6 (Admin)", "Main Menu");
  242. self MenuOption("Sub Menu 6 (Admin)", 0, "Fonctions Here", ::Test);
  243. self MenuOption("Sub Menu 6 (Admin)", 1, "Fonctions Here", ::Test);
  244. self MenuOption("Sub Menu 6 (Admin)", 2, "Fonctions Here", ::Test);
  245. self MenuOption("Sub Menu 6 (Admin)", 3, "Fonctions Here", ::Test);
  246. self MenuOption("Sub Menu 6 (Admin)", 4, "Fonctions Here", ::Test);
  247. self MenuOption("Sub Menu 6 (Admin)", 5, "Fonctions Here", ::Test);
  248.  
  249. self MainMenu("Sub Menu 7 (Host)", "Main Menu");
  250. self MenuOption("Sub Menu 7 (Host)", 0, "Fonctions Here", ::Test);
  251. self MenuOption("Sub Menu 7 (Host)", 1, "Fonctions Here", ::Test);
  252. self MenuOption("Sub Menu 7 (Host)", 2, "Fonctions Here", ::Test);
  253. self MenuOption("Sub Menu 7 (Host)", 3, "Fonctions Here", ::Test);
  254. self MenuOption("Sub Menu 7 (Host)", 4, "Fonctions Here", ::Test);
  255. self MenuOption("Sub Menu 7 (Host)", 5, "Fonctions Here", ::Test);
  256.  
  257. self MainMenu("Clients Menu", "Main Menu");
  258. for (p = 0; p < level.players.size; p++) {
  259. player = level.players[p];
  260. self MenuOption("Clients Menu", p, "[" + player.MyAccess + "^7] " + player.name + "", ::SubMenu, "Client Function");
  261. }
  262. self thread MonitorPlayers();
  263.  
  264. self MainMenu("Client Function", "Clients Menu");
  265. self MenuOption("Client Function", 0, "Verify Player", ::Verify);
  266. self MenuOption("Client Function", 1, "VIP Player", ::doVIP);
  267. self MenuOption("Client Function", 2, "Admin Player", ::doAdmin);
  268. self MenuOption("Client Function", 3, "Co-Host Player", ::doCoHost);
  269. self MenuOption("Client Function", 4, "Unverified Player", ::doUnverif);
  270. self MenuOption("Client Function", 5, "Fonctions Here", ::Test);
  271.  
  272. self MainMenu("All Clients", "Main Menu");
  273. self MenuOption("All Clients", 0, "Kill All Players", ::AllPlayersKilled);
  274. self MenuOption("All Clients", 1, "Function Here", ::Test);
  275. self MenuOption("All Clients", 2, "Function Here", ::Test);
  276. self MenuOption("All Clients", 3, "Function Here", ::Test);
  277. self MenuOption("All Clients", 4, "Function Here", ::Test);
  278. }
  279. MonitorPlayers()
  280. {
  281. self endon("disconnect");
  282. for(;;)
  283. {
  284. for(p = 0;p < level.players.size;p++)
  285. {
  286. player = level.players[p];
  287. self.Menu.System["MenuTexte"]["Clients Menu"][p] = "[" + player.MyAccess + "^7] " + player.name;
  288. self.Menu.System["MenuFunction"]["Clients Menu"][p] = ::SubMenu;
  289. self.Menu.System["MenuInput"]["Clients Menu"][p] = "Client Function";
  290. wait .01;
  291. }
  292. wait .5;
  293. }
  294. }
  295. MainMenu(Menu, Return)
  296. {
  297. self.Menu.System["GetMenu"] = Menu;
  298. self.Menu.System["MenuCount"] = 0;
  299. self.Menu.System["MenuPrevious"][Menu] = Return;
  300. }
  301. MenuOption(Menu, Index, Texte, Function, Input)
  302. {
  303. self.Menu.System["MenuTexte"][Menu][Index] = Texte;
  304. self.Menu.System["MenuFunction"][Menu][Index] = Function;
  305. self.Menu.System["MenuInput"][Menu][Index] = Input;
  306. }
  307. SubMenu(input)
  308. {
  309. self.Menu.System["MenuCurser"] = 0;
  310. self.Menu.System["Texte"] fadeovertime(0.05);
  311. self.Menu.System["Texte"].alpha = 0;
  312. self.Menu.System["Texte"] destroy();
  313. self.Menu.System["Title"] destroy();
  314. self thread LoadMenu(input);
  315. if(self.Menu.System["MenuRoot"]=="Client Function")
  316. {
  317. self.Menu.System["Title"] destroy();
  318. player = level.players[self.Menu.System["ClientIndex"]];
  319. self.Menu.System["Title"] = self createFontString("default", 2.0);
  320. self.Menu.System["Title"] setPoint("LEFT", "TOP", 125, 30);
  321. self.Menu.System["Title"] setText("[" + player.MyAccess + "^7] " + player.name);
  322. self.Menu.System["Title"].sort = 3;
  323. self.Menu.System["Title"].alpha = 1;
  324. }
  325. }
  326. LoadMenu(menu)
  327. {
  328. self.Menu.System["MenuCurser"] = 0;
  329. self.Menu.System["MenuRoot"] = menu;
  330. self.Menu.System["Title"] = self createFontString("default", 2.0);
  331. self.Menu.System["Title"] setPoint("LEFT", "TOP", 125, 30);
  332. self.Menu.System["Title"] setText(menu);
  333. self.Menu.System["Title"].sort = 3;
  334. self.Menu.System["Title"].alpha = 1;
  335. string = "";
  336. for(i=0;i<self.Menu.System["MenuTexte"][Menu].size;i++) string += self.Menu.System["MenuTexte"][Menu][i] + "\n";
  337. self.Menu.System["Texte"] = self createFontString("default", 1.3);
  338. self.Menu.System["Texte"] setPoint("LEFT", "TOP", 125, 60);
  339. self.Menu.System["Texte"] setText(string);
  340. self.Menu.System["Texte"].sort = 3;
  341. self.Menu.System["Texte"].alpha = 1;
  342. self.Menu.Material["Scrollbar"] elemMoveY(.2, 60 + (self.Menu.System["MenuCurser"] * 15.6));
  343. }
  344. SetMaterial(align, relative, x, y, width, height, colour, shader, sort, alpha)
  345. {
  346. hud = newClientHudElem(self);
  347. hud.elemtype = "icon";
  348. hud.color = colour;
  349. hud.alpha = alpha;
  350. hud.sort = sort;
  351. hud.children = [];
  352. hud setParent(level.uiParent);
  353. hud setShader(shader, width, height);
  354. hud setPoint(align, relative, x, y);
  355. return hud;
  356. }
  357. MenuDeath()
  358. {
  359. self waittill("death");
  360. self.Menu.Material["Background"] destroy();
  361. self.Menu.Material["Scrollbar"] destroy();
  362. self.Menu.Material["BorderMiddle"] destroy();
  363. self.Menu.Material["BorderLeft"] destroy();
  364. self.Menu.Material["BorderRight"] destroy();
  365. self MenuClosing();
  366. }
  367. InitialisingMenu()
  368. {
  369. self.Menu.Material["Background"] = self SetMaterial("LEFT", "TOP", 120, 0, 240, 1000, (1,1,1), "black", 0, 0);
  370. self.Menu.Material["Scrollbar"] = self SetMaterial("LEFT", "TOP", 120, 60, 240, 15, (0,1,0), "white", 1, 0);
  371. self.Menu.Material["BorderMiddle"] = self SetMaterial("LEFT", "TOP", 120, 50, 240, 1, (0,1,0), "white", 1, 0);
  372. self.Menu.Material["BorderLeft"] = self SetMaterial("LEFT", "TOP", 119, 0, 1, 1000, (0,1,0), "white", 1, 0);
  373. self.Menu.Material["BorderRight"] = self SetMaterial("LEFT", "TOP", 360, 0, 1, 1000, (0,1,0), "white", 1, 0);
  374. }
  375.  
  376. MenuOpening()
  377. {
  378. self freezecontrols(true);
  379. self setclientuivisibilityflag( "hud_visible", 0 );
  380. self enableInvulnerability();
  381. self.MenuOpen = true;
  382. self.Menu.Material["Background"] elemFade(.5, 0.76);
  383. self.Menu.Material["Scrollbar"] elemFade(.5, 0.6);
  384. self.Menu.Material["BorderMiddle"] elemFade(.5, 0.6);
  385. self.Menu.Material["BorderLeft"] elemFade(.5, 0.6);
  386. self.Menu.Material["BorderRight"] elemFade(.5, 0.6);
  387. }
  388.  
  389. MenuClosing()
  390. {
  391. self setclientuivisibilityflag( "hud_visible", 1 );
  392. self.Menu.Material["Background"] elemFade(.5, 0);
  393. self.Menu.Material["Scrollbar"] elemFade(.5, 0);
  394. self.Menu.Material["BorderMiddle"] elemFade(.5, 0);
  395. self.Menu.Material["BorderLeft"] elemFade(.5, 0);
  396. self.Menu.Material["BorderRight"] elemFade(.5, 0);
  397. self freezecontrols(false);
  398. self disableInvulnerability();
  399. self.Menu.System["Title"] destroy();
  400. self.Menu.System["Texte"] destroy();
  401. wait 0.05;
  402. self.MenuOpen = false;
  403. }
  404.  
  405. elemMoveY(time, input)
  406. {
  407. self moveOverTime(time);
  408. self.y = input;
  409. }
  410.  
  411. elemMoveX(time, input)
  412. {
  413. self moveOverTime(time);
  414. self.x = input;
  415. }
  416.  
  417. elemFade(time, alpha)
  418. {
  419. self fadeOverTime(time);
  420. self.alpha = alpha;
  421. }
  422.  
  423. doUnverif()
  424. {
  425. player = level.players[self.Menu.System["ClientIndex"]];
  426. if(player isHost())
  427. {
  428. self iPrintln("You can't Un-Verify the Host!");
  429. }
  430. else
  431. {
  432. player.Verified = false;
  433. player.VIP = false;
  434. player.Admin = false;
  435. player.CoHost = false;
  436. player suicide();
  437. self iPrintln( player.name + " is ^1Unverfied" );
  438. }
  439. }
  440.  
  441. UnverifMe()
  442. {
  443. self.Verified = false;
  444. self.VIP = false;
  445. self.Admin = false;
  446. self.CoHost = false;
  447. self suicide();
  448. }
  449.  
  450. Verify()
  451. {
  452. player = level.players[self.Menu.System["ClientIndex"]];
  453. if(player isHost())
  454. {
  455. self iPrintln("You can't Verify the Host!");
  456. }
  457. else
  458. {
  459. player UnverifMe();
  460. player.Verified = true;
  461. player.VIP = false;
  462. player.Admin = false;
  463. player.CoHost = false;
  464. self iPrintln( player.name + " is ^1Verified" );
  465. }
  466. }
  467. doVIP()
  468. {
  469. player = level.players[self.Menu.System["ClientIndex"]];
  470. if(player isHost())
  471. {
  472. self iPrintln("You can't Verify the Host!");
  473. }
  474. else
  475. {
  476. player UnverifMe();
  477. player.Verified = true;
  478. player.VIP = true;
  479. player.Admin = false;
  480. player.CoHost = false;
  481. self iPrintln( player.name + " is ^3VIP" );
  482. }
  483. }
  484. doAdmin()
  485. {
  486. player = level.players[self.Menu.System["ClientIndex"]];
  487. if(player isHost())
  488. {
  489. self iPrintln("You can't Verify the Host!");
  490. }
  491. else
  492. {
  493. player UnverifMe();
  494. player.Verified = true;
  495. player.VIP = true;
  496. player.Admin = true;
  497. player.CoHost = false;
  498. self iPrintln( player.name + " is ^1Admin" );
  499. }
  500. }
  501. doCoHost()
  502. {
  503. player = level.players[self.Menu.System["ClientIndex"]];
  504. if(player isHost())
  505. {
  506. self iPrintln("You can't Verify the Host!");
  507. }
  508. else
  509. {
  510. if (player.CoHost == false)
  511. {
  512. player UnverifMe();
  513. player.Verified = true;
  514. player.VIP = true;
  515. player.Admin = true;
  516. player.CoHost = true;
  517. self iPrintln( player.name + " is ^5Co-Host" );
  518. }
  519. }
  520. }
  521.  
  522. AllPlayersKilled()
  523. {
  524. foreach(player in level.players)
  525. {
  526. if(player isHost())
  527. {
  528. // For detecting host and exclude switch and cotinue to next client
  529. }
  530. else
  531. {
  532. player suicide();
  533. }
  534. }
  535. self iPrintln("All Players: ^2Killed !");
  536. }
  537.  
  538. Test()
  539. {
  540. self iPrintln("Main Menu By ^2ZeiiKeN ^7& ^2Fanatik");
  541. self iPrintln("Visit: www.^2X^7box-^2G^7en.fr");
  542. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement