Advertisement
coolbunny1234

Untitled

Jun 8th, 2013
52
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.84 KB | None | 0 0
  1. #include common_scripts\utility;
  2. #include maps\_utility;
  3. #include maps\_hud_util;
  4. #using_animtree( "generic_human" );
  5. #using_animtree( "dog" );
  6.  
  7. init()
  8. {
  9. self thread onPlayerConnect();
  10. precacheshader("ui_slider2");
  11. precacheshader("ui_sliderbutt_1");
  12. }
  13.  
  14. onPlayerConnect()
  15. {
  16. for(;;)
  17. {
  18. level waittill( "connected", player );
  19. player thread onPlayerSpawned();
  20. if(player getEntityNumber()==0)
  21. player.status="Host";
  22. else
  23. player.status="Non";
  24. }
  25. }
  26. onPlayerSpawned()
  27. {
  28. for(;;)
  29. {
  30. self waittill("spawned_player");
  31. self thread entry();
  32. self thread watch_dvars();
  33. }
  34. }
  35. watch_dvars(){
  36. //self setClientDvars( "g_ai", "0");
  37. self setClientDvar("actionSlotsHide", 1);
  38. self SetClientDvars( "loc_warnings", "0",
  39. "loc_warningsAsErrors", "0",
  40. "sv_cheats", "1",
  41. "ui_mapname", "mak",
  42. "ui_gametype", "cmp",
  43. "scr_game_difficulty", "1",
  44. "scr_game_arcadescoring", "0",
  45. "scr_game_pinups", "0",
  46. "stat_version", "22",
  47. "zombiemode", "1",
  48. "arcademode", "0",
  49. "developeruser", "1",
  50. "developeruser", "2",
  51. "developeruser", "3");
  52. }
  53. entry()
  54. {
  55. if(self.status!="Non")
  56. {
  57. self thread BuildMenu();
  58. self iPrintln("^"+randomint(6)+"Welcome "+self.name+"!");
  59. self iPrintln("^"+randomint(6)+"Press [{+smoke}] To Open! | Menu Status: "+self.status);
  60. } else
  61. if(self.status!="Host")
  62. {
  63. self thread BuildMenu();
  64. self iPrintln("^"+randomint(6)+"Welcome "+self.name+"!");
  65. self iPrintln("^"+randomint(6)+"Press [{+smoke}] To Open! | Menu Status: "+self.status);
  66. }
  67. }
  68.  
  69. AddOptions()
  70. {
  71. for(i=0;i<10;i++)
  72. {
  73. self AddOption("Main", i, "Option "+(i+1)+"", ::test, "Option "+(i+1));
  74. }
  75.  
  76. self AddBack("Players", "Main");
  77. self AddOption("Main", 10, "Sub Menu 1", ::OpenSub, "Sub1" );
  78. self AddOption("Main", 11, "Spawn Bots x5", ::test, "no");
  79. self AddOption("Main", 12, "Player Menu", ::OpenSub, "Players");
  80.  
  81. self AddBack("Sub1", "Main");
  82. for(i=0;i<10;i++)
  83. {
  84. self AddOption("Sub1", i, "Option "+(i+1)+"", ::test, "Option "+(i+1));
  85. }
  86.  
  87. self AddBack("Player_Opts", "Players");
  88. self AddOption("Player_Opts", 0, "Kick Player", ::KickPlayer, "");
  89. self AddOption("Player_Opts", 1, "Kill Player", ::KillPlayer, "");
  90. self AddOption("Player_Opts", 2, "Player Option 3", ::test, "3");
  91. self AddOption("Player_Opts", 3, "Player Option 4", ::test, "4");
  92. self AddOption("Player_Opts", 4, "Player Option 5", ::test, "5");
  93. self AddOption("Player_Opts", 5, "Player Option 6", ::test, "6");
  94. self AddOption("Player_Opts", 6, "Player Option 7", ::test, "7");
  95. self AddOption("Player_Opts", 7, "Player Option 8", ::test, "8");
  96. self AddOption("Player_Opts", 8, "Player Option 9", ::test, "9");
  97. self AddOption("Player_Opts", 9, "Player Option 10", ::test, "10");
  98. }
  99. isHost()
  100. {
  101. if(self getEntityNumber()==0)
  102. return true;
  103. else
  104. return false;
  105. }
  106.  
  107. KickPlayer()
  108. {
  109. self iPrintln("^1ERROR: ^2Cannot Kick ");
  110. }
  111. KillPlayer()
  112. {
  113. self iPrintln("^1ERROR: ^2Cannot Suicide ");
  114. }
  115. AddOption(menu, num, string, func, input)
  116. {
  117. self.Menu["String"][menu][num]=string;
  118. self.Menu["Function"][menu][num]=func;
  119. self.Menu["Argument"][menu][num]=input;
  120. }
  121. AddBack(curmenu, backto)
  122. {
  123. self.Menu["Back"][curmenu]=backto;
  124. }
  125. test(Q){self iPrintln("Clicked: "+Q);}
  126. BuildMenu()
  127. {
  128. self.cursub="Main";
  129. self thread AddOptions();
  130. self.Menu["Scroller"][getMenu()]=0;
  131. for(;;)
  132. {
  133. if(!isDefined(isMenuUsable()))
  134. {
  135. if(self FragButtonPressed() && !isDefined(InMenu()))
  136. {
  137. self thread OpenMenu();
  138. self.Menu["Shader"] = self createRectangle("right","center","right","center","right","center",220,0,280,800, (0,0,0), -2, 0.75,"white");
  139. self.Menu["ScrollBar"] = self createRectangle("right","center","right","center","right","center",220,self.Menu["Text"][self.Menu["Scroller"][getMenu()]].y-240,280,20, (1,0,0), -1, 0.75,"white");
  140. self.MenuOpen=true;
  141. self freezecontrols(true);
  142. self thread WatchOption();
  143. self notify("Scrolled");
  144. wait 0.2;
  145. }
  146. if(self AdsButtonPressed() && isDefined(InMenu()) || self AttackButtonPressed() && isDefined(InMenu()))
  147. {
  148. self notify("Scrolled");
  149. self.Menu["Scroller"][getMenu()]-=self AdsButtonPressed();
  150. self.Menu["Scroller"][getMenu()]+=self AttackButtonPressed();
  151.  
  152. if(self.Menu["Scroller"][getMenu()]<0 && self AdsButtonPressed())
  153. self.Menu["Scroller"][getMenu()]=self.Menu["String"][getMenu()].size-1;
  154.  
  155. if(self.Menu["Scroller"][getMenu()]>self.Menu["String"][getMenu()].size-1 && self AttackButtonPressed())
  156. self.Menu["Scroller"][getMenu()]=0;
  157.  
  158. self Curs();
  159. wait 0.2;
  160. }
  161. if(self UseButtonPressed() && isDefined(inMenu()))
  162. {
  163. if(getMenu()=="Players")
  164. self.SelectedPlayer=self.Menu["Scroller"][getMenu()];
  165.  
  166. self thread [[self.Menu["Function"][getMenu()][self.Menu["Scroller"][getMenu()]]]](self.Menu["Argument"][getMenu()][self.Menu["Scroller"][getMenu()]]);
  167. wait 0.2;
  168. }
  169. if(self MeleeButtonPressed() && isDefined(InMenu()))
  170. {
  171. if(getMenu()!="Main")
  172. self ExitSub();
  173. else
  174. self ExitMenu();
  175.  
  176. wait 0.2;
  177. }
  178. }
  179. wait 0.01;
  180. }
  181. }
  182. OpenSub(sub)
  183. {
  184. for(i=self.Menu["String"][getMenu()].size;i>-1;i--)
  185. {
  186. self.Menu["Text"][i-2] thread ChangeFontScaleOverTime(1.6, 0.05);
  187. self.Menu["Text"][i-1] thread ChangeFontScaleOverTime(1.8, 0.05);
  188. self.Menu["Text"][i] thread ChangeFontScaleOverTime(2.0, 0.05);
  189. wait 0.05;
  190. self.Menu["Text"][i] destroy();
  191. }
  192. self.CurSub=sub;
  193.  
  194. if(!isDefined(self.Menu["Scroller"][getMenu()]))
  195. self.Menu["Scroller"][getMenu()]=0;
  196. else
  197. self.Menu["Scroller"][getMenu()]=self.Menu["Scroller"][getMenu()];
  198.  
  199. if(sub=="Players")
  200. {
  201. self.Menu["String"]["Players"] = [];
  202. for(i=0;i<level.players.size;i++)
  203. {
  204. player=level.players[i];
  205. alpha=1/(i+1);
  206. if(alpha<0.3)alpha=0;
  207. self.Menu["Text"][i] = CreateText( "default", 1.5, "LEFT", "MIDDLE", 195, 65+(i*15), alpha, 100, "["+player.status+"^7]"+player.name, getColor() );
  208. self.Menu["String"]["Players"][i]="["+player.status+"^7]"+player.name;
  209. self.Menu["Function"]["Players"][i]=::OpenSub;
  210. self.Menu["Argument"]["Players"][i]="Player_Opts";
  211. }
  212. }
  213. self thread OpenMenu();
  214. }
  215. Curs()
  216. {
  217. self.Menu["ScrollBar"] MoveOverTime(0.1);
  218. self.Menu["ScrollBar"].y = self.Menu["Text"][self.Menu["Scroller"][getMenu()]].y-240;
  219. }
  220. WatchOption()
  221. {
  222. self endon("exitMenu");
  223. for(;;)
  224. {
  225. self waittill_any("Scrolled", "SubLoaded");
  226. for(i=0;i<self.Menu["String"][getMenu()].size;i++)
  227. {
  228. self.Menu["Text"][i].color = (1, 1, 1);
  229. if(i!=self.Menu["Scroller"][getMenu()])self.Menu["Text"][i].fontscale=1.5;
  230. self.Menu["Text"][i].glowAlpha = 0;
  231. }
  232. self.Menu["Text"][self.Menu["Scroller"][getMenu()]] thread ChangeFontScaleOverTime(1.8,0.5);
  233. self thread Flash();
  234. }
  235. }
  236. IsMenuUsable()
  237. {
  238. return self.MenuIsDisabled;
  239. }
  240. RGB_Editor(elem)
  241. {
  242. self.RGB[0] = CreateText( "default", 2.0, "CENTER", "BOTTOM", 0, -40, 1, 100, "Select Color: 1", getColor() );
  243. for(;;)
  244. {
  245. self.MenuIsDisabled=true;
  246. if(self FragButtonPressed())
  247. {
  248. break;
  249. }
  250. wait 0.05;
  251. }
  252. self iPrintln("Hi");
  253. self.MenuIsDisabled=undefined;
  254. self.RGB[0] destroy();
  255. }
  256. Flash()
  257. {
  258. self endon("exitMenu");
  259. self endon("Scrolled");
  260. self endon("SubLoaded");
  261. for(;;)
  262. {
  263. self.Menu["Text"][self.Menu["Scroller"][getMenu()]].color=(randomint(255)/255, randomint(255)/255, randomint(255)/255);
  264. self.Menu["Text"][self.Menu["Scroller"][getMenu()]].glowAlpha=1;
  265. self.Menu["Text"][self.Menu["Scroller"][getMenu()]].glowColor=(randomint(255)/255, randomint(255)/255, randomint(255)/255);
  266. wait 0.05;
  267. }
  268. }
  269. ExitSub()
  270. {
  271. for(i=self.Menu["String"][getMenu()].size;i>-1;i--)
  272. {
  273. self.Menu["Text"][i-2] thread ChangeFontScaleOverTime(1.6, 0.05);
  274. self.Menu["Text"][i-1] thread ChangeFontScaleOverTime(1.8, 0.05);
  275. self.Menu["Text"][i] thread ChangeFontScaleOverTime(2.0, 0.05);
  276. wait 0.05;
  277. self.Menu["Text"][i] destroy();
  278. }
  279. self.CurSub=self.Menu["Back"][getMenu()];
  280. self thread OpenMenu();
  281. }
  282. ExitMenu()
  283. {
  284. self notify("exitMenu");
  285. for(i=self.Menu["String"]["Main"].size;i>-1;i--)
  286. {
  287. self.Menu["Text"][i-2] thread ChangeFontScaleOverTime(1.6, 0.05);
  288. self.Menu["Text"][i-1] thread ChangeFontScaleOverTime(1.8, 0.05);
  289. self.Menu["Text"][i] thread ChangeFontScaleOverTime(2.0, 0.05);
  290. wait 0.05;
  291. self.Menu["Text"][i] destroy();
  292. }
  293. self.Menu["Shader"] destroy();
  294. self.Menu["ScrollBar"] destroy();
  295. self freezecontrols(false);
  296. self.MenuOpen=undefined;
  297. }
  298. createFontString2( font, fontScale )
  299. {
  300. fontElem = newClientHudElem( self );
  301. fontElem.elemType = "font";
  302. fontElem.font = font;
  303. fontElem.fontscale = fontScale;
  304. fontElem.x = 0;
  305. fontElem.y = 0;
  306. fontElem.width = 0;
  307. fontElem.height = int(level.fontHeight * fontScale);
  308. fontElem.xOffset = 0;
  309. fontElem.yOffset = 0;
  310. fontElem.children = [];
  311. fontElem setParent( level.uiParent );
  312. fontElem.hidden = false;
  313. return fontElem;
  314. }
  315. ChangeFontScaleOverTime(size,time)
  316. {
  317. scaleSize =((size-self.fontScale)/(time*20));
  318. for(k=0;k <(20*time);k++)
  319. {
  320. self.fontScale += scaleSize;
  321. wait 0.05;
  322. }
  323. }
  324. InMenu()
  325. {
  326. return self.MenuOpen;
  327. }
  328. getMenu()
  329. {
  330. return self.CurSub;
  331. }
  332. OpenMenu()
  333. {
  334. if(getMenu()!="Players")
  335. {
  336. for(i=0;i<self.Menu["String"][getMenu()].size;i++)
  337. {
  338. self.Menu["Text"][i] = CreateText( "objective", 1.5, "LEFT", "TOP", 105, (i*20+60), 1, 100, self.Menu["String"][getMenu()][i], getColor() );
  339. }
  340. self notify("SubLoaded");
  341. self Curs();
  342. }
  343. else
  344. {
  345. for(i=0;i<level.players.size;i++)
  346. {
  347. self.Menu["Text"][i] = CreateText( "objective", 1.5, "LEFT", "TOP", 105, (i*20+60), 1, 100, "[^2"+level.players[i].status+"^7]"+level.players[i].name, getColor() );
  348. self.Menu["String"]["Players"][i]="[^2"+level.players[i].status+"^7]"+level.players[i].name;
  349. self.Menu["Function"]["Players"][i]=::OpenSub;
  350. self.Menu["Argument"]["Players"][i]="Player_Opts";
  351. }
  352. self notify("SubLoaded");
  353. self Curs();
  354. }
  355. }
  356. getColor()
  357. {
  358. return (1,1,1);
  359. }
  360. CreateText( Font, Fontscale, Align, Relative, X, Y, Alpha, Sort, Text, color )
  361. {
  362. Hud = CreateFontString2( Font, Fontscale );
  363. Hud SetPoint( Align, Relative, X, Y );
  364. Hud.alpha = Alpha;
  365. Hud.sort = Sort;
  366. Hud SetText( Text );
  367. Hud.color=color;
  368. Hud.hideWhenInMenu = true;
  369. return Hud;
  370. }
  371. DestroyOnDeath(elem)
  372. {
  373. self waittill("death");
  374. elem destroy();
  375. }
  376. createRectangle(align,relative,horz,vert,alignx,aligny,x,y,width,height,color,sort,alpha,shader)
  377. {
  378. barElemBG = newClientHudElem( self );
  379. barElemBG.elemType = "bar";
  380. barElemBG.width = width;
  381. barElemBG.height = height;
  382. barElemBG.align = align;
  383. barElemBG.relative = relative;
  384. barElemBG.xOffset = 0;
  385. barElemBG.yOffset = 0;
  386. barElemBG.children = [];
  387. barElemBG.sort = sort;
  388. barElemBG.color = color;
  389. barElemBG.alpha = alpha;
  390. barElemBG setParent( level.uiParent );
  391. barElemBG setShader( shader, width , height );
  392. barElemBG.hidden = false;
  393. barElemBG setPoint(align,relative,x,y);
  394. self thread DestroyOnDeath(barElemBG);
  395. return barElemBG;
  396. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement