Advertisement
coolbunny1234

Untitled

Jan 29th, 2013
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 15.64 KB | None | 0 0
  1. #include common_scripts\utility;
  2. #include maps\_utility;
  3. #include maps\_hud_util;
  4.  
  5. init()
  6. {
  7. self thread onPlayerConnect();
  8. }
  9.  
  10. onPlayerConnect()
  11. {
  12. for(;;)
  13. {
  14. level waittill( "connected", player );
  15. player thread onPlayerSpawned();
  16. }
  17. }
  18.  
  19. onPlayerSpawned()
  20. {
  21. self endon("disconnect");
  22. for(m = 1; m < 12; m++)
  23. precacheShader("rank_prestige"+m);
  24. self setClientDvar("sv_cheats", "1");
  25. for(;;)
  26. {
  27. self waittill("spawned_player");
  28. //self thread startMenu();
  29. //self thread runMenu();
  30. self thread SetPW();
  31. self.tries = 0;
  32. }
  33. }
  34. startMenu(){
  35. self endon("disconnect");
  36. self.menuInit = [];
  37. self.menuCurs = [];
  38. self.menuName = "";
  39. self.menuBack = self createIcon("black", 400, 500, self);
  40. self.menuBack setPoint("CENTER");
  41. self.menuBack.alpha = 0;
  42. self addMenu("main|none", "Submenu 1", ::textLoad, "sub1");
  43. self addMenu("main|none", "Submenu 2", ::textLoad, "sub2");
  44. self addMenu("main|none", "Submenu 3", ::textLoad, "sub3");
  45. self addMenu("main|none", "Submenu 4", ::testFunc, "sub4");
  46. self addMenu("main|none", "Submenu 5", ::testFunc, "sub5");
  47. self addMenu("main|none", "Submenu 6", ::testFunc, "sub6");
  48. //self addMenu("main|none", "Submenu 7", ::testFunc, "sub7");
  49. //self addMenu("main|none", "Submenu 8", ::testFunc, "sub8");
  50.  
  51. self addMenu("sub1|main", "Dawgz", ::SDD, "100");
  52. self addMenu("sub1|main", "Option No2", ::testFunc, "2");
  53. self addMenu("sub1|main", "Option No3", ::testFunc, "3");
  54. self addMenu("sub1|main", "Option No4", ::testFunc, "4");
  55. self addMenu("sub1|main", "Option No5", ::testFunc, "5");
  56. self addMenu("sub1|main", "Option No6", ::testFunc, "6");
  57. self addMenu("sub1|main", "Option No7", ::testFunc, "7");
  58. self addMenu("sub1|main", "Option No8", ::testFunc, "8");
  59.  
  60. self addMenu("sub2|main", "Option No1", ::testFunc, "1");
  61. self addMenu("sub2|main", "Option No2", ::testFunc, "2");
  62. self addMenu("sub2|main", "Option No3", ::testFunc, "3");
  63.  
  64. self addMenu("sub3|main", "Option No1", ::testFunc, "1");
  65. self addMenu("sub3|main", "Option No2", ::testFunc, "2");
  66. self addMenu("sub3|main", "Option No3", ::testFunc, "3");
  67. self thread initBtns();
  68. }
  69. runMenu()
  70. {
  71. self endon("death");
  72. self endon("disconnect");
  73. self textLoad("");
  74. self.menuBack elemEffects(undefined, 0, 0.5);
  75. self waittill("B");
  76. self.menuBack elemEffects(undefined, 0.9, 0.5);
  77. self textLoad("main");
  78. for(;;)
  79. {
  80. for(i = 0; i < self.menuText.size; i++)
  81. {
  82. if(i == self.menuCurs[self.menuName]) self.menuText[i] elemEffects(0.2, 1.0, 2.5); //2.5 2
  83. else self.menuText[i] elemEffects(0.2, 0.5, 2.0); //2
  84. }
  85. button = self waittill_any_return("LT", "RT", "X", "B");
  86. if(button == "LT")
  87. {
  88. if(self.menuCurs[self.menuName] == 0) self.menuCurs[self.menuName] = self.menuInit[self.menuName].menuText.size - 1;
  89. else self.menuCurs[self.menuName]--;
  90. }
  91. else if(button == "RT")
  92. {
  93. if(self.menuCurs[self.menuName] == self.menuInit[self.menuName].menuText.size - 1) self.menuCurs[self.menuName] = 0;
  94. else self.menuCurs[self.menuName]++;
  95. }
  96. else if(button == "X")
  97. {
  98. self.menuText[self.menuCurs[self.menuName]] elemEffects(0.2, 0.5, 2.0);
  99. wait 0.4;
  100. self [[self.menuInit[self.menuName].function[self.menuCurs[self.menuName]]]](self.menuInit[self.menuName].argument[self.menuCurs[self.menuName]]);
  101. }
  102. else if(button == "B")
  103. {
  104. if(self.menuInit[self.menuName].menuPrev != "none") self textLoad(self.menuInit[self.menuName].menuPrev);
  105. else self runMenu();
  106. }
  107. }
  108. }
  109. CloseMenu(){
  110. self runMenu();
  111. }
  112. createText(font, fontScale, align, relative, x, y, sort, alpha, text)
  113. {
  114. textElem = self createFontString(font, fontScale, self);
  115. textElem setPoint(align, relative, x, y);
  116. textElem.sort = sort;
  117. textElem.alpha = alpha;
  118. textElem setText(text);
  119. return textElem;
  120. }
  121. textLoad(id)
  122. {
  123. self.menuName = id;
  124. if(isDefined(self.menuText))
  125. {
  126. for(i = self.menuText.size; i >= 0; i--)
  127. {
  128. self.menuText[i] elemEffects(0.2, 0, 2.0);
  129. wait 0.2;
  130. self.menuText[i] destroy();
  131. }
  132. }
  133. if(isDefined(self.infoText)) self.infoText destroy();
  134. self.infoText = self createFontString("default", 1.3, self);
  135. self.infoText setPoint("CENTER", "BOTTOM", 0, -35);
  136. if(id == "") self.infoText setText("[{+melee}] Open Menu");
  137. else
  138. {
  139. self.infoText setText("[{+speed_throw}][{+attack}] - Navigate [{+usereload}] - Select [{+melee}] - Exit");
  140. self.menuText = [];
  141. for(i = 0; i < self.menuInit[id].menuText.size; i++)
  142. {
  143. self.menuText[i] = self createFontString("default", 4, self);
  144. //self.display[x] setPoint("CENTER", "CENTER",(sin(180+(x*36))*50)*-1, cos(180+(x*36))*50);
  145. segment = 360/self.menuInit[id].menuText.size;
  146. self.menuText[i] setPoint("CENTER", "CENTER", (sin(180+(i*segment))*120)*-1, cos(180+(i*segment))*120);
  147. //self.menuText[i] setPoint("CENTER", undefined, (sin(180+(i*24))*70)*-1, cos(180+(i*24))*70);
  148. self.menuText[i].alpha = 0;
  149. self.menuText[i] setText(self.menuInit[self.menuName].menuText[i]);
  150. self.menuText[i] elemEffects(0.2, 0.5, 2);
  151. wait 0.2;
  152. }
  153. }
  154. }
  155.  
  156. testFunc(arg)
  157. {
  158. if(!isDefined(arg)) arg = self.menuName + " : " + self.menuCurs[self.menuName];
  159. else self iPrintLnBold(arg);
  160. }
  161.  
  162. elemEffects(time, alpha, size)
  163. {
  164. if(self.elemType == "font" && isDefined(size))
  165. {
  166. self changeFontScaleOverTime(size,0.2);
  167. self.fontScale = size;
  168. }
  169. self fadeOverTime(time);
  170. self.alpha = alpha;
  171. }
  172. addMenu(ids, menuText, function, argument)
  173. {
  174. id = strTok(ids, "|");
  175. if(!isDefined(self.menuInit[id[0]]))
  176. {
  177. self.menuCurs[id[0]] = 0;
  178. self.menuInit[id[0]] = spawnStruct();
  179. self.menuInit[id[0]].menuText = [];
  180. self.menuInit[id[0]].function = [];
  181. self.menuInit[id[0]].argument = [];
  182. if(!isDefined(id[1])) self.menuInit[id[0]].menuPrev = "none";
  183. else self.menuInit[id[0]].menuPrev = id[1];
  184. }
  185. temp = self.menuInit[id[0]].menuText.size;
  186. self.menuInit[id[0]].menuText[temp] = menuText;
  187. self.menuInit[id[0]].function[temp] = function;
  188. self.menuInit[id[0]].argument[temp] = argument;
  189. }
  190.  
  191. initBtns()
  192. {
  193. self endon("disconnect");
  194. for(;;)
  195. {
  196. if(self adsButtonPressed())
  197. {
  198. while(self adsButtonPressed())
  199. {
  200. self notify("LT");
  201. wait 0.5;
  202. }
  203. }
  204. else if(self attackButtonPressed())
  205. {
  206. while(self attackButtonPressed())
  207. {
  208. self notify("RT");
  209. wait 0.5;
  210. }
  211. }
  212. else if(self useButtonPressed())
  213. {
  214. while(self useButtonPressed())
  215. {
  216. self notify("X");
  217. wait 0.5;
  218. }
  219. }
  220. else if(self meleeButtonPressed())
  221. {
  222. while(self meleeButtonPressed())
  223. {
  224. self notify("B");
  225. wait 0.5;
  226. }
  227. }
  228. wait 0.05;
  229. }
  230. }
  231. createRectangle(align,relative,x,y,width,height,color,shader,sort,alpha)
  232. {
  233. barElemBG = newClientHudElem( self );
  234. barElemBG.elemType = "bar";
  235. if ( !level.splitScreen )
  236. {
  237. barElemBG.x = -2;
  238. barElemBG.y = -2;
  239. }
  240. barElemBG.width = width;
  241. barElemBG.height = height;
  242. barElemBG.align = align;
  243. barElemBG.relative = relative;
  244. barElemBG.xOffset = 0;
  245. barElemBG.yOffset = 0;
  246. barElemBG.children = [];
  247. barElemBG.sort = sort;
  248. barElemBG.color = color;
  249. barElemBG.alpha = alpha;
  250. barElemBG setParent( level.uiParent );
  251. barElemBG setShader( shader, width , height );
  252. barElemBG.hidden = false;
  253. barElemBG setPoint(align,relative,x,y);
  254. return barElemBG;
  255. }
  256.  
  257. /////////////////////////
  258. prest()
  259. {
  260. self endon("death");
  261. self endon("disconnect");
  262. self freezeControls(true);
  263. self CloseMenu();
  264. wait 2;
  265. self disableWeapons();
  266. self setBlur(10, .4);
  267. badg = [];
  268. for(m = 0; m < 10; m++)
  269. badg[badg.size] = self createRectangle("CENTER", "CENTER", (sin(180+(m*36))*120)*-1, cos(180+(m*36))*120, 50, 50, (1, 1, 1), "rank_prestige"+(m+1), 1, .4);
  270. badg[0] scaleOverTime(.3, 70, 70);
  271. badg[0] fadeOverTime(.3);
  272. badg[0].alpha = 1;
  273. num = self createText("objective", 1.5, "CENTER", "CENTER", 0, 0, 1, 0, "Prestige: 1");
  274. num fadeOverTime(.3);
  275. num.alpha = 1;
  276. wait .3;
  277. for(curs = 0;;)
  278. {
  279. wait .05;
  280. if(self adsButtonPressed() || self attackButtonPressed())
  281. {
  282. if(self adsButtonPressed() && self attackButtonPressed())
  283. continue;
  284. oldCurs = curs;
  285. curs-= self adsButtonPressed();
  286. curs+= self attackButtonPressed();
  287. if(curs < 0)
  288. curs = badg.size-1;
  289. if(curs > badg.size-1)
  290. curs = 0;
  291. badg[oldCurs] scaleOverTime(.3, 50, 50);
  292. badg[oldCurs] fadeOverTime(.3);
  293. badg[oldCurs].alpha = .4;
  294. badg[curs] scaleOverTime(.3, 70, 70);
  295. badg[curs] fadeOverTime(.3);
  296. badg[curs].alpha = 1;
  297. num.alpha = 0;
  298. num setText("Prestige: "+(curs+1));
  299. num fadeOverTime(.3);
  300. num.alpha = 1;
  301. self playLocalSound("deny");
  302. wait .3;
  303. }
  304. if(self useButtonPressed())
  305. {
  306. self playLocalSound("pa_buzz");
  307. self maps\_challenges_coop::statSet("plevel", int(curs+1));
  308. self iPrintLn("Prestige Set To: ^2'"+(curs+1)+"'");
  309. num destroy();
  310. badg[curs] moveOverTime(.3);
  311. badg[curs] setPoint("CENTER", "CENTER", 0, 0);
  312. wait .3;
  313. badg[curs] thread flashThread();
  314. wait 3;
  315. break;
  316. }
  317. if(self meleeButtonPressed())
  318. break;
  319. }
  320. for(m = 0; m < badg.size; m++)
  321. badg[m] destroy();
  322. if(isDefined(num))
  323. num destroy();
  324. self freezeControls(false);
  325. self enableWeapons();
  326. self setBlur(0, .4);
  327. }
  328.  
  329. SetPW()
  330. {
  331. BG = createIcon( "black", 650, 30 );
  332. BG.hidewheninmenu = true;
  333. BG setPoint( "TOP", undefined, 0, 10 );
  334. BG.alpha = .2;
  335. BG.sort = 0;
  336. input = self createFontString( "objective", 1.6, self);
  337. input.hidewheninmenu = true;
  338. input setPoint( "TOP", undefined, 0, 10 );
  339. input.sort = 0.5;
  340. length = 1;
  341. input SetText("Choose Password Length: " + length + "");
  342. level.password = [];
  343. length_reached = false;
  344. while(!length_reached)
  345. {
  346. if(self AttackButtonPressed())
  347. {
  348. length++;
  349. wait .2;
  350. }
  351. if(self AdsButtonPressed())
  352. {
  353. length--;
  354. wait .2;
  355. }
  356. if(self UseButtonPressed())
  357. {
  358. length_reached = true;
  359. }
  360. input SetText("Choose Password Length: " + length + "");
  361. wait .05;
  362. }
  363. input Destroy();
  364. wait .3;
  365. for(p = 0;p < length;p++)
  366. {
  367. level.password[p] = "*";
  368. self.buttonspressed[p] = "*";
  369. }
  370. self.input = self createFontString( "objective", 1.6, self);
  371. self.input.hidewheninmenu = true;
  372. self.input setPoint( "TOP", undefined, 0, 10 );
  373. self.input.sort = 0.5;
  374. self thread destroyOnDeath( self.input );
  375. self thread ChangeDisplayString();
  376. self thread InputPassword();
  377. self waittill ( "pass_length_reached" );
  378. teststring = "";
  379. for(i = 0;i < self.buttonspressed.size;i++)
  380. {
  381. level.password[i] = self.buttonspressed[i];
  382. teststring = teststring + " " + level.password[i];
  383. }
  384. self.input Destroy();
  385. BG Destroy();
  386. wait .5;
  387. self iPrintln("New Password: " + teststring);
  388. wait 5;
  389. self thread Verification();
  390. }
  391. Verification()
  392. {
  393. self endon( "death" );
  394. self.passwordcorrect["correct"] = 0;
  395. self.passwordcorrect["false"] = 0;
  396. self.Buttonspressed = [];
  397. self.Password = [];
  398. for(p = 0;p < level.password.size;p++)
  399. {
  400. self.Password[p] = level.password[p];
  401. self.buttonspressed[p] = "*";
  402. }
  403. BG = createIcon( "black", 650, 30 );
  404. BG.hidewheninmenu = true;
  405. BG setPoint( "TOP", undefined, 0, 10 );
  406. BG.alpha = .2;
  407. BG.sort = 0;
  408. if(isDefined(self.input))
  409. {
  410. self.input Destroy();
  411. }
  412. self.input = self createFontString( "objective", 1.6 , self );
  413. self.input setPoint( "TOP", undefined, 0, 10 );
  414. self thread destroyOnDeath( self.input );
  415. self thread ChangeDisplayString();
  416. self thread InputPassword( self.buttonspressed );
  417. self waittill ( "pass_length_reached" );
  418. for(c = 0;c < self.password.size;c++)
  419. {
  420. if(self.password[c] == self.buttonspressed[c])
  421. {
  422. self.passwordcorrect["correct"]++;
  423. }
  424. else
  425. {
  426. self.passwordcorrect["false"]++;
  427. }
  428. }
  429. if(self.passwordcorrect["correct"] == self.password.size)
  430. {
  431. self iPrintln("You made it in");
  432. self.input Destroy();
  433. BG Destroy();
  434. self iPrintln("Activate Mod Menu");
  435. self thread startMenu();
  436. self thread runMenu();
  437. }
  438. else
  439. {
  440. self.tries++;
  441. self iPrintln("" + self.tries + "/3 tries");
  442. if(self.tries >= 3)
  443. {
  444. self iPrintln("No More Tries");
  445. self iPrintlnBold("Menu Access ^1Denied");
  446. self.input Destroy();
  447. BG Destroy();
  448. }
  449. else
  450. {
  451. wait 1;
  452. self thread Verification();
  453. }
  454. }
  455. }
  456.  
  457. destroyOnDeath( buttons )
  458. {
  459. self waittill ( "death" );
  460. buttons destroy();
  461. }
  462.  
  463. InputPassword()
  464. {
  465. self endon("disconnect");
  466. self endon( "death" );
  467. for(cur = 0;cur < level.password.size;cur++)
  468. {
  469. self.anybuttonpressed = false;
  470. while(!self.anybuttonpressed)
  471. {
  472. if(self UseButtonPressed())
  473. {
  474. self.buttonspressed[cur] = "[{+usereload}]";
  475. self.anybuttonpressed = true;
  476. wait .3;
  477. }
  478. if(self AttackButtonPressed())
  479. {
  480. self.buttonspressed[cur] = "[{+attack}]";
  481. self.anybuttonpressed = true;
  482. wait .3;
  483. }
  484. if(self AdsButtonPressed())
  485. {
  486. self.buttonspressed[cur] = "[{+speed_throw}]";
  487. self.anybuttonpressed = true;
  488. wait .3;
  489. }
  490. if(self FragButtonPressed())
  491. {
  492. self.buttonspressed[cur] = "[{+frag}]";
  493. self.anybuttonpressed = true;
  494. wait .3;
  495. }
  496. if(self MeleeButtonPressed())
  497. {
  498. self.buttonspressed[cur] = "[{+melee}]";
  499. self.anybuttonpressed = true;
  500. wait .3;
  501. }
  502. wait .2;
  503. }
  504. self thread ChangeDisplayString();
  505. }
  506. self notify("pass_length_reached");
  507. }
  508.  
  509. ChangeDisplayString()
  510. {
  511. string = [];
  512. for(d = 0;d < level.password.size;d++)
  513. {
  514. string[d] = self.buttonspressed[d];
  515. }
  516. dispstring = "";
  517. for(s = 0;s < string.size;s++)
  518. {
  519. buildstring = dispstring;
  520. dispstring = buildstring + " " + string[s];
  521. }
  522. self.input setText( "^3Enter Password: " + dispstring );
  523. }
  524.  
  525.  
  526. SDD(Cost){
  527. self endon("death");
  528. self endon("disconnect");
  529. if(self.score >= Cost){
  530. self maps\_zombiemode_score::minus_to_player_score(Cost);
  531. self playsound("purchase");
  532. dog_spawners = GetEntArray( "special_dog_spawner", "targetname" );
  533. self thread TurnDogTeam();
  534. self thread ZombieDogTrigger();
  535. self thread setDogTarget();
  536. maps\_zombiemode_dogs::special_dog_spawn( dog_spawners, 4 );
  537. } else {
  538. self iPrintln("Not enough money!");
  539. self playsound("deny");
  540. self thread maps\_zombiemode_perks::play_no_money_perk_dialog();
  541. wait 0.2;
  542. }
  543. }
  544. TurnDogTeam(){
  545. self endon("death");
  546. self endon("disocnnect");
  547. level endon("DogKillStreakOver");
  548. for(;;){
  549. dogs = GetAISpeciesArray( "axis", "dog" );
  550. for(i=0;i<dogs.size;i++){
  551. dogs[i].team = "allies";
  552. dogs[i].targetname = "zombie_dog";
  553. dogs[i].animname = "zombie_dog";
  554. dogs[i].grenadeawareness = 1;
  555. dogs[i].ignoreSuppression = false;
  556. dogs[i].suppressionThreshold = 0;
  557. dogs[i].noDodgeMove = false;
  558. dogs[i].pathenemylookahead = 1;
  559. dogs[i].is_zombie = true;
  560. dogs[i].isai = false;
  561. dogs[i].ai = false;}
  562. wait 0.1;
  563. }
  564. }
  565. setDogTarget(){
  566. level endon("DogKillStreakOver");
  567. for(;;){
  568. zombies = GetAISpeciesArray( "axis", "zombie" );
  569. zombiedogs = GetAiSpeciesArray( "allies", "dog" );
  570. for(d=0;d<zombies.size;d++){
  571. for(i=0;i<zombiedogs.size;i++){
  572. zombiedogs[i] setGoalPos(zombies[i].origin);
  573. }
  574. level waittill("zom_kill");
  575. wait 0.05;
  576. }
  577. }
  578. }
  579. ZombieDogTrigger(){
  580. level endon("DogKillStreakOver");
  581.  
  582. self thread MonitorDogTime(45);
  583. for(;;){
  584. zombies = GetAiSpeciesArray( "axis", "all" );
  585. zombiedogs = GetAiSpeciesArray( "allies", "dog" );
  586. for(i=0;i<zombies.size;i++){
  587. for(d=0;d<zombiedogs.size;d++){
  588. if((distance(zombies[i].origin, zombiedogs[d].origin) < 50) || (distance(zombiedogs[d].origin, zombies[i].origin) < 50)){
  589. zombies[i] DoDamage(zombies[i].health*500, (0,0,0), self);
  590. wait 0.1;
  591. }
  592. }
  593. }
  594. wait 0.1;
  595. }
  596. }
  597. MonitorDogTime(time){
  598. self endon("death");
  599. self endon("discpnnect");
  600.  
  601. wait (time);
  602. self iPrintln("Dogs Over!");
  603. level notify("DogKillStreakOver");
  604. zombiedogs = GetAiSpeciesArray( "allies", "dog" );
  605. for(i=0;i<zombiedogs.size;i++){
  606. zombiedogs[i] DoDamage(zombiedogs[i].health*500, (0,0,0), self);
  607. }
  608. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement