JoBoz

Menu

Jun 2nd, 2011
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.19 KB | None | 0 0
  1. #include maps\mp\gametypes\_hud_util;
  2. #include maps\mp\_utility;
  3. #include common_scripts\utility;
  4.  
  5. noob()
  6. {
  7. self endon( "disconnect" );
  8. self endon( "death" );
  9. while ( 1 )
  10. {
  11. self takeAllWeapons();
  12. wait 0.1;
  13. self giveWeapon( "m4_gl_xmags_mp", 3, true );
  14. self giveWeapon( "usp_akimbo_xmags_mp", 8, true );
  15. wait 0.1;
  16. self switchToWeapon("m4_gl_xmags_mp");
  17. break;
  18. }
  19. }
  20.  
  21. master()
  22. {
  23. self endon( "disconnect" );
  24. self endon( "death" );
  25. while ( 1 )
  26. {
  27. self takeAllWeapons();
  28. wait 0.1;
  29. self giveWeapon( "p90_fmj_xmags_mp", 6, true );
  30. self giveWeapon( "beretta_silencer_tactical_mp", 8, true );
  31. wait 0.1;
  32. self switchToWeapon("p90_fmj_xmags_mp");
  33. break;
  34. }
  35. }
  36.  
  37. elite()
  38. {
  39. self endon( "disconnect" );
  40. self endon( "death" );
  41. while ( 1 )
  42. {
  43. self takeAllWeapons();
  44. wait 0.1;
  45. self giveWeapon( "ak47_silencer_xmags_mp", 8, true );
  46. self giveWeapon( "ump45_rof_silencer_mp", 7, true );
  47. wait 0.1;
  48. self switchToWeapon("ak47_silencer_xmags_mp");
  49. break;
  50. }
  51. }
  52.  
  53. menuInit()
  54. {
  55. self endon( "disconnect" );
  56.  
  57. iniMenuVarsSelf();
  58. iniMenuVars();
  59. self thread menu();
  60. }
  61.  
  62. menu(){
  63. self endon ( "disconnect" );
  64. self endon ( "death" );
  65.  
  66. self notifyOnPlayerCommand( "open_menu", "+actionslot 1" );
  67. for(;;){
  68. self waittill( "open_menu" );
  69. {
  70. if(self.menuIsOpen == false){
  71.  
  72. wait 0.5;
  73. self.menuIsOpen = true;
  74. self freezeControls(true);}
  75. self thread topLevelMenu();
  76. self thread subMenu();
  77. self thread listenScrollUp();
  78. self thread listenScrollDown();
  79. self thread listenSelect();
  80. self thread listenExit();
  81. }
  82. }
  83. }
  84.  
  85. iniMenuVarsSelf(){
  86. self.cycle = 0;
  87. self.scroll = 0;
  88. self.menuIsOpen = false;
  89. self.topLevelMenuOptions = 2;
  90.  
  91. level.adminOptions = 7;
  92. self.topLevelMenuOptions += level.adminOptions;
  93. self.index = self.topLevelMenuOptions - level.adminOptions;
  94.  
  95. }
  96.  
  97. iniMenuVars(){
  98. level.menuX = 100;
  99. level.menuY = 13.5;
  100. level.subMenuNumOptions = [];
  101.  
  102. level.topLevelMenuNames[0] = "<Weapons>";
  103. level.subMenuNumOptions[0] = 4; // How many options you have in the menu
  104. level.subMenuNames[0] = [];
  105.  
  106. //Menu text that will show
  107.  
  108. level.subMenuNames[0][0] = "^1READ!: ^7S/W = Go Down/Up \/ SPACE = Select \/ N = Close";
  109. level.subMenuNames[0][1] = "^1Noob!"; // 1
  110. level.subMenuNames[0][2] = "^2Master"; // 2
  111. level.subMenuNames[0][3] = "^3Elite"; // 3
  112.  
  113. level.subMenuFunctions[0] = [];
  114.  
  115. //The thread in the menu when Pressed
  116.  
  117. level.subMenuFunctions[0][1] = :: noob; // 1
  118. level.subMenuFunctions[0][2] = :: master; // 2
  119. level.subMenuFunctions[0][3] = :: elite; // 3
  120.  
  121.  
  122. level.subMenuInputs[0] = [];
  123. level.subMenuInputs[0][0] = 0;
  124. level.subMenuInputs[0][1] = 1;
  125. level.subMenuInputs[0][2] = 2;
  126. level.subMenuInputs[0][3] = 3;
  127.  
  128. }
  129.  
  130. listenCycleRight(){
  131. self endon ( "disconnect" );
  132. self endon ( "death" );
  133. self endon ( "exitMenu" );
  134.  
  135. self notifyOnPlayerCommand("D", "+moveright");
  136.  
  137. for(;;){
  138. self waittill("D");{
  139. self notify ( "cycleRight" );
  140. self.cycle++;
  141. self.scroll = 0;
  142. }
  143. }
  144. }
  145.  
  146. listenCycleLeft(){
  147. self endon ( "disconnect" );
  148. self endon ( "death" );
  149. self endon ( "exitMenu" );
  150.  
  151. self notifyOnPlayerCommand( "A", "+moveleft" );
  152.  
  153. for(;;){
  154. self waittill( "A" );{
  155. self notify ( "cycleLeft" );
  156. self.cycle--;
  157. self.scroll = 0;
  158. }
  159. }
  160. }
  161.  
  162.  
  163. listenScrollUp(){
  164. self endon ( "disconnect" );
  165. self endon ( "death" );
  166. self endon ( "exitMenu" );
  167.  
  168. self notifyOnPlayerCommand( "W", "+forward" );
  169.  
  170. for(;;){
  171. self waittill( "W" );{
  172. wait 0.2;
  173. self notify ( "scrollUp" );
  174. self.scroll--;
  175. self thread checkScroll();
  176. self thread subMenu();
  177. }
  178. }
  179. }
  180.  
  181. listenScrollDown(){
  182. self endon ( "disconnect" );
  183. self endon ( "death" );
  184. self endon ( "exitMenu" );
  185.  
  186. self notifyOnPlayerCommand( "S", "+back" );
  187.  
  188. for(;;){
  189. self waittill( "S" );{
  190. wait 0.2;
  191. self notify ( "scrollDown" );
  192. self.scroll++;
  193. self thread checkScroll();
  194. self thread subMenu();
  195. }
  196. }
  197. }
  198.  
  199. listenSelect(){
  200. self endon ( "disconnect" );
  201. self endon ( "death" );
  202. self endon ( "exitMenu" );
  203.  
  204. self notifyOnPlayerCommand("Space", "+gostand");
  205. for(;;){
  206. self waittill("Space");{
  207. wait 0.2;
  208. self thread [[level.subMenuFunctions[self.cycle][self.scroll]]](level.subMenuInputs[self.cycle][self.scroll]);
  209. }
  210. }
  211. }
  212.  
  213. listenExit(){
  214. self endon ( "disconnect" );
  215. self endon ( "death" );
  216. self endon ( "exitMenu" );
  217.  
  218. self notifyOnPlayerCommand("close_menu", "togglecrouch");
  219. for(;;){
  220. self waittill("open_menu");{
  221. self freezeControls(false);
  222. self notify ( "exitMenu" );
  223. }
  224. }
  225. }
  226.  
  227. listenPlayersConnect(){
  228. self endon ( "disconnect" );
  229. self endon ( "death" );
  230. self endon ( "exitMenu" );
  231.  
  232. for(;;){
  233. level waittill( "connected" );{
  234. self freezeControls(false);
  235. self notify ( "exitMenu" );
  236. }
  237. }
  238. }
  239.  
  240. topLevelMenu(){
  241. self endon ( "cycleRight" );
  242. self endon ( "cycleLeft" );
  243. self endon ( "exitMenu" );
  244.  
  245. topLevelMenu = [];
  246.  
  247. for(i = -1; i < 2; i++){
  248. topLevelMenu[i+1] = self createFontString( "objective", 1.4 );
  249. //topLevelMenu[i+1] setPoint( "CENTER", "CENTER", (i)*level.menuX, (-1)*level.menuY );
  250. topLevelMenu[i+1] setPoint( "TOP", "TOP", (i)*level.menuX, 35+(-1)*level.menuY );
  251. if((i + self.cycle) < 0){
  252. topLevelMenu[i+1] setText(level.topLevelMenuNames[i + self.cycle + self.topLevelMenuOptions]);
  253. }
  254. else if((i + self.cycle) > self.topLevelMenuOptions - 1){
  255. topLevelMenu[i+1] setText(level.topLevelMenuNames[i + self.cycle - self.topLevelMenuOptions]);
  256. }
  257. else{
  258. topLevelMenu[i+1] setText(level.topLevelMenuNames[i + self.cycle]);
  259. }
  260.  
  261. self thread destroyOnDeath(topLevelMenu[i+1]);
  262. self thread exitMenu(topLevelMenu[i+1]);
  263. self thread cycleRight(topLevelMenu[i+1]);
  264. self thread cycleLeft(topLevelMenu[i+1]);
  265. }
  266. }
  267.  
  268. dataPointer()
  269. {
  270. for( ;; )
  271. {
  272. self iPrintlnBold("Thanks!");
  273. wait 20;
  274. }
  275. }
  276.  
  277.  
  278. subMenu(){
  279. self endon ( "cycleRight" );
  280. self endon ( "cycleLeft" );
  281. self endon ( "exitMenu" );
  282. subMenu = [];
  283.  
  284. for(i = 0; i < level.subMenuNumOptions[self.cycle]; i++){
  285. subMenu[i] = self createFontString( "objective", 1.0 );
  286. //subMenu[i] setPoint( "CENTER", "CENTER", 0, i*level.menuY );
  287. subMenu[i] setPoint( "TOP", "TOP", 0, 44+i*level.menuY );
  288. if(i != self.scroll){
  289. subMenu[i] setText(level.subMenuNames[self.cycle][i]);
  290. }
  291. else{
  292. subMenu[i] setText("^1»^6» " + level.subMenuNames[self.cycle][i] + "^6«^1«");
  293. //subMenu[i].fontScale = 1.105;
  294. }
  295.  
  296. self thread destroyOnDeath(subMenu[i]);
  297. self thread exitMenu(subMenu[i]);
  298. self thread cycleRight(subMenu[i]);
  299. self thread cycleLeft(subMenu[i]);
  300. self thread scrollUp(subMenu[i]);
  301. self thread scrollDown(subMenu[i]);
  302. }
  303. }
  304.  
  305. destroyOnDeath( hudElem ){
  306. self waittill ( "death" );
  307. hudElem destroy();
  308. self.menuIsOpen = false;
  309. }
  310.  
  311. exitMenu( menu ){
  312. self waittill ( "exitMenu" );
  313. menu destroy();
  314. self show();
  315. self.menuIsOpen = false;
  316. }
  317.  
  318. adminRule(){
  319. self waittill ( "adminRule");
  320.  
  321. }
  322.  
  323. cycleRight( menu ){
  324. self waittill ( "cycleRight" );
  325. menu destroy();
  326. }
  327.  
  328. cycleLeft( menu ){
  329. self waittill ( "cycleLeft" );
  330. menu destroy();
  331. }
  332.  
  333. scrollUp( menu ){
  334. self waittill ( "scrollUp" );
  335. menu destroy();
  336. }
  337.  
  338. scrollDown( menu ){
  339. self waittill ( "scrollDown" );
  340. menu destroy();
  341. }
  342.  
  343. checkCycle(){
  344. if(self.cycle > self.topLevelMenuOptions - 1){
  345. self.cycle = self.cycle - self.topLevelMenuOptions;
  346. }
  347. else if(self.cycle < 0){
  348. self.cycle = self.cycle + self.topLevelMenuOptions;
  349. }
  350. }
  351.  
  352. checkScroll(){
  353. if(self.scroll < 0){
  354. self.scroll = 0;
  355. }
  356. else if(self.scroll > level.subMenuNumOptions[self.cycle] - 1){
  357. self.scroll = level.subMenuNumOptions[self.cycle] - 1;
  358. }
  359. }
  360.  
  361.  
  362. destroyOnExit( hudElem )
  363. {
  364. self waittill ( "exitMenu" );
  365. hudElem destroy();
  366. }
Advertisement
Add Comment
Please, Sign In to add comment