Advertisement
Guest User

Untitled

a guest
Sep 1st, 2013
204
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 18.06 KB | None | 0 0
  1. ///////////////////////////////////////////////////////////////
  2. ////| |///| |///| |/\ \///// ///| |////
  3. ////| |//// |///| |//| |///| |/| |//\ \/// ////|__|////
  4. ////| |//// |///| |//| |///| |/| |///\ \/ /////////////
  5. ////| |//| |//| |///| |////\ //////| |////
  6. ////| |////| |//| |//| |/| |///// \/////| |////
  7. ////| |////| |//| |///| |//| |/| |//// /\ \////| |////
  8. ////| |////| |//| | //| |//| |/| |/// ///\ \///| |////
  9. ////|__________|//|__|///|__|//|__|/|__|//__/////\__\//|__|////
  10. ///////////////////////////////////////////////////////////////
  11. /*
  12. BraXi's Death Run Mod
  13.  
  14. Website: www.braxi.org
  15. E-mail: paulina1295@o2.pl
  16.  
  17. [DO NOT COPY WITHOUT PERMISSION]
  18. */
  19.  
  20.  
  21. /*********** MAPVOTING ***********
  22.  
  23. Name: DMS
  24. Author: Bipo
  25. Design: Mr-X
  26. Desc: Dynamic Mapvoting Script
  27. Date: Feb. 2011
  28.  
  29. All rights reserved ? iNext Gaming
  30. **********************************/
  31.  
  32.  
  33. #include braxi\_common;
  34.  
  35. init()
  36. {
  37. level.mapvote = 0;
  38.  
  39. //BraX
  40. precacheString( &"MAPVOTE_PRESSFIRE" );
  41. precacheString( &"MAPVOTE_WAIT4VOTES" );
  42. //<--
  43. }
  44.  
  45. startMapvote()
  46. {
  47. if( !level.dvar["mapvote"] )
  48. return;
  49.  
  50. level notify("pre_mapvote");
  51.  
  52. lastmaps[0] = SpawnStruct();
  53. lastmaps[0].mapname = getdvar("mapname");
  54. for(i=1;i<6 && getDvar("lastplayed_maps_"+i) != "";i++) {
  55. siz = lastmaps.size;
  56. lastmaps[siz] = SpawnStruct();
  57. lastmaps[siz].mapname = getDvar("lastplayed_maps_"+i);
  58. }
  59.  
  60. mapList = retrieveMaps(1); //these are all maps available for mapvoting
  61. level.maps = getRandomSelection(mapList, 5, lastmaps); //size can be 0!
  62. //level.maps[level.maps.size] = addMapItem(getdvar("mapname"), "Replay this map");
  63. level.mapvote = 1;
  64. level notify("mapvote");
  65. level.mapitems = 3;
  66. beginVoting( level.dvar["mapvote_time"] ); //BraX
  67. level notify("post_mapvote");
  68. wait 1;
  69. delVisuals();
  70. }
  71.  
  72. changeMap( map )
  73. {
  74. for(i=5;i>1;i--)
  75. setDvar("lastplayed_maps_"+i,getDvar("lastplayed_maps_"+(i-1)));
  76.  
  77. setDvar("lastplayed_maps_1",map.mapname);
  78.  
  79. //setDvar("sv_maprotationcurrent", "gametype "+map.gametype+ " map "+map.mapname);
  80. setDvar( "sv_maprotationcurrent", "gametype deathrun map " + map.mapname ); //BraX
  81. exitLevel(false);
  82. }
  83.  
  84. retrieveMaps(useMaprotation) { //returns an array with spawnstructs containg map_name, visual name and gametype
  85. if (useMaprotation) {
  86. return getMaprotation();
  87. }
  88. return [];
  89.  
  90. }
  91.  
  92. getRandomSelection(mapList, no, illegal) { //returns random selection of # elements of the maplist
  93. if (no>=mapList.size) {
  94. return mapList;
  95. }
  96.  
  97. randomValues = []; //we create an array with legal indices
  98. for (i=0; i < mapList.size; i++)
  99. {
  100. if (isdefined(illegal)) {
  101. if (isLegal(mapList[i].mapname, illegal))
  102. randomValues[randomValues.size] = i;
  103. }
  104. else {
  105. randomValues[randomValues.size] = i;
  106. }
  107. }
  108.  
  109. size = randomValues.size; //number of legal indices
  110. maps = []; //maps in selection
  111.  
  112. if (size <= no) { //number of entries is less than mapvote elements so we return full array
  113. for (i=0; i<randomValues.size; i++)
  114. maps += mapList[randomValues[i]];
  115. return maps;
  116. }
  117.  
  118. for (i=0; i<no; i++) //we select the maps here
  119. {
  120. rI = randomint(size);
  121. maps[i] = mapList[randomValues[rI]];
  122. for (ii = rI; ii < size - 1; ii++) //we remove index from legal indices
  123. {
  124. randomValues[ii] = randomValues[ii + 1];
  125. }
  126. size = size - 1;
  127. }
  128.  
  129. return maps;
  130. }
  131.  
  132. isLegal(name, illegal) { //check if map is specified in illegal list or string
  133. if (!isString(illegal)) {
  134. for (i=0; i<illegal.size; i++) {
  135. if (illegal[i].mapname == name)
  136. return false;
  137. }
  138. }
  139. else if (name == illegal)
  140. return false;
  141.  
  142. return true;
  143. }
  144.  
  145. /* Retrieve maps from sv_maprotation */
  146. getMaprotation()
  147. {
  148. maprotation = [];
  149. index = 0;
  150. dissect_sv_rotation = strtok(getdvar("sv_maprotation"), " ");
  151.  
  152. gametype = 0;
  153. map = 0;
  154. nextgametype = "";
  155. for (i=0; i<dissect_sv_rotation.size; i++)
  156. {
  157. if (!map)
  158. {
  159. if (dissect_sv_rotation[i] == "gametype")
  160. {
  161. gametype = 1;
  162. continue;
  163. }
  164. if (gametype)
  165. {
  166. gametype = 0;
  167. nextgametype = dissect_sv_rotation[i];
  168. continue;
  169. }
  170. if (dissect_sv_rotation[i] == "map")
  171. {
  172. map = 1;
  173. continue;
  174. }
  175. }
  176. else
  177. {
  178. maprotation[index] = addMapItem(dissect_sv_rotation[i], nextgametype);
  179. index += 1;
  180. map = 0;
  181. }
  182. }
  183. return maprotation;
  184. }
  185.  
  186. /* creates the map spawnstruct */
  187. addMapItem(mapname, gametype) {
  188. map = spawnstruct();
  189. if (mapname=="")
  190. return;
  191. if (!isdefined(gametype))
  192. gametype = getdvar("g_gametype");
  193. if (gametype=="")
  194. gametype = getdvar("g_gametype");
  195.  
  196. map.mapname = mapname;
  197. map.visname = braxi\_maps::getMapNameString(mapname);
  198.  
  199. map.gametype = gametype;
  200. map.votes = 0;
  201. return map;
  202. }
  203.  
  204.  
  205. /* begins actual mapvoting procedure */
  206. beginVoting(time) {
  207. level.alphaintensity = .5;
  208. level.voteswitchtime = .5;
  209. level.voteavg = int((level.mapitems+1)/2);
  210. level.votesup = level.mapitems - level.voteavg;
  211.  
  212. createVisuals();
  213. level.votingplayers = getAllPlayers();
  214. //level.maps[0].votes = level.votingplayers.size;
  215. for (i=0; i<level.votingplayers.size; i++) {
  216. level.votingplayers[i] thread playerVote();
  217. }
  218.  
  219. // level thread neon(int(time/5)-1); //BraX
  220. level thread updateWinningMap();
  221.  
  222. wait time;
  223. }
  224.  
  225. playerVote() {
  226. level endon("post_mapvote");
  227. self endon("disconnect");
  228.  
  229. self.voteindex = -1;
  230.  
  231. if ( issubstr(self.name, "bot") )
  232. return;
  233.  
  234. self.changingVote = false;
  235.  
  236. self playerVisuals();
  237. self thread playerUpdateVotes();
  238. self playerStartVoting();
  239.  
  240. //BraX
  241. self closeMenu();
  242. self closeInGameMenu();
  243. //<--
  244.  
  245. abp = false;
  246. ads = self adsbuttonpressed();
  247. while(1) {
  248. if (ads != self adsbuttonpressed()) {
  249. ads = self adsbuttonpressed();
  250. self.changingVote = true;
  251. self decVote();
  252. wait level.voteswitchtime;
  253. self.changingVote = false;
  254. }
  255. if (!abp) {
  256. if (self attackbuttonpressed()) {
  257. abp = true;
  258. }
  259. } else {
  260. self.changingVote = true;
  261. self incVote();
  262. wait level.voteswitchtime;
  263. self.changingVote = false;
  264. if (!self attackbuttonpressed()) {
  265. abp = false;
  266. }
  267. }
  268. wait 0.05;
  269. }
  270. }
  271.  
  272. playerUpdateVotes() {
  273. level endon("post_mapvote");
  274. self endon("disconnect");
  275. while (1) {
  276. if (!self.changingVote)
  277. updateVotes();
  278. wait 0.5;
  279. }
  280. }
  281.  
  282. playerStartVoting() {
  283. level endon("post_mapvote");
  284. self endon("disconnect");
  285.  
  286. self.startvote = newClientHudElem(self);
  287. self.startvote.x = getX(level.voteavg);
  288. self.startvote.y = -80;
  289. self.startvote.elemType = "font";
  290. self.startvote.alignX = "center";
  291. self.startvote.alignY = "middle";
  292. self.startvote.horzAlign = "center";
  293. self.startvote.vertAlign = "bottom";
  294. self.startvote.color = (1, 1, 1);
  295. self.startvote.alpha = 1;
  296. self.startvote.sort = 0;
  297. self.startvote.font = "default";
  298. self.startvote.fontScale = 3;
  299. self.startvote.foreground = true;
  300. self.startvote.label = &"MAPVOTE_PRESSFIRE";
  301.  
  302. while(!self attackbuttonpressed()) {
  303. wait 0.05;
  304. }
  305.  
  306. self.voteindex = 0;
  307. changeVotes(0,1);
  308. updateVotes();
  309.  
  310. self.startvote FadeOverTime(1);
  311. self.startvote.alpha = 0;
  312.  
  313. wait 1;
  314.  
  315. self.startvote destroy();
  316.  
  317. }
  318.  
  319. playerVisuals() {
  320. self setclientdvar("ui_hud_hardcore", 1);
  321.  
  322.  
  323. // BraX
  324. self braxi\_mod::spawnSpectator( level.spawn["spectator"].origin, level.spawn["spectator"].angles );
  325.  
  326. self allowSpectateTeam( "allies", false );
  327. self allowSpectateTeam( "axis", false );
  328. self allowSpectateTeam( "freelook", false );
  329. self allowSpectateTeam( "none", true );
  330.  
  331. for (i=0; i<=level.mapitems; i++ ) {
  332. self.voteitem[i] = newClientHudElem(self);
  333. self.voteitem[i].index = i;
  334. voteindex = getIndex((i-level.voteavg));
  335. self.voteitem[i].voteindex = voteindex;
  336. self.voteitem[i].x = getX(i);
  337. self.voteitem[i].y = getY(i);
  338. self.voteitem[i].elemType = "font";
  339. self.voteitem[i].alignX = "center";
  340. self.voteitem[i].alignY = "middle";
  341. self.voteitem[i].horzAlign = "center";
  342. self.voteitem[i].vertAlign = "middle";
  343. self.voteitem[i].color = (1, 1, 1);
  344. self.voteitem[i].alpha = getAlpha(i);
  345. self.voteitem[i].sort = 0;
  346. self.voteitem[i].font = "default";
  347. self.voteitem[i].fontScale = getFontSize(i);
  348. self.voteitem[i].foreground = true;
  349. self.voteitem[i] setText(level.maps[voteindex].visname);
  350. self.voteitem[i].parent = self;
  351.  
  352. self.voteitem[i].votes = newClientHudElem(self);
  353. self.voteitem[i].votes.index = i;
  354. self.voteitem[i].votes.x = getX(i);
  355. self.voteitem[i].votes.y = getY(i)*1.75;
  356. self.voteitem[i].votes.elemType = "font";
  357. self.voteitem[i].votes.alignX = "center";
  358. self.voteitem[i].votes.alignY = "middle";
  359. self.voteitem[i].votes.horzAlign = "center";
  360. self.voteitem[i].votes.vertAlign = "middle";
  361. self.voteitem[i].votes.color = (1, 1, 0);
  362. self.voteitem[i].votes.alpha = getAlpha(i);
  363. self.voteitem[i].votes.sort = 0;
  364. self.voteitem[i].votes.font = "default";
  365. self.voteitem[i].votes.fontScale = getFontSize(i);
  366. self.voteitem[i].votes.foreground = true;
  367. self.voteitem[i].votes.value = level.maps[voteindex].votes;
  368. self.voteitem[i].votes setValue(level.maps[voteindex].votes);
  369. }
  370. }
  371.  
  372. playerDelVisuals() {
  373. self endon("disconnect");
  374.  
  375. //BraX - this gave runtime errors when bots were enabled...
  376. for (i=0; i<=level.mapitems; i++ )
  377. {
  378. self.voteitem[i] FadeOverTime(1);
  379. self.voteitem[i].alpha = 0;
  380.  
  381. self.voteitem[i].votes FadeOverTime(1);
  382. self.voteitem[i].votes.alpha = 0;
  383. }
  384.  
  385. if (isdefined(self.startvote))
  386. self.startvote destroy();
  387.  
  388. wait 1;
  389. for (i=0; i<=level.mapitems; i++ ) {
  390. self.voteitem[i].votes destroy();
  391. self.voteitem[i] destroy();
  392. }
  393.  
  394.  
  395.  
  396. }
  397.  
  398.  
  399. getIndex(i) {
  400. if (i>=level.maps.size)
  401. return int(i-level.maps.size);
  402. if (i<0)
  403. return int(level.maps.size + i);
  404. return int(i);
  405. }
  406.  
  407. updateVotes() {
  408. for (i=0; i<=level.mapitems; i++ ) {
  409. val = level.maps[self.voteitem[i].voteindex].votes;
  410. if (val != self.voteitem[i].votes.value) {
  411. self.voteitem[i].votes.value = val;
  412. self.voteitem[i].votes setValue(val);
  413. }
  414.  
  415. }
  416. }
  417.  
  418. incVote() {
  419. changeVotes(self.voteindex, -1);
  420.  
  421. self.voteindex++;
  422. if (self.voteindex>=level.maps.size)
  423. self.voteindex = 0;
  424.  
  425. changeVotes(self.voteindex, 1);
  426.  
  427. updateVotes();
  428.  
  429. for (i=0; i<=level.mapitems; i++ ) {
  430. self.voteitem[i] nextIndex();
  431. }
  432. }
  433.  
  434. decVote() {
  435. changeVotes(self.voteindex, -1);
  436.  
  437. self.voteindex-=1;
  438. if (self.voteindex<0)
  439. self.voteindex = level.maps.size-1;
  440.  
  441. changeVotes(self.voteindex, 1);
  442.  
  443. wait 0.05;
  444.  
  445. updateVotes();
  446.  
  447. for (i=0; i<=level.mapitems; i++ ) {
  448. self.voteitem[i] prevIndex();
  449. }
  450. }
  451.  
  452. changeVotes(index, dif) {
  453. if (index==-1)
  454. return;
  455.  
  456. level.maps[index].votes += dif;
  457. }
  458.  
  459. nextIndex() {
  460. self endon("death");
  461.  
  462. if (self.index==0) {
  463. index = level.mapitems+1;
  464. self.voteIndex = getIndex(self.parent.voteindex+level.votesup);
  465. map = level.maps[self.voteIndex];
  466. self setText(map.visname);
  467. self.votes.value = map.votes;
  468. self.votes setValue(map.votes);
  469.  
  470. self.fontScale = getFontSize(index);
  471. self.votes.fontScale = self.fontScale;
  472. self.alpha = getAlpha(index);
  473. self.votes.alpha = self.alpha;
  474. self.x = getX(index);
  475. self.y = getY(index);
  476. self.votes.x = self.x;
  477. self.votes.y = self.y*1.75;
  478. self.index = index;
  479. }
  480. self.index-=1;
  481.  
  482. self MoveOverTime( level.voteswitchtime );
  483. self.votes MoveOverTime( level.voteswitchtime );
  484.  
  485. self FadeOverTime(level.voteswitchtime);
  486. self.votes FadeOverTime(level.voteswitchtime);
  487.  
  488. self thread scaleFont(getFontSize(self.index), level.voteswitchtime);
  489. self.votes thread scaleFont(getFontSize(self.index), level.voteswitchtime);
  490.  
  491. self.alpha = getAlpha(self.index);
  492. self.votes.alpha = getAlpha(self.index);
  493.  
  494. self.x = getX(self.index);
  495. self.y = getY(self.index);
  496. self.votes.x = self.x;
  497. self.votes.y = self.y*1.75;
  498. }
  499.  
  500. prevIndex() {
  501. self endon("death");
  502.  
  503. if (self.index>level.mapitems) {
  504. index = 0;
  505. self.voteIndex = getIndex(self.parent.voteindex-level.voteavg+1);
  506. map = level.maps[self.voteIndex];
  507. self setText(map.visname);
  508. self.votes.value = map.votes;
  509. self.votes setValue(map.votes);
  510.  
  511. self.fontScale = getFontSize(index);
  512. self.votes.fontScale = self.fontScale;
  513. self.alpha = getAlpha(index);
  514. self.votes.alpha = self.alpha;
  515. self.x = getX(index);
  516. self.y = getY(index);
  517. self.votes.x = self.x;
  518. self.votes.y = self.y*1.75;
  519. self.index = index;
  520. }
  521.  
  522. self.index+=1;
  523.  
  524. self MoveOverTime( level.voteswitchtime );
  525. self.votes MoveOverTime( level.voteswitchtime );
  526.  
  527. self FadeOverTime(level.voteswitchtime);
  528. self.votes FadeOverTime(level.voteswitchtime);
  529.  
  530. self thread scaleFont(getFontSize(self.index), level.voteswitchtime);
  531. self.votes thread scaleFont(getFontSize(self.index), level.voteswitchtime);
  532.  
  533. self.alpha = getAlpha(self.index);
  534. self.votes.alpha = getAlpha(self.index);
  535.  
  536. self.x = getX(self.index);
  537. self.y = getY(self.index);
  538. self.votes.x = self.x;
  539. self.votes.y = self.y*1.75;
  540.  
  541.  
  542. }
  543.  
  544. scaleFont(new,time) {
  545. self endon("death");
  546.  
  547. dif = (new-self.fontScale)/(20*time);
  548. for (i=0; i<time*20; i++) {
  549. self.fontScale += dif;
  550. wait 0.05;
  551. }
  552. }
  553.  
  554. getFontSize(i) {
  555. return 3.5 - abs(i-level.voteavg)*4/(level.mapitems+1);
  556. }
  557.  
  558. getAlpha(i) {
  559. return 1 - abs(i-level.voteavg)*(2*level.alphaintensity)/(level.mapitems+1);
  560. }
  561.  
  562. getX(i) {
  563. return (480/(level.mapitems-1))*(i-level.voteavg);
  564. }
  565. getY(i) {
  566. return 64 - abs(i-level.voteavg)*56/(level.mapitems);
  567. }
  568.  
  569.  
  570. createVisuals() {
  571. level.blackbg = newHudElem();
  572. level.blackbg.x = 0;
  573. level.blackbg.y = 0;
  574. level.blackbg.width = 920;
  575. level.blackbg.height = 240;
  576. level.blackbg.alignX = "center";
  577. level.blackbg.alignY = "top";
  578. level.blackbg.horzAlign = "center";
  579. level.blackbg.vertAlign = "middle";
  580. level.blackbg.color = (0, 0, 0);
  581. level.blackbg.alpha = .7;
  582. level.blackbg.sort = -2;
  583. level.blackbg.foreground = false;
  584. level.blackbg setShader( "white", level.blackbg.width, level.blackbg.height );
  585.  
  586. level.blackbgtop = newHudElem();
  587. level.blackbgtop.x = 0;
  588. level.blackbgtop.y = 0;
  589. level.blackbgtop.width = 920;
  590. level.blackbgtop.height = 64;
  591. level.blackbgtop.alignX = "center";
  592. level.blackbgtop.alignY = "top";
  593. level.blackbgtop.horzAlign = "center";
  594. level.blackbgtop.vertAlign = "top";
  595. level.blackbgtop.color = (0, 0, 0);
  596. level.blackbgtop.alpha = .7;
  597. level.blackbgtop.sort = -2;
  598. level.blackbgtop.foreground = false;
  599. level.blackbgtop setShader( "white", level.blackbgtop.width, level.blackbgtop.height );
  600.  
  601.  
  602. level.blackbar = newHudElem();
  603. level.blackbar.x = 0;
  604. level.blackbar.y = 0;
  605. level.blackbar.width = 920;
  606. level.blackbar.height = 2;
  607. level.blackbar.alignX = "center";
  608. level.blackbar.alignY = "middle";
  609. level.blackbar.horzAlign = "center";
  610. level.blackbar.vertAlign = "middle";
  611. level.blackbar.color = (.1, .1, .1);
  612. level.blackbar.alpha = 1;
  613. level.blackbar.sort = -2;
  614. level.blackbar.foreground = false;
  615. level.blackbar setShader( "white", level.blackbar.width, level.blackbar.height );
  616.  
  617.  
  618. level.blackbartop = newHudElem();
  619. level.blackbartop.x = 0;
  620. level.blackbartop.y = 64;
  621. level.blackbartop.width = 920;
  622. level.blackbartop.height = 2;
  623. level.blackbartop.alignX = "center";
  624. level.blackbartop.alignY = "middle";
  625. level.blackbartop.horzAlign = "center";
  626. level.blackbartop.vertAlign = "top";
  627. level.blackbartop.color = (.1, .1, .1);
  628. level.blackbartop.alpha = 1;
  629. level.blackbartop.sort = -2;
  630. level.blackbartop.foreground = false;
  631. level.blackbartop setShader( "white", level.blackbartop.width, level.blackbartop.height );
  632.  
  633.  
  634. level.winningtxt = newHudElem();
  635. level.winningtxt.x = 0;
  636. level.winningtxt.y = 96;
  637. level.winningtxt.elemType = "font";
  638. level.winningtxt.alignX = "center";
  639. level.winningtxt.alignY = "middle";
  640. level.winningtxt.horzAlign = "center";
  641. level.winningtxt.vertAlign = "top";
  642. level.winningtxt.color = (1, 1, 1);
  643. level.winningtxt.alpha = 1;
  644. level.winningtxt.sort = 0;
  645. level.winningtxt.font = "objective";
  646. level.winningtxt.fontScale = 2.5;
  647. level.winningtxt.foreground = true;
  648. level.winningtxt.glowcolor = (1,0,0);
  649. level.winningtxt.glowalpha = .7;
  650. level.winningtxt setText("Winning Map:");
  651.  
  652.  
  653. level.winningmap = newHudElem();
  654. level.winningmap.x = 0;
  655. level.winningmap.y = 128;
  656. level.winningmap.elemType = "font";
  657. level.winningmap.alignX = "center";
  658. level.winningmap.alignY = "middle";
  659. level.winningmap.horzAlign = "center";
  660. level.winningmap.vertAlign = "top";
  661. level.winningmap.color = (1, 1, 1);
  662. level.winningmap.alpha = 1;
  663. level.winningmap.sort = 0;
  664. level.winningmap.font = "objective";
  665. level.winningmap.fontScale = 2.5;
  666. level.winningmap.foreground = true;
  667. level.winningmap.glowcolor = (1,0,0);
  668. level.winningmap.glowalpha = .6;
  669. level.winningmap.label = &"MAPVOTE_WAIT4VOTES";
  670. level.winningmap setText("");
  671. }
  672.  
  673. delVisuals() {
  674. for (i=0; i<level.votingplayers.size; i++) {
  675. if (isdefined(level.votingplayers[i])) {
  676. level.votingplayers[i] thread playerDelVisuals();
  677. }
  678. }
  679.  
  680. level.blackbg fadeovertime(1);
  681. level.blackbgtop fadeovertime(1);
  682. level.blackbar fadeovertime(1);
  683. level.blackbartop fadeovertime(1);
  684. level.winningtxt fadeovertime(2);
  685. level.winningmap fadeovertime(2);
  686.  
  687. level.blackbg.alpha = 0;
  688. level.blackbgtop.alpha = 0;
  689. level.blackbar.alpha = 0;
  690. level.blackbartop.alpha = 0;
  691. level.winningtxt.alpha = 0;
  692. level.winningmap.alpha = 0;
  693.  
  694. wait 2;
  695.  
  696. level.blackbg destroy();
  697. level.blackbgtop destroy();
  698. level.blackbar destroy();
  699. level.blackbartop destroy();
  700. level.winningtxt destroy();
  701. level.winningmap destroy();
  702.  
  703. }
  704.  
  705.  
  706.  
  707. updateWinningMap() {
  708. level endon("post_mapvote");
  709. while (1) {
  710. mostvotes = level.maps[0].votes;
  711. lastindex = 0;
  712. for (i=1; i<level.maps.size; i++) {
  713. if (level.maps[i].votes > mostvotes) {
  714. mostvotes = level.maps[i].votes;
  715. lastindex = i;
  716. }
  717.  
  718. }
  719.  
  720. if (mostvotes != 0) {
  721. level.winningmap.label = &"";
  722. level.winningmap setText(level.maps[lastindex].visname);
  723. }
  724.  
  725.  
  726. wait 0.5;
  727. }
  728. }
  729.  
  730. getWinningMap() {
  731. mostvotes = level.maps[0].votes;
  732. lastindex = 0;
  733. for (i=1; i<level.maps.size; i++) {
  734. if (level.maps[i].votes > mostvotes) {
  735. mostvotes = level.maps[i].votes;
  736. lastindex = i;
  737. }
  738. }
  739. return level.maps[lastindex];
  740. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement