Skip to content
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Donate
Collapse

Plutonium

  1. Home
  2. MW3 Modding Support & Discussion
  3. [Release] IW5 Mapvote

[Release] IW5 Mapvote

Scheduled Pinned Locked Moved MW3 Modding Support & Discussion
50 Posts 22 Posters 8.9k Views 2 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • Fryundefined Offline
    Fryundefined Offline
    Fry
    Plutonium Staff
    wrote on last edited by Fry
    #16

    So I had some issues not able to go down. seems like +speed_throw is the bind command? which is set on a controller???? Anyway I added some additional commands and seem to play nicely to me and other players.

        self notifyonplayercommand("up", "+attack");
        self notifyonplayercommand("up", "+forward");
        self notifyonplayercommand("down", "+toggleads_throw");
        self notifyonplayercommand("down", "+speed_throw");
        self notifyonplayercommand("down", "+back");
        self notifyonplayercommand("select", "+usereload");
        self notifyonplayercommand("select", "+activate");
    

    Unless you have a reason why you didn't use +toggleads_throw or +forward and +back?

    birchyundefined 1 Reply Last reply
    0
    • Fryundefined Fry

      So I had some issues not able to go down. seems like +speed_throw is the bind command? which is set on a controller???? Anyway I added some additional commands and seem to play nicely to me and other players.

          self notifyonplayercommand("up", "+attack");
          self notifyonplayercommand("up", "+forward");
          self notifyonplayercommand("down", "+toggleads_throw");
          self notifyonplayercommand("down", "+speed_throw");
          self notifyonplayercommand("down", "+back");
          self notifyonplayercommand("select", "+usereload");
          self notifyonplayercommand("select", "+activate");
      

      Unless you have a reason why you didn't use +toggleads_throw or +forward and +back?

      birchyundefined Offline
      birchyundefined Offline
      birchy
      wrote on last edited by
      #17

      Fry those were the bindings I have in my cfg, in hindsight should have added the others for completeness. Glad you sorted it for yourself.

      1 Reply Last reply
      1
      • Fryundefined Offline
        Fryundefined Offline
        Fry
        Plutonium Staff
        wrote on last edited by
        #18

        Ah I see. I sent a pull request for you. 🙂 So far I tested it with scr_war_timelimit .1 bunch of times and look fine.

        birchyundefined 1 Reply Last reply
        0
        • Fryundefined Fry

          Ah I see. I sent a pull request for you. 🙂 So far I tested it with scr_war_timelimit .1 bunch of times and look fine.

          birchyundefined Offline
          birchyundefined Offline
          birchy
          wrote on last edited by
          #19
          This post is deleted!
          1 Reply Last reply
          0
          • Thanatosundefined Offline
            Thanatosundefined Offline
            Thanatos
            wrote on last edited by
            #20

            51c7ec2a-328a-440a-b95c-a5413d09bdae-image.png
            how can I fix that ?
            (I have installed the .dll in the plugins folder

            Thanatosundefined 1 Reply Last reply
            0
            • Thanatosundefined Thanatos

              51c7ec2a-328a-440a-b95c-a5413d09bdae-image.png
              how can I fix that ?
              (I have installed the .dll in the plugins folder

              Thanatosundefined Offline
              Thanatosundefined Offline
              Thanatos
              wrote on last edited by
              #21

              Thanatos birchy any idea how to fix this ?

              Sorexundefined 1 Reply Last reply
              0
              • Thanatosundefined Thanatos

                Thanatos birchy any idea how to fix this ?

                Sorexundefined Offline
                Sorexundefined Offline
                Sorex
                Contributor
                wrote on last edited by
                #22

                Thanatos
                Read the g
                Installation:

                1. Download the .gsc file from the main repository.
                2. Download the .dll file from the repository it is dependant on.
                3. Place the .gsc file at %localappdata%/plutonium/storage/iw5/scripts.
                4. Place the .dll file at %localappdata%/plutonium/storage/iw5/plugins.
                5. Note: Create folders if they do not exist.

                Read 4 and 5

                Thanatosundefined 1 Reply Last reply
                0
                • Sorexundefined Sorex

                  Thanatos
                  Read the g
                  Installation:

                  1. Download the .gsc file from the main repository.
                  2. Download the .dll file from the repository it is dependant on.
                  3. Place the .gsc file at %localappdata%/plutonium/storage/iw5/scripts.
                  4. Place the .dll file at %localappdata%/plutonium/storage/iw5/plugins.
                  5. Note: Create folders if they do not exist.

                  Read 4 and 5

                  Thanatosundefined Offline
                  Thanatosundefined Offline
                  Thanatos
                  wrote on last edited by
                  #23

                  Sorex birchy
                  That's what I did but I don't know what is wrong
                  1.PNG 2.PNG

                  birchyundefined 1 Reply Last reply
                  0
                  • Thanatosundefined Thanatos

                    Sorex birchy
                    That's what I did but I don't know what is wrong
                    1.PNG 2.PNG

                    birchyundefined Offline
                    birchyundefined Offline
                    birchy
                    wrote on last edited by
                    #24

                    Thanatos Are you trying to use this locally? This will only work for dedicated servers

                    Thanatosundefined 2 Replies Last reply
                    1
                    • birchyundefined birchy

                      Thanatos Are you trying to use this locally? This will only work for dedicated servers

                      Thanatosundefined Offline
                      Thanatosundefined Offline
                      Thanatos
                      wrote on last edited by
                      #25
                      This post is deleted!
                      1 Reply Last reply
                      0
                      • birchyundefined birchy

                        Thanatos Are you trying to use this locally? This will only work for dedicated servers

                        Thanatosundefined Offline
                        Thanatosundefined Offline
                        Thanatos
                        wrote on last edited by
                        #26
                        This post is deleted!
                        1 Reply Last reply
                        0
                        • Thanatosundefined Offline
                          Thanatosundefined Offline
                          Thanatos
                          wrote on last edited by
                          #27

                          birchy it seems that there is a problem to load the plugin. How can I fix that ? I already tried to reinstall c++...
                          failed load plugin.PNG

                          1 Reply Last reply
                          0
                          • Fryundefined Offline
                            Fryundefined Offline
                            Fry
                            Plutonium Staff
                            wrote on last edited by Fry
                            #28

                            Fed needs to update his dll. right now this wont work since August.

                            1 Reply Last reply
                            1
                            • Resxtundefined Offline
                              Resxtundefined Offline
                              Resxt
                              Plutonium Staff
                              wrote on last edited by
                              #29

                              Is there an update being worked on? This still doesn't seem to be working anymore at least for me

                              Thanatosundefined 1 Reply Last reply
                              1
                              • Resxtundefined Resxt

                                Is there an update being worked on? This still doesn't seem to be working anymore at least for me

                                Thanatosundefined Offline
                                Thanatosundefined Offline
                                Thanatos
                                wrote on last edited by
                                #30

                                @lResxt doesn't work for me either

                                Resxtundefined 1 Reply Last reply
                                0
                                • Thanatosundefined Thanatos

                                  @lResxt doesn't work for me either

                                  Resxtundefined Offline
                                  Resxtundefined Offline
                                  Resxt
                                  Plutonium Staff
                                  wrote on last edited by
                                  #31

                                  Thanatos I'm using this instead works fine https://forum.awog.at/topic/172/release-vote-manager

                                  1 Reply Last reply
                                  1
                                  • Fryundefined Offline
                                    Fryundefined Offline
                                    Fry
                                    Plutonium Staff
                                    wrote on last edited by Fry
                                    #32

                                    You can now use this without fed's gsc plugin.

                                    change

                                    executeCommand("map " + level.mapvotemaps[level.mapvoteindices[besti]]);
                                    

                                    to

                                    cmdexec("map " + level.mapvotemaps[level.mapvoteindices[besti]]);
                                    

                                    Also birchy I have sent a pull request.

                                    1 Reply Last reply
                                    1
                                    • JerseyDingundefined Offline
                                      JerseyDingundefined Offline
                                      JerseyDing
                                      wrote on last edited by
                                      #33
                                      This post is deleted!
                                      1 Reply Last reply
                                      0
                                      • the_bad_boyundefined Offline
                                        the_bad_boyundefined Offline
                                        the_bad_boy
                                        wrote on last edited by
                                        #34

                                        How can I make it change the game mode too?

                                        1 Reply Last reply
                                        0
                                        • Kalitosundefined Offline
                                          Kalitosundefined Offline
                                          Kalitos
                                          wrote on last edited by Kalitos
                                          #35

                                          I have adapted it in my own way so that it supports voting for maps and game modes.

                                          #include maps\mp\_utility;
                                          #include common_scripts\utility;
                                          #include maps\mp\gametypes\_hud_util;
                                          
                                          init() {
                                              precacheshader("gradient_fadein");
                                              precacheshader("gradient_top");
                                              precacheshader("white");
                                              //Set here the maps you want to rotate, separate them with a #.
                                              level.mapvotemaps = strtok("mp_alpha#mp_bootleg#mp_bravo#mp_carbon#mp_dome#mp_exchange#mp_hardhat#mp_interchange#mp_lambeth#mp_mogadishu#mp_paris#mp_plaza2#mp_radar#mp_seatown#mp_underground#mp_village#mp_terminal_cls#mp_rust#mp_highrise#mp_italy#mp_park#mp_overwatch#mp_morningwood#mp_meteora#mp_cement#mp_qadeem#mp_restrepo_ss#mp_hillside_ss#mp_courtyard_ss#mp_aground_ss#mp_six_ss#mp_burn_ss#mp_crosswalk_ss#mp_shipbreaker#mp_roughneck#mp_moab#mp_boardwalk#mp_nola#mp_favela#mp_nuked#mp_nightshift", "#");
                                              //Set the type/gamemode here, whatever your dsr file is called without the . When doing so, you must also modify within the "maptostring()" function in the "switch(type)" section so that the name of the dsr file matches the type/game mode.
                                              level.mapvotetype = strtok("TDM_default#DOM_default", "#");
                                              //The description of maps must go hand in hand with the maps, so that there are no errors when showing them in the vote.
                                              level.mapvotedescs = strtok("European city center. Great for Team \nDefender.#Medium sized Asian market. Fun for all game \nmodes.#African colonial settlement. Fight to control \nthe center.#Medium sized refinery. Great for any number \nof players.#Small outpost in the desert. Fast and frantic \naction.#Urban map with wide streets. Good for long \nand short range fights.#A small construction site. Fast paced, close \nquarter action.#Destroyed freeway. Great for a wide range of \nspaces and styles.#Derelict Russian ghost town. Great for \ncareful, tactical engagements.#Crash site in an African city. Classic urban \ncombat.#Parisian district. Great for Domination and Kill \nConfirmed.#Medium sized German mall. Intense Search & \nDestroy games.#Large Siberian airbase. Great for epic large \nbattles.#A costal town. Narrow streets bring hectic, \nclose encounters.#Small subway station. Fast paced action both \ninside and out.#Large African village. Great for all game \nmodes.#Russian airport terminal under siege. The \nclassic fan favorite is back.#Tiny desert sandstorm. Fast-paced action on \na small map.#Classic MW2's Rooftop skyscraper.#A small coastal Italian town. Features tight \nclose quarter combat.#Large New York park set in autumn. Great for \nlong distance fire fights.#Unfinished top of a skyscraper. Features \ntense Demolition matches.#Air Force One crash site. Very open map with a \nfew homes that provide cover.#Greek Monastery on a sandstone pillar. \nFeatures both medium and long range combat.#Korean cement factory. Great for close \nquarter combat and tactical maneuvering.#Luxury resort in Dubai. Features Intense \nDomination maches# Remote outpost in Afghanistan. Tight, Sparse \ninteriors linked by open lanes and overlooks #Upscale beachside retreat. Multi-tiered run \nand gun combat haven. #Roman ruins near Mt. Vesuvius. Strong \ninteriors offset by multi-level flanks.#Shipwreck on the irish coast. Open layout \nallows for long distance engagements#American farm in the path of a monster \ntornado. Sparse interiors and well-defined lanes.#War torn section of mid-east highway. \nPlentiful cover and close quarter fighting#Metro intersection on lockdown. Strong \ninterior locations and tactical urban combat#Ship scavenging operation on the indian \ncoast. Dominant overwatch positions and \n strong flank routes.#Deep Water drilling rig. Medium to long range \nengagements between multi-tiered, joined \nplatforms#Abandoned Utah mining settlement. Features \nan open layout and strong flanks.#Jersey shore amusement boardwalk. \nElevated main path set off by close quarters. \nflanks#New Orleans under assault. Features \nfast-paced matches with abundant close \nquarters fighting.#Alleyways of Brazil. Great for all modes\nand all sizes.#A deserted nuke testing facility used in the Cold War.#Urban City fighting. In and out of apartments/nclose range engagements.", "#");
                                              level.mapvoteindices = [];
                                          	
                                          	tryes = 0;	
                                          	while(level.mapvoteindices.size < 6 && tryes < 100) {
                                          		tryes++;		
                                          		j = randomint(level.mapvotemaps.size);
                                          		k = randomint(level.mapvotetype.size);	
                                          		while(inArray(level.mapvoteindices,(level.mapvotemaps[j] + "#" + level.mapvotetype[k] + "#" + level.mapvotedescs[j])))
                                          		{
                                          			j = randomint(level.mapvotemaps.size);
                                          			k = randomint(level.mapvotetype.size);		
                                          		}
                                          		level.mapvoteindices[level.mapvoteindices.size] = level.mapvotemaps[j] + "#" + level.mapvotetype[k] + "#" + level.mapvotedescs[j];						
                                          	}
                                          
                                              replacefunc(maps\mp\gametypes\_gamelogic::waittillFinalKillcamDone, ::finalkillcamhook);
                                          }
                                          
                                          finalkillcamhook() {
                                              if (!IsDefined(level.finalkillcam_winner)) {
                                                  mapvote();
                                                  return false;
                                              } else {
                                                  level waittill("final_killcam_done");
                                                  mapvote();
                                                  return true;
                                              }
                                          }
                                          
                                          mapvote() {
                                              if (!waslastround()) return;
                                              level.mapvoteui[0] = shader("white", "TOP", "TOP", 0, 120, 350, 20, (0.157,0.173,0.161), 1, 1, true);
                                              level.mapvoteui[1] = shader("white", "TOP", "TOP", 0, 140, 350, 60, (0.310,0.349,0.275), 1, 1, true);
                                              level.mapvoteui[2] = shader("gradient_top", "TOP", "TOP", 0, 140, 350, 2, (1,1,1), 1, 2, true);
                                              level.mapvoteui[3] = shader("white", "TOP", "TOP", 0, 200, 350, 20, (0.212,0.231,0.220), 1, 1, true);
                                              level.mapvoteui[4] = shader("white", "TOP", "TOP", 0, 220, 350, 20, (0.180,0.196,0.188), 1, 1, true);
                                              level.mapvoteui[5] = shader("white", "TOP", "TOP", 0, 240, 350, 20, (0.212,0.231,0.220), 1, 1, true);
                                              level.mapvoteui[6] = shader("white", "TOP", "TOP", 0, 260, 350, 20, (0.180,0.196,0.188), 1, 1, true);
                                              level.mapvoteui[7] = shader("white", "TOP", "TOP", 0, 280, 350, 20, (0.212,0.231,0.220), 1, 1, true);
                                              level.mapvoteui[8] = shader("white", "TOP", "TOP", 0, 300, 350, 20, (0.180,0.196,0.188), 1, 1, true);
                                              level.mapvoteui[9] = shader("white", "TOP", "TOP", 0, 320, 350, 20, (0.157,0.173,.161), 1, 1, true);
                                              level.mapvoteui[10] = shader("white", "TOP", "TOP", 0, 340, 350, 20, (0.310,0.349,0.275), 1, 1, true);
                                              level.mapvoteui[11] = shader("gradient_top", "TOP", "TOP", 0, 320, 350, 2, (1,1,1), 1, 2, true);
                                              level.mapvoteui[12] = text(&"VOTING PHASE: ", "LEFT", "TOP", -170, 130, 1, "hudSmall", (1,1,1), 1, 3, true, 20);    
                                              level.mapvoteui[13] = text( maptostring(strTok(level.mapvoteindices[0],"#")[0], strTok(level.mapvoteindices[0],"#")[1]), "LEFT", "TOP", -170, 210, 1.5, "objective", (1,1,1), 1, 3, true);
                                              level.mapvoteui[14] = text( maptostring(strTok(level.mapvoteindices[1],"#")[0], strTok(level.mapvoteindices[1],"#")[1]), "LEFT", "TOP", -170, 230, 1.5, "normal", (1,1,1), 1, 3, true);
                                              level.mapvoteui[15] = text( maptostring(strTok(level.mapvoteindices[2],"#")[0], strTok(level.mapvoteindices[2],"#")[1]), "LEFT", "TOP", -170, 250, 1.5, "normal", (1,1,1), 1, 3, true);
                                              level.mapvoteui[16] = text( maptostring(strTok(level.mapvoteindices[3],"#")[0], strTok(level.mapvoteindices[3],"#")[1]), "LEFT", "TOP", -170, 270, 1.5, "normal", (1,1,1), 1, 3, true);
                                              level.mapvoteui[17] = text( maptostring(strTok(level.mapvoteindices[4],"#")[0], strTok(level.mapvoteindices[4],"#")[1]), "LEFT", "TOP", -170, 290, 1.5, "normal", (1,1,1), 1, 3, true);
                                              level.mapvoteui[18] = text( maptostring(strTok(level.mapvoteindices[5],"#")[0], strTok(level.mapvoteindices[5],"#")[1]), "LEFT", "TOP", -170, 310, 1.5, "normal", (1,1,1), 1, 3, true);    
                                              //////////////
                                              //TODO: speed_throw/toggleads_throw will show bound/unbound for hold/toggle ads players. compromise may be to use forward/back, depending on how controller
                                              //bindings handle this.
                                              level.mapvoteui[19] = text("Up ^2[{+attack}] ^7Down ^2[{+toggleads_throw}]", "LEFT", "TOP", -170, 330, 1.5, "normal", (1,1,1), 1, 3, true);
                                              level.mapvoteui[20] = text("Vote ^2[{+activate}]", "RIGHT", "TOP", 170, 330, 1.5, "normal", (1,1,1), 1, 3, true);
                                              foreach(player in level.players) player thread input();
                                              for(i = 0; i <= 20; i++) {
                                                  level.mapvoteui[12] setvalue(20 - i);
                                                  //playsoundonplayers("trophy_detect_projectile");
                                                  wait 1;
                                              }
                                              level notify("mapvote_over");
                                              besti = 0;
                                              bestv = -1;
                                              for(i = 0; i < 6; i++) {
                                                  if(level.mapvoteui[i + 13].value > bestv) {
                                                      besti = i;
                                                      bestv = level.mapvoteui[i + 13].value;
                                                  }
                                              }
                                              //Note: We wait to prevent the scoreboard popping up at the end for a cleaner transition (Don't wait infinitely as a failsafe).
                                              //TODO: Proper manipulation of sv_level.mapvotemaps is the better way to do this as it would allow the final scoreboard to show.
                                              setDvar( "sv_maprotationcurrent", "dsr " + strTok(level.mapvoteindices[besti],"#")[1] + " map " + strTok(level.mapvoteindices[besti],"#")[0] );   
                                          }
                                          
                                          input() {
                                              self endon("disconnect");
                                              self endon("mapvote_over");
                                              index = 0;
                                              selected = -1;
                                              select[0] = self text((index + 1) + "/6", "RIGHT", "TOP", 170, 130, 1.5, "normal", (1,1,1), 1, 3, false);
                                              select[1] = self text(strTok(level.mapvoteindices[index],"#")[2], "LEFT", "TOP", -170, 150, 1.5, "normal", (1,1,1), 1, 3, false);
                                              select[2] = self shader("gradient_fadein", "TOP", "TOP", 0, 200, 350, 20, (1,1,1), 0.5, 2, false);
                                              select[3] = self shader("gradient_top", "TOP", "TOP", 0, 220, 350, 2, (1,1,1), 1, 2, false);
                                              self notifyonplayercommand("up", "+attack");
                                          	self notifyonplayercommand("up", "+forward");
                                              self notifyonplayercommand("down", "+toggleads_throw");
                                              self notifyonplayercommand("down", "+speed_throw");
                                              self notifyonplayercommand("down", "+back");
                                              self notifyonplayercommand("select", "+usereload");
                                              self notifyonplayercommand("select", "+activate");
                                              self notifyonplayercommand("select", "+frag");
                                              for(;;) {
                                                  command = self waittill_any_return("up", "down", "select");        
                                                  if(command == "up" && index > 0) {
                                                      index--;
                                                      select[0] settext((index + 1) + "/6");
                                                      select[1] settext(strTok(level.mapvoteindices[index],"#")[2]);
                                                      select[2].y -= 20;
                                                      select[3].y -= 20;
                                                      self playlocalsound("mouse_over");
                                                  } else if(command == "down" && index < 5) {
                                                      index++;
                                                      select[0] settext((index + 1) + "/6");
                                                      select[1] settext(strTok(level.mapvoteindices[index],"#")[2]);
                                                      select[2].y += 20;
                                                      select[3].y += 20;
                                                      self playlocalsound("mouse_over");
                                                  } else if(command == "select") {
                                                      if(selected == -1) {
                                                          selected = index;                
                                                          
                                                          level.mapvoteui[selected + 13].value += 1;
                                                          level.mapvoteui[selected + 13].text = strTok(level.mapvoteui[selected + 13].text,":")[0] + ":" + level.mapvoteui[selected + 13].value;
                                                          level.mapvoteui[selected + 13]  settext(level.mapvoteui[selected + 13].text);                
                                                          //iPrintLn(level.mapvoteui[selected + 13].text);                    
                                                          self playlocalsound("mouse_click");
                                                      } else if(selected != index) {                
                                                          
                                                          level.mapvoteui[selected + 13].value -= 1;
                                                          level.mapvoteui[selected + 13].text = strTok(level.mapvoteui[selected + 13].text,":")[0] + ":" + level.mapvoteui[selected + 13].value;
                                                          level.mapvoteui[selected + 13]  settext(level.mapvoteui[selected + 13].text);                
                                                          selected = index;
                                                          
                                                          level.mapvoteui[selected + 13].value += 1;
                                                          level.mapvoteui[selected + 13].text = strTok(level.mapvoteui[selected + 13].text,":")[0] + ":" + level.mapvoteui[selected + 13].value;
                                                          level.mapvoteui[selected + 13]  settext(level.mapvoteui[selected + 13].text);
                                                          //iPrintLn(level.mapvoteui[selected + 13].text);    
                                                          self playlocalsound("mouse_click");
                                                      }
                                                  }        
                                              }
                                          }
                                          
                                          text(text, align, relative, x, y, fontscale, font, color, alpha, sort, server, value) {
                                              element = spawnstruct();
                                              if(server) {
                                                  element = createServerFontString( font, fontscale ); 
                                              } else {
                                                  element = self createFontString( font, fontscale ); 
                                              }
                                              if(isdefined(value)) {
                                                  element.label = text;
                                                  element.value = value;
                                                  element setvalue(value);
                                              } else {
                                                  element settext(text);
                                                  element.text = text;
                                                  element.value = 0;
                                          
                                              }
                                              element.hidewheninmenu = true;
                                              element.color = color;
                                              element.alpha = alpha;
                                              element.sort = sort;
                                              element setpoint(align, relative, x, y);
                                              return element;
                                          }
                                          
                                          addTextHud( who, x, y, alpha, alignX, alignY, horiz, vert, fontScale, sort ) {
                                          	if( isPlayer( who ) )
                                          		hud = newClientHudElem( who );
                                          	else
                                          		hud = newHudElem();
                                          
                                          	hud.x = x;
                                          	hud.y = y;
                                          	hud.alpha = alpha;
                                          	hud.sort = sort;
                                          	hud.alignX = alignX;
                                          	hud.alignY = alignY;
                                          	if(isdefined(vert))
                                          		hud.vertAlign = vert;
                                          	if(isdefined(horiz))
                                          		hud.horzAlign = horiz;		
                                          	if(fontScale != 0)
                                          		hud.fontScale = fontScale;
                                          	hud.foreground = 1;
                                          	hud.archived = 0;
                                          	return hud;
                                          }
                                          
                                          shader(shader, align, relative, x, y, width, height, color, alpha, sort, server) {
                                              element = spawnstruct();
                                              if(server) {
                                                  element = newhudelem(self);
                                              } else {
                                                  element = newclienthudelem(self);
                                              }
                                              element.elemtype = "icon";
                                              element.hidewheninmenu = true;
                                              element.shader = shader;
                                              element.width = width;
                                              element.height = height;
                                              element.align = align;
                                              element.relative = relative;
                                              element.xoffset = 0;
                                              element.yoffset = 0;
                                              element.children = [];
                                              element.sort = sort;
                                              element.color = color;
                                              element.alpha = alpha;
                                              element setparent(level.uiparent);
                                              element setshader(shader, width, height);
                                              element setpoint(align, relative, x, y);
                                              return element;
                                          }
                                          
                                          randomindices() {
                                              array = [];
                                              for (i = 0; i < 6; i++) {
                                                  array[i] = randomint(level.mapvotemaps.size);
                                                  for (j = 0; j < i; j++) {
                                                      if (array[i] == array[j]) {
                                                          i--;
                                                          break;
                                                      }
                                                  }
                                              }
                                              return array;
                                          }
                                          
                                          
                                          
                                          maptostring(map,type) {    
                                              switch(map) {
                                              case "mp_alpha":  map = "LOCKDOWN";
                                              break;
                                              case "mp_bootleg": map = "BOOTLEG";
                                              break;
                                              case "mp_bravo": map = "MISSION";
                                              break;
                                              case "mp_carbon": map = "CARBON";
                                              break;
                                              case "mp_dome": map = "DOME";
                                              break;
                                              case "mp_exchange": map = "DOWNTURN";
                                              break;
                                              case "mp_hardhat": map = "HARDHAT";
                                              break;
                                              case "mp_interchange": map = "INTERCHANGE";
                                              break;
                                              case "mp_lambeth": map = "FALLEN";
                                              break;
                                              case "mp_mogadishu": map = "BAKAARA";
                                              break;
                                              case "mp_paris": map = "RESISTANCE";
                                              break;
                                              case "mp_plaza2": map = "ARKADEN";
                                              break;
                                              case "mp_radar": map = "OUTPOST";
                                              break;
                                              case "mp_seatown": map = "SEATOWN";
                                              break;
                                              case "mp_underground": map = "UNDERGROUND";
                                              break;
                                              case "mp_village": map = "VILLAGE";
                                              break;
                                              case "mp_terminal_cls": map = "TERMINAL";
                                              break;
                                              case "mp_rust": map = "RUST";
                                              break;
                                              case "mp_highrise": map = "HIGHRISE";
                                              break;
                                              case "mp_italy": map = "PIAZZA";
                                              break;
                                              case "mp_park": map = "LIBERATION";
                                              break;
                                              case "mp_overwatch": map = "OVERWATCH";
                                              break;
                                              case "mp_morningwood": map = "BLACK BOX";
                                              break;
                                              case "mp_meteora": map = "SANCTUARY";
                                              break;
                                              case "mp_qadeem": map = "OASIS";
                                              break;
                                              case "mp_restrepo_ss": map = "LOOKOUT";
                                              break;
                                              case "mp_hillside_ss": map = "GETAWAY";
                                              break;
                                              case "mp_courtyard_ss": map = "EROSION";
                                              break;
                                              case "mp_aground_ss": map = "AGROUND";
                                              break;
                                              case "mp_six_ss": map = "VORTEX";
                                              break;
                                              case "mp_burn_ss": map = "U-TURN";
                                              break;
                                              case "mp_crosswalk_ss": map = "INTERSECTION";
                                              break;
                                              case "mp_shipbreaker": map = "DECOMMISSION";
                                              break;
                                              case "mp_roughneck": map = "OFF SHORE";
                                              break;
                                              case "mp_moab": map = "GULCH";
                                              break;
                                              case "mp_boardwalk": map = "BOARDWALK";
                                              break;
                                              case "mp_nola": map = "PARISH";
                                              break;
                                              case "mp_favela": map = "FAVELA";
                                              break;
                                              case "mp_nuked": map = "NUKETOWN";
                                              break;
                                              case "mp_nightshift": map = "SKIDROW";
                                              break;
                                              case "mp_cement": map = "FOUNDATION";
                                              break;
                                              default:
                                              break;
                                              } 
                                          
                                              switch(type) {
                                              case "TDM_default": map = map + " (TEAM DEATHMATCH)" + " :0";
                                              break;
                                              case "DOM_default":map = map  + " (DOMINATION)" + " :0";
                                              break;
                                              case "DEM_default": map = map + " (DEMOLITION)" + " :0";
                                              break;
                                              case "INF_Default": map = map + " (INFECTED)" + " :0";
                                              break;
                                              case "FFA_default":map = map  + " (FREE FOR ALL)" + " :0";    
                                              break;
                                              case "CTF_default":map = map  + " (CAPTURE THE FLAG)" + " :0";    
                                              break;
                                              case "DZ_default":map = map  + " (DROP ZONE)" + " :0";    
                                              break;
                                              case "GG_default":map = map  + " (GUN GAME)" + " :0";    
                                              break;
                                              case "HQ_default":map = map  + " (HEADQUARTERS)" + " :0";    
                                              break;
                                              case "JUG_default":map = map  + " (JUGGERNAUT)" + " :0";
                                              break;
                                              case "KC_default":map = map  + " (KILL CONFIRMED)" + " :0";
                                              break;
                                              case "OIC_default":map = map  + " (ONE IN THE CHAMBER)" + " :0";
                                              break;
                                              case "SAB_default":map = map  + " (SABOTAGE)" + " :0";
                                              break;
                                              case "SD_default":map = map  + " (SEARCH AND DESTROY)" + " :0";
                                              break;
                                              case "TDEF_default":map = map  + " (TEAM DEFENDER)" + " :0";
                                              break;
                                              case "TJ_default":map = map  + " (TEAM JUGGERNAUT)" + " :0";
                                              break;
                                              default:
                                              break;
                                              }    
                                              return map;
                                          }
                                          
                                          inArray(array, text)
                                          {
                                              for(i=0; i<array.size; i++)
                                              {
                                                  if(array[i] == text)
                                                    return true;
                                              }
                                              return false;
                                          }
                                          
                                          1 Reply Last reply
                                          3
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • 1
                                          • 2
                                          • 3
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Recent
                                          • Tags
                                          • Popular
                                          • Users
                                          • Groups
                                          • Donate