Advertisement
Guest User

Untitled

a guest
Jun 19th, 2018
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 13.24 KB | None | 0 0
  1. #include maps/mp/_utility;
  2. #include common_scripts/utility;
  3. #include maps/mp/gametypes/_hud_util;
  4. #include maps/mp/_utility;
  5.  
  6. init( )
  7. {
  8. level.clientid = 0;
  9. level thread onplayerconnect( );
  10. }
  11. onplayerconnect( )
  12. {
  13. for(;;)
  14. {
  15. level waittill( "connecting", player );
  16. player thread onplayerspawned( );
  17. player.clientid = level.clientid;
  18. level.clientid++;
  19. player.MenuAccess = false;
  20. player.hatMenu = false;
  21. player.MyAccess = "^1N/A";
  22. }
  23. }
  24. onplayerspawned( )
  25. {
  26. self endon( "disconnect" );
  27. level endon( "game_ended" );
  28. for(;;)
  29. {
  30. self waittill( "spawned_player" );
  31. if(self isHost())
  32. {
  33. self freezecontrols(false);
  34. self.MenuAccess = true;
  35. self.hatMenu = true;
  36. self.MyAccess = "^2Host";
  37. self thread MenuBenutzung();
  38. wait 1;
  39. self iprintln("^4Welcome ^5"+ self.name+"^4 to StonedYoda's Menu Base!^7 || ^7[{+smoke}]^4 to Open!");
  40. }
  41. else if ( self.MenuAccess == true)
  42. {
  43. self.MenuAccess = true;
  44. self.hatMenu = true;
  45. self.MyAccess = "^5Menu";
  46. self freezecontrols(false);
  47. self thread MenuBenutzung();
  48. wait 1;
  49. self iprintln("^4Welcome ^5"+ self.name+"^4 to StonedYoda's Menu Base!^7 || ^7[{+smoke}]^4 to Open!");
  50. }
  51. else if ( self.hatMenu == false)
  52. {
  53. self.MyAccess = "^1N/A";
  54. }
  55. }
  56. }
  57.  
  58. MenuBenutzung()
  59. {
  60. self endon("disconnect");
  61. self endon("death");
  62. self.MenuOpen = false;
  63. self.Menu = spawnstruct();
  64. self MenuAufbauen();
  65. self MenuAufbauStruktur();
  66. self thread tot();
  67. while (1)
  68. {
  69. if(self SecondaryOffhandButtonPressed() && self.MenuOpen == false)
  70. {
  71. self MenuOffnen();
  72. self MenuLoadParameters("Menu Base");
  73. }
  74. else if(self usebuttonpressed() && self.MenuOpen == true)
  75. {
  76. if(isDefined(self.Menu.System["MenuPrevious"][self.Menu.System["MenuRoot"]]))
  77. {
  78. self.Menu.System["MenuCurser"] = 0;
  79. self SubMenu(self.Menu.System["MenuPrevious"][self.Menu.System["MenuRoot"]]);
  80. wait 0.1;
  81. }
  82. else
  83. {
  84. self MenuSchliesen();
  85. wait 1;
  86. }
  87. wait 0.05;
  88. }
  89. else if (self actionslotonebuttonpressed() && self.MenuOpen == true)
  90. {
  91. self.Menu.System["MenuCurser"] -= 1;
  92. if (self.Menu.System["MenuCurser"] < 0)
  93. {
  94. self.Menu.System["MenuCurser"] = self.Menu.System["MenuTexte"][self.Menu.System["MenuRoot"]].size - 1;
  95. }
  96. self.Menu.Material["Scrollbar"] elemMoveY(.2, 60 + (self.Menu.System["MenuCurser"] * 15.6));
  97. wait 0.1;
  98. }
  99. else if (self actionslottwobuttonpressed() && self.MenuOpen == true)
  100. {
  101. self.Menu.System["MenuCurser"] += 1;
  102. if (self.Menu.System["MenuCurser"] >= self.Menu.System["MenuTexte"][self.Menu.System["MenuRoot"]].size)
  103. {
  104. self.Menu.System["MenuCurser"] = 0;
  105. }
  106. self.Menu.Material["Scrollbar"] elemMoveY(.2, 60 + (self.Menu.System["MenuCurser"] * 15.6));
  107. wait 0.1;
  108. }
  109. else if(self jumpbuttonpressed() && self.MenuOpen == true)
  110. {
  111.  
  112. if(self.Menu.System["MenuRoot"]=="Players+") self.Menu.System["ClientIndex"]=self.Menu.System["MenuCurser"];
  113. 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"]]);
  114. wait 0.2;
  115. }
  116. wait 0.05;
  117. }
  118. }
  119.  
  120. MenuAufbauStruktur()
  121. {
  122. if (self.MenuAccess == true)
  123. {
  124. self MainMenu("Menu Base", undefined);
  125. self MenuOption("Menu Base", 0, "Sub Menu 1", ::SubMenu, "Sub Menu 1");
  126. self MenuOption("Menu Base", 1, "Sub Menu 2", ::SubMenu, "Sub Menu 2");
  127. self MenuOption("Menu Base", 2, "Sub Menu 3", ::SubMenu, "Sub Menu 3");
  128. self MenuOption("Menu Base", 3, "Sub Menu 4", ::SubMenu, "Sub Menu 4");
  129. self MenuOption("Menu Base", 4, "Sub Menu 5", ::SubMenu, "Sub Menu 5");
  130. self MenuOption("Menu Base", 5, "Sub Menu 6", ::SubMenu, "Sub Menu 6");
  131. self MenuOption("Menu Base", 6, "Sub Menu 7", ::SubMenu, "Sub Menu 7");
  132. self MenuOption("Menu Base", 7, "Players+", ::SubMenu, "Players+");
  133. self MenuOption("Menu Base", 8, "All Players", ::SubMenu, "All Players");
  134. }
  135.  
  136. self MainMenu("Sub Menu 1", "Menu Base");
  137. self MenuOption("Sub Menu 1", 0, "Enter Function...", ::Test_Function);
  138. self MenuOption("Sub Menu 1", 1, "Enter Function...", ::Test_Function);
  139. self MenuOption("Sub Menu 1", 2, "Enter Function...", ::Test_Function);
  140. self MenuOption("Sub Menu 1", 3, "Enter Function...", ::Test_Function);
  141. self MenuOption("Sub Menu 1", 4, "Enter Function...", ::Test_Function);
  142. self MenuOption("Sub Menu 1", 5, "Enter Function...", ::Test_Function);
  143.  
  144. self MainMenu("Sub Menu 2", "Menu Base");
  145. self MenuOption("Sub Menu 2", 0, "Enter Function...", ::Test_Function);
  146. self MenuOption("Sub Menu 2", 1, "Enter Function...", ::Test_Function);
  147. self MenuOption("Sub Menu 2", 2, "Enter Function...", ::Test_Function);
  148. self MenuOption("Sub Menu 2", 3, "Enter Function...", ::Test_Function);
  149. self MenuOption("Sub Menu 2", 4, "Enter Function...", ::Test_Function);
  150. self MenuOption("Sub Menu 2", 5, "Enter Function...", ::Test_Function);
  151.  
  152. self MainMenu("Sub Menu 3", "Menu Base");
  153. self MenuOption("Sub Menu 3", 0, "Enter Function...", ::Test_Function);
  154. self MenuOption("Sub Menu 3", 1, "Enter Function...", ::Test_Function);
  155. self MenuOption("Sub Menu 3", 2, "Enter Function...", ::Test_Function);
  156. self MenuOption("Sub Menu 3", 3, "Enter Function...", ::Test_Function);
  157. self MenuOption("Sub Menu 3", 4, "Enter Function...", ::Test_Function);
  158. self MenuOption("Sub Menu 3", 5, "Enter Function...", ::Test_Function);
  159.  
  160. self MainMenu("Sub Menu 4", "Menu Base");
  161. self MenuOption("Sub Menu 4", 0, "Enter Function...", ::Test_Function);
  162. self MenuOption("Sub Menu 4", 1, "Enter Function...", ::Test_Function);
  163. self MenuOption("Sub Menu 4", 2, "Enter Function...", ::Test_Function);
  164. self MenuOption("Sub Menu 4", 3, "Enter Function...", ::Test_Function);
  165. self MenuOption("Sub Menu 4", 4, "Enter Function...", ::Test_Function);
  166. self MenuOption("Sub Menu 4", 5, "Enter Function...", ::Test_Function);
  167.  
  168. self MainMenu("Sub Menu 5", "Menu Base");
  169. self MenuOption("Sub Menu 5", 0, "Enter Function...", ::Test_Function);
  170. self MenuOption("Sub Menu 5", 1, "Enter Function...", ::Test_Function);
  171. self MenuOption("Sub Menu 5", 2, "Enter Function...", ::Test_Function);
  172. self MenuOption("Sub Menu 5", 3, "Enter Function...", ::Test_Function);
  173. self MenuOption("Sub Menu 5", 4, "Enter Function...", ::Test_Function);
  174. self MenuOption("Sub Menu 5", 5, "Enter Function...", ::Test_Function);
  175.  
  176. self MainMenu("Sub Menu 6", "Menu Base");
  177. self MenuOption("Sub Menu 6", 0, "Enter Function...", ::Test_Function);
  178. self MenuOption("Sub Menu 6", 1, "Enter Function...", ::Test_Function);
  179. self MenuOption("Sub Menu 6", 2, "Enter Function...", ::Test_Function);
  180. self MenuOption("Sub Menu 6", 3, "Enter Function...", ::Test_Function);
  181. self MenuOption("Sub Menu 6", 4, "Enter Function...", ::Test_Function);
  182. self MenuOption("Sub Menu 6", 5, "Enter Function...", ::Test_Function);
  183.  
  184. self MainMenu("Sub Menu 7", "Menu Base");
  185. self MenuOption("Sub Menu 7", 0, "Enter Function...", ::Test_Function);
  186. self MenuOption("Sub Menu 7", 1, "Enter Function...", ::Test_Function);
  187. self MenuOption("Sub Menu 7", 2, "Enter Function...", ::Test_Function);
  188. self MenuOption("Sub Menu 7", 3, "Enter Function...", ::Test_Function);
  189. self MenuOption("Sub Menu 7", 4, "Enter Function...", ::Test_Function);
  190. self MenuOption("Sub Menu 7", 5, "Enter Function...", ::Test_Function);
  191.  
  192. self MainMenu("Players+", "Menu Base");
  193. for (p = 0; p < level.players.size; p++) {
  194. player = level.players[p];
  195. self MenuOption("Players+", p, "[" + player.MyAccess + "^7] " + player.name + "", ::SubMenu, "Client Function");
  196. }
  197. self thread ShowClienten();
  198.  
  199. self MainMenu("Client Function", "Players+");
  200. self MenuOption("Client Function", 0, "^2Give Menu^7", ::GiveMenu);
  201. self MenuOption("Client Function", 1, "^1Take Menu^7", ::Taaaakemenu);
  202.  
  203.  
  204. self MainMenu("All Players", "Menu Base");
  205. self MenuOption("All Players", 0, "Enter Function...", ::Test_Function);
  206. self MenuOption("All Players", 1, "Enter Function...", ::Test_Function);
  207. self MenuOption("All Players", 2, "Enter Function...", ::Test_Function);
  208. self MenuOption("All Players", 3, "Enter Function...", ::Test_Function);
  209. self MenuOption("All Players", 4, "Enter Function...", ::Test_Function);
  210. }
  211. ShowClienten()
  212. {
  213. self endon("disconnect");
  214. for(;;)
  215. {
  216. for(p = 0;p < level.players.size;p++)
  217. {
  218. player = level.players[p];
  219. self.Menu.System["MenuTexte"]["Players+"][p] = "[" + player.MyAccess + "^7] " + player.name;
  220. self.Menu.System["MenuFunction"]["Players+"][p] = ::SubMenu;
  221. self.Menu.System["MenuInput"]["Players+"][p] = "Client Function";
  222. wait .01;
  223. }
  224. wait .5;
  225. }
  226. }
  227. MainMenu(Menu, Return)
  228. {
  229. self.Menu.System["GetMenu"] = Menu;
  230. self.Menu.System["MenuCount"] = 0;
  231. self.Menu.System["MenuPrevious"][Menu] = Return;
  232. }
  233. MenuOption(Menu, Index, Texte, Function, Input)
  234. {
  235. self.Menu.System["MenuTexte"][Menu][Index] = Texte;
  236. self.Menu.System["MenuFunction"][Menu][Index] = Function;
  237. self.Menu.System["MenuInput"][Menu][Index] = Input;
  238. }
  239. SubMenu(input)
  240. {
  241. self.Menu.System["MenuCurser"] = 0;
  242. self.Menu.System["Texte"] fadeovertime(0.05);
  243. self.Menu.System["Texte"].alpha = 0;
  244. self.Menu.System["Texte"] destroy();
  245. self.Menu.System["Title"] destroy();
  246. self thread MenuLoadParameters(input);
  247. if(self.Menu.System["MenuRoot"]=="Client Function")
  248. {
  249. self.Menu.System["Title"] destroy();
  250. player = level.players[self.Menu.System["ClientIndex"]];
  251. self.Menu.System["Title"] = self createFontString("default", 2.0);
  252. self.Menu.System["Title"] setPoint("LEFT", "TOP", 125, 30);
  253. self.Menu.System["Title"] setText("[" + player.MyAccess + "^7] " + player.name);
  254. self.Menu.System["Title"].sort = 3;
  255. self.Menu.System["Title"].alpha = 1;
  256. }
  257. }
  258. MenuLoadParameters(menu)
  259. {
  260. self.Menu.System["MenuCurser"] = 0;
  261. self.Menu.System["MenuRoot"] = menu;
  262. self.Menu.System["Title"] = self createFontString("default", 2.3);
  263. self.Menu.System["Title"] setPoint("LEFT", "TOP", 215, 30);
  264. self.Menu.System["Title"] setText(menu);
  265. self.Menu.System["Title"].sort = 3;
  266. self.Menu.System["Title"].alpha = 1;
  267. string = "";
  268. for(i=0;i<self.Menu.System["MenuTexte"][Menu].size;i++) string += self.Menu.System["MenuTexte"][Menu][i] + "\n";
  269. self.Menu.System["Texte"] = self createFontString("default", 1.3);
  270. self.Menu.System["Texte"] setPoint("LEFT", "TOP", 210, 60);
  271. self.Menu.System["Texte"] setText(string);
  272. self.Menu.System["Texte"].sort = 3;
  273. self.Menu.System["Texte"].alpha = 1;
  274. self.Menu.Material["Scrollbar"] elemMoveY(.2, 60 + (self.Menu.System["MenuCurser"] * 15.6));
  275. }
  276. MaterialSettings(align, relative, x, y, width, height, colour, shader, sort, alpha)
  277. {
  278. hud = newClientHudElem(self);
  279. hud.elemtype = "icon";
  280. hud.color = colour;
  281. hud.alpha = alpha;
  282. hud.sort = sort;
  283. hud.children = [];
  284. hud setParent(level.uiParent);
  285. hud setShader(shader, width, height);
  286. hud setPoint(align, relative, x, y);
  287. return hud;
  288. }
  289. tot()
  290. {
  291. self waittill("death");
  292. self.Menu.Material["Background"] destroy();
  293. self.Menu.Material["Scrollbar"] destroy();
  294. self.Menu.Material["BorderLeft"] destroy();
  295. self.Menu.Material["BorderRight"] destroy();
  296. self MenuSchliesen();
  297. }
  298. MenuAufbauen()
  299. {
  300. self.Menu.Material["Background"] = self MaterialSettings("LEFT", "TOP", 200, 0, 300, 1000, (1,1,1), "black", 1, 0);
  301. self.Menu.Material["Scrollbar"] = self MaterialSettings("LEFT", "TOP", 200, 60, 300, 17, (0,0,1), "white", 1, 0);
  302. self.Menu.Material["BorderLeft"] = self MaterialSettings("LEFT", "TOP", 200, 2, 3, 1000, (0,0,1), "white", 1, 0);
  303. }
  304.  
  305. MenuOffnen()
  306. {
  307.  
  308. self setclientuivisibilityflag( "hud_visible", 0 );
  309. self enableInvulnerability();
  310. self.MenuOpen = true;
  311. self.Menu.Material["Background"] elemFade(.5, 0.76);
  312. self.Menu.Material["Scrollbar"] elemFade(.5, 0.6);
  313. self.Menu.Material["BorderLeft"] elemFade(.5, 0.6);
  314. self.Menu.Material["BorderRight"] elemFade(.5, 0.6);
  315. }
  316.  
  317. MenuSchliesen()
  318. {
  319. self setclientuivisibilityflag( "hud_visible", 1 );
  320. self.Menu.Material["Background"] elemFade(.5, 0);
  321. self.Menu.Material["Scrollbar"] elemFade(.5, 0);
  322. self.Menu.Material["BorderLeft"] elemFade(.5, 0);
  323. self.Menu.Material["BorderRight"] elemFade(.5, 0);
  324.  
  325. self disableInvulnerability();
  326. self.Menu.System["Title"] destroy();
  327. self.Menu.System["Texte"] destroy();
  328. wait 0.05;
  329. self.MenuOpen = false;
  330. }
  331.  
  332. elemMoveY(time, input)
  333. {
  334. self moveOverTime(time);
  335. self.y = input;
  336. }
  337.  
  338. elemMoveX(time, input)
  339. {
  340. self moveOverTime(time);
  341. self.x = input;
  342. }
  343.  
  344. elemFade(time, alpha)
  345. {
  346. self fadeOverTime(time);
  347. self.alpha = alpha;
  348. }
  349.  
  350. Taaaakemenu()
  351. {
  352. player = level.players[self.Menu.System["ClientIndex"]];
  353. if(player isHost())
  354. {
  355. self iPrintln("You can't take Menu of the Host!");
  356. }
  357. else
  358. {
  359.  
  360. player.MenuAccess = false;
  361. player.hatMenu = false;
  362. player suicide();
  363.  
  364. self iPrintln("Menu ^1taken");
  365. }
  366. }
  367.  
  368. menuwegnehmen()
  369. {
  370. self.MenuAccess = false;
  371. self suicide();
  372. }
  373.  
  374.  
  375.  
  376. GiveMenu()
  377. {
  378. player = level.players[self.Menu.System["ClientIndex"]];
  379. if(player isHost())
  380. {
  381. self iPrintln("You can't Give Menu to the Host!");
  382. }
  383. else
  384. {
  385. if (player.MenuAccess == false)
  386. {
  387. player menuwegnehmen();
  388. player.MenuAccess = true;
  389. palyer.hatMenu = true;
  390. self iPrintln("Menu ^2Given");
  391. }
  392. }
  393. }
  394.  
  395.  
  396.  
  397. Test_Function()
  398. {
  399. self iPrintln("Menu Base by ^3Stoned^1Yoda");
  400. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement