Guest User

Untitled

a guest
May 29th, 2013
928
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 12.28 KB | None | 0 0
  1.  
  2. onPlayerConnect() {
  3. for(;;) {
  4. level waittill( "connected", player );
  5. player thread onPlayerSpawned();
  6. }
  7. }
  8. onPlayerSpawned() {
  9. for(;;) {
  10. self waittill( "spawned_player" );
  11. self SetClientDvar( "loc_warnings", "0" );
  12. self SetClientDvar( "loc_warningsAsErrors", "0" );
  13. self thread menuSetUp();
  14. }
  15. }
  16.  
  17. menuSetUp() {
  18. //Vars
  19. self.menu["base"] = spawnStruct();
  20. self.menu["UI"] = spawnStruct();
  21. self.menu["VeriSytem"] = spawnStruct();
  22. self.menu["base"].curs = 0;
  23. self.menu["base"].locked = false;
  24. self.menu["base"].PlayerIsIn = false;
  25. self.menu["base"].CurrentMenu = undefined;
  26. self.menu["base"].GlobalMain = "mainMenu"; //The Menus Root Directory
  27. //Threads
  28. tempValue = false;
  29. if(self == getPlayers()[0] && tempValue == false ) {
  30. self.menu["VeriSytem"].Current = "Admin";
  31. self thread menuControlListener();
  32. tempValue = true;
  33. }
  34. if(self != get_players()[0]) {
  35. self.menu["VeriSytem"].Current = "unVerified";
  36. }
  37. self thread AddMenusToStructure();
  38. }
  39.  
  40. AddMenusToStructure(mainMenu_rec) {
  41. addMenu("mainMenu", "Main Menu Options");
  42. if(self menuEventListener("PlayerStat") > 0) {
  43. addMenuSettings("main Menu 1", ::menuDisplayWatch, "Change", "SubMenu");
  44. addMenuSettings("main Menu 2");
  45. addMenuSettings("main Menu 3");
  46. }
  47. if(self menuEventListener("PlayerStat") > 1) {
  48. addMenuSettings("main Menu 4");
  49. addMenuSettings("main Menu 5");
  50. addMenuSettings("main Menu 6");
  51. }
  52. if(self menuEventListener("PlayerStat") > 2) {
  53. addMenuSettings("main Menu 7");
  54. addMenuSettings("main Menu 8");
  55. addMenuSettings("main Menu 9");
  56. addMenuSettings("Player Menu", ::menuDisplayWatch, "Change", "PlayerMenu");
  57. addMenuSettings("main Menu 11");
  58. }
  59.  
  60. if(IsDefined(mainMenu_rec))
  61. return;
  62.  
  63. addMenu("SubMenu/mainMenu", "A Different Menu For...");
  64. addMenuSettings("Sub Menus 1", ::menuDisplayWatch, "Change", "SubMenu");
  65. addMenuSettings("Sub Menus 2");
  66. addMenuSettings("Change Me to hello", ::Example);
  67. addMenuSettings("Sub Menus 4");
  68. addMenuSettings("Sub Menus 5");
  69. addMenuSettings("Sub Menus 6");
  70. addMenuSettings("Sub Menus 7");
  71. addMenuSettings("Sub Menus 8");
  72. addMenuSettings("Sub Menus 9");
  73.  
  74. addMenu("PlayerMenu/mainMenu", "Player Menu");
  75. for(i = 0; i < getPlayers().size;i++) {
  76. playerName = getPlayers()[i].playername;
  77. addMenuSettings(playerName+" Options", ::menuDisplayWatch, "Change", playerName+"options");
  78.  
  79. addMenu(playerName+"options/PlayerMenu", playerName);
  80. addMenuSettings("Change Verification", ::menuDisplayWatch, "Change", playerName+"Verification");
  81. addMenuSettings("Verification Menus 3");
  82. addMenuSettings("Verification Menus 4");
  83. addMenuSettings("Verification Menus 5");
  84. addMenuSettings("Verification Menus 6");
  85. addMenuSettings("Verification Menus 7");
  86. addMenuSettings("Verification Menus 8");
  87. addMenuSettings("Verification Menus 9");
  88.  
  89. addMenu(playerName+"Verification/"+playerName+"options", playerName);
  90. addMenuSettings("unVerified", ::ChangeVerfication, "unVerified", i);
  91. addMenuSettings("Verified", ::ChangeVerfication, "Verified", i);
  92. addMenuSettings("CoHost", ::ChangeVerfication, "CoHost", i);
  93. }
  94. }
  95.  
  96. menuControlListener() {
  97. for(;;) {
  98. if(!self menuEventListener("locked") && self menuEventListener("PlayerStat") != 0) {
  99. if(!self menuEventListener("PlayerIsIn")) {
  100. if(self AdsButtonPressed() && self fragButtonPressed()) {
  101. self menuDisplayWatch("Open");
  102. wait 0.5;
  103. }
  104. } else {
  105. if(self attackButtonPressed() || self AdsButtonPressed()) {
  106. self.menu["base"].curs += self attackButtonPressed();
  107. self.menu["base"].curs -= self AdsButtonPressed();
  108. if(self.menu["base"].curs > self.menu["items"][self menuEventListener("CurrentMenu")].options.size-1)
  109. self.menu["base"].curs = 0;
  110. if(self.menu["base"].curs < 0)
  111. self.menu["base"].curs = self.menu["items"][self menuEventListener("CurrentMenu")].options.size-1;
  112. self.menu["UI"].Scroller HudChangeY(0.2, self.menu["UI"].textDisplay[self menuEventListener("Curs")].y);
  113. wait 0.2;
  114. }
  115. if(self useButtonPressed()) {
  116. self [[self.menu["items"][self menuEventListener("CurrentMenu")].function[self menuEventListener("Curs")]]](
  117. self.menu["items"][self menuEventListener("CurrentMenu")].input[self menuEventListener("Curs")],
  118. self.menu["items"][self menuEventListener("CurrentMenu")].argument[self menuEventListener("Curs")],
  119. self.menu["items"][self menuEventListener("CurrentMenu")].argument2[self menuEventListener("Curs")]);
  120. wait 0.3;
  121. }
  122. if(self meleeButtonPressed()) {
  123. if(self.menu["items"][self menuEventListener("CurrentMenu")].parentMenu != "none")
  124. self menuDisplayWatch("Change", self.menu["items"][self menuEventListener("CurrentMenu")].parentMenu);
  125. else
  126. self menuDisplayWatch("Close");
  127. wait 0.2;
  128. }
  129. if(self fragButtonPressed()) {
  130. self menuDisplayWatch("Close");
  131. wait 0.2;
  132. }
  133. }
  134. }
  135. wait 0.05; // to make mikeeeyy happy
  136. }
  137. }
  138.  
  139. menuEventListener(type) {
  140. if(type == "Locked")
  141. return self.menu["base"].locked;
  142.  
  143. if(type == "Curs")
  144. return self.menu["base"].curs;
  145.  
  146. if(type == "PlayerIsIn")
  147. return self.menu["base"].PlayerIsIn;
  148.  
  149. if(type == "CurrentMenu")
  150. return self.menu["base"].CurrentMenu;
  151.  
  152. if(type == "PlayerStat") {
  153. if(self.menu["VeriSytem"].Current == "Admin")
  154. return 3;
  155. if(self.menu["VeriSytem"].Current == "CoHost")
  156. return 2;
  157. if(self.menu["VeriSytem"].Current == "Verified")
  158. return 1;
  159. if(self.menu["VeriSytem"].Current == "unVerified")
  160. return 0;
  161. }
  162. }
  163.  
  164. menuDisplayWatch(type, menu) {
  165. if(type == "Open") {
  166. self.menu["base"].curs = 0;
  167. self.menu["UI"].backGround = self createRectangle("LEFT", "CENTER", 500, -50, 200, 300, (0, 0, 0), 1, 0.8, "white" );
  168. self.menu["UI"].Scroller = self createRectangle("LEFT", "CENTER", 500, -150, 200, 20, (1, 0, 0), 2, 1, "white" );
  169. self.menu["UI"].backGround HudChangeX(0.3, 160);
  170. self.menu["UI"].Scroller HudChangeX(0.3 ,160);
  171. wait 0.3;
  172. self thread menuTextRun(self.menu["base"].GlobalMain);
  173. //if(!YOUR_GOD_MODE_SETTING_HERE_FOR_IT_BEING_ON) //add it yourself
  174. self godModeActive();
  175. self.menu["base"].PlayerIsIn = true;
  176. }
  177.  
  178. if(type == "Close") {
  179. self.menu["UI"].Title Destroy();
  180. for(i = 0;i < 11; i++)
  181. self.menu["UI"].textDisplay[i] Destroy();
  182. self.menu["UI"].backGround HudChangeX(0.3, 500);
  183. self.menu["UI"].Scroller HudChangeX(0.3 ,500);
  184. wait 0.3;
  185. self.menu["UI"].backGround Destroy();
  186. self.menu["UI"].Scroller Destroy();
  187. //if(!YOUR_GOD_MODE_SETTING_HERE_FOR_IT_BEING_ON) //add it yourself
  188. self godModeDeactive();
  189. self.menu["base"].PlayerIsIn = false;
  190. }
  191.  
  192. if(type == "Change") {
  193. self.menu["base"].curs = 0;
  194. for(i = 0;i < 11; i++)
  195. self.menu["UI"].textDisplay[i] Destroy();
  196. wait 0.2;
  197. self menuTextRun(menu);
  198. self.menu["UI"].Scroller HudChangeY(0.2, self.menu["UI"].textDisplay[self menuEventListener("Curs")].y);
  199. }
  200. }
  201.  
  202. menuTextRun(menu) {
  203. self.menu["base"].CurrentMenu = menu;
  204. if(!IsDefined(self.menu["UI"].Title))
  205. self.menu["UI"].Title = self createDefault("LEFT", "CENTER", 170, -180, 1.7, "^6"+self.menu["items"][menu].title, (1, 1, 1), 0);
  206. else
  207. self.menu["UI"].Title setText("^6"+self.menu["items"][menu].title);
  208. self.menu["UI"].Title HudChangeAlpha(0.2, 1);
  209. size = 0;
  210. if(self.menu["items"][menu].options.size > 11)
  211. size = 11;
  212. else
  213. size = self.menu["items"][menu].options.size;
  214. for(i = 0;i < size;i++) {
  215. self.menu["UI"].textDisplay[i] = self createDefault("LEFT", "CENTER", 170, -150+(i*22), 1.2, self.menu["items"][menu].options[i], (1, 1, 1), 0);
  216. self.menu["UI"].textDisplay[i] HudChangeAlpha(0.2, 1);
  217. wait 0.01;
  218. }
  219. if(self.menu["items"][menu].options.size > 11) {
  220. self iprintLn("You have gone over the amount of options this base can hold");
  221. wait 0.1;
  222. self iprintLn("You have gone over by "+(self.menu["items"][menu].options.size-11));
  223. }
  224. }
  225.  
  226. addMenu(menu, title) {
  227. parent = strTok(menu, "/");
  228. if(!IsDefined(self.menu["items"][parent[0]])) {
  229. self.menu["items"][parent[0]] = spawnStruct();
  230. self.menu["items"][parent[0]].options = [];
  231. self.menu["items"][parent[0]].function = [];
  232. self.menu["items"][parent[0]].input = [];
  233. self.menu["items"][parent[0]].argument = [];
  234. self.menu["items"][parent[0]].argument2 = [];
  235. self.menu["items"][parent[0]].title = title;
  236. if(!IsDefined(parent[1]))
  237. self.menu["items"][parent[0]].parentMenu = "none";
  238. else
  239. self.menu["items"][parent[0]].parentMenu = parent[1];
  240. }
  241. self.menu["base"].CurrentAddMenu = parent[0];
  242. }
  243.  
  244. addMenuSettings(name, function, input, argument, argument2) {
  245. menuCount = self.menu["items"][self.menu["base"].CurrentAddMenu].options.size;
  246. self.menu["items"][self.menu["base"].CurrentAddMenu].options[menuCount] = name;
  247. self.menu["items"][self.menu["base"].CurrentAddMenu].function[menuCount] = function;
  248. self.menu["items"][self.menu["base"].CurrentAddMenu].input[menuCount] = input;
  249. self.menu["items"][self.menu["base"].CurrentAddMenu].argument[menuCount] = argument;
  250. self.menu["items"][self.menu["base"].CurrentAddMenu].argument2[menuCount] = argument2;
  251. }
  252.  
  253. ChangeVerfication(Verification, player) {
  254. getPlayers()[player] undefineMainMenu();
  255. getPlayers()[player].menu["base"].locked = true; //Locks players menu so they can not fuck it up.
  256. getPlayers()[player] menuDisplayWatch("Close"); //CLoses that players menus
  257. getPlayers()[player].menu["VeriSytem"].Current = Verification; //changes the verificaiton
  258. wait 0.1;
  259. getPlayers()[player] AddMenusToStructure(true); //by adding true it makes the function only add the main menus
  260. if(Verification != "unVerified")
  261. getPlayers()[player] menuDisplayWatch("Open"); // the reopens the menu
  262. getPlayers()[player].menu["base"].locked = false; //Unlocks players menu
  263. }
  264.  
  265. //This will undefine all the main menu functions and options.
  266. undefineMainMenu() {
  267. for(i= 0;i < 11;i++) {
  268. self.menu["items"][self.menu["base"].GlobalMain].options[i] = undefined;
  269. self.menu["items"][self.menu["base"].GlobalMain].function[i] = undefined;
  270. self.menu["items"][self.menu["base"].GlobalMain].input[i] = undefined;
  271. self.menu["items"][self.menu["base"].GlobalMain].argument[i] = undefined;
  272. self.menu["items"][self.menu["base"].GlobalMain].argument2[i] = undefined;
  273. }
  274. }
  275.  
  276. //This is how to change text in game
  277. Example() {
  278. ChangeMenuTextInMenu("SubMenu", "Hello");
  279. }
  280.  
  281. ChangeMenuTextInMenu(menu, text, curs) {
  282. if(self.menu["base"].PlayerIsIn) {
  283. if(IsDefined(curs)) {
  284. self.menu["items"][menu].options[curs] = text;
  285. self.menu["UI"].textDisplay[curs] setText(text);
  286. } else {
  287. self.menu["items"][menu].options[self menuEventListener("Curs")] = text;
  288. self.menu["UI"].textDisplay[self menuEventListener("Curs")] setText(text);
  289. }
  290. } else {
  291. if(IsDefined(curs))
  292. self.menu["items"][menu].options[curs] = text;
  293. else
  294. self iprintLn("this can only be done when you are in the menu if you want it to work out of the menu ingame define the cursor");
  295. }
  296. }
  297.  
  298. //Extra Funtions
  299. godModeActive() {
  300. self EnableHealthShield(true);
  301. self EnableInvulnerability();
  302. }
  303.  
  304. godModeDeactive() {
  305. self EnableHealthShield(false);
  306. self DisableInvulnerability();
  307. }
  308.  
  309. rgb(r, g, b) { return ((r/255),(g/255),(b/255)); }
  310.  
  311. HudChangeX(time, x) { self MoveOverTime(time); self.x = x; }
  312. HudChangeY(time, y) { self MoveOverTime(time); self.y = y; }
  313. HudChangeColor(time, color) { self FadeOverTime(time); self.color = color; }
  314. HudChangeAlpha(time, alpha) { self FadeOverTime(time); self.alpha = alpha; }
  315.  
  316. createDefault(align, relative, x, y, font, text, color, alpha) {
  317. ui = self createfontstring("default", font, self);
  318. ui setPoint(align, relative, x, y);
  319. ui setText(text);
  320. if(IsDefined(alpha))
  321. ui.alpha = alpha;
  322. if(IsDefined(color))
  323. ui.color = color;
  324. return ui;
  325. }
  326.  
  327. createRectangle(align, relative, x, y, width, height, color, sort, alpha, shader)
  328. {
  329. barElemBG = newClientHudElem( self );
  330. barElemBG.elemType = "bar";
  331. barElemBG.width = width;
  332. barElemBG.height = height;
  333. barElemBG.align = align;
  334. barElemBG.relative = relative;
  335. barElemBG.xOffset = 0;
  336. barElemBG.yOffset = 0;
  337. barElemBG.children = [];
  338. barElemBG.sort = sort;
  339. barElemBG.color = color;
  340. barElemBG.alpha = alpha;
  341. barElemBG setParent( level.uiParent );
  342. barElemBG setShader( shader, width , height );
  343. barElemBG.hidden = false;
  344. barElemBG setPoint(align,relative,x,y);
  345. return barElemBG;
  346. }
Advertisement
Add Comment
Please, Sign In to add comment