It's official now the new call of duty is totally free, will they add it to the plutonium like other platforms have done?
the_bad_boy
Posts
-
Will they add the new call of duty mw to plutonium? -
[Release]SharpShooter Game ModeTry to use this mode because it looks interesting but the instructions are not clear to me. You should give an example of the server configuration and .dsr file if you are using one. Excuse my ignorance is that I would really like to play both this and your other mode
-
Impossible to play on lanDss0 Thank you very much for the reply
-
Impossible to play on lanIn the latest versions the problem of playing on lan reappears, something that seemed to have been corrected, it happens again, it is impossible to run plutonium in a completely offline environment, something that did not happen in version 2798. Is there a solution for this or will they release a version in the future with this corrected again?
-
[Release] OldSchool GameModeWith something like this and a custom map you could create a battle royal in mw3. What do you think?
-
Increase the number of players. It's possible?Is it possible to exceed the 18 player limit on a MW3 server?
-
[MAP] Killhouse from COD:OLI'm already playing it, any page to download more custom maps?
-
Load custom mapsResxt Thanks
-
Load custom mapsResxt please could you be more specific this is what I get in the console when I try to load the map:
-
Load custom mapsResxt I didn't understand sorry for my ignorance
-
Load custom mapsResxt and how would it be to upload them to a server?
-
Load custom mapsI have several custon maps that I want to upload to my server but I don't know how, could you help me?
these are the files i have:
-
[HELP] I need to modify vote mapKalitos thank you
-
[HELP] I need to modify vote mapHello fellow plutonium I need to modify the vote map mod to load random game modes since it only loads TDM what would I have to do
#include maps\mp\_utility; #include common_scripts\utility; #include maps\mp\gametypes\_hud_util; init() { precacheshader("gradient_fadein"); precacheshader("gradient_top"); precacheshader("white"); 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#shipbreaker#mp_roughneck#mp_moab#mp_boardwalk#mp_nola", "#"); 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. ", "#"); level.mapvoteindices = randomindices(); 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, 30); level.mapvoteui[13] = text(maptostring(level.mapvotemaps[level.mapvoteindices[0]]), "LEFT", "TOP", -170, 210, 1.5, "normal", (1,1,1), 1, 3, true, 0); level.mapvoteui[14] = text(maptostring(level.mapvotemaps[level.mapvoteindices[1]]), "LEFT", "TOP", -170, 230, 1.5, "normal", (1,1,1), 1, 3, true, 0); level.mapvoteui[15] = text(maptostring(level.mapvotemaps[level.mapvoteindices[2]]), "LEFT", "TOP", -170, 250, 1.5, "normal", (1,1,1), 1, 3, true, 0); level.mapvoteui[16] = text(maptostring(level.mapvotemaps[level.mapvoteindices[3]]), "LEFT", "TOP", -170, 270, 1.5, "normal", (1,1,1), 1, 3, true, 0); level.mapvoteui[17] = text(maptostring(level.mapvotemaps[level.mapvoteindices[4]]), "LEFT", "TOP", -170, 290, 1.5, "normal", (1,1,1), 1, 3, true, 0); level.mapvoteui[18] = text(maptostring(level.mapvotemaps[level.mapvoteindices[5]]), "LEFT", "TOP", -170, 310, 1.5, "normal", (1,1,1), 1, 3, true, 0); //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 <= 30; i++) { level.mapvoteui[12] setvalue(30 - 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_maprotation is the better way to do this as it would allow the final scoreboard to show. cmdexec("map " + level.mapvotemaps[level.mapvoteindices[besti]]); wait 5; } 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(level.mapvotedescs[level.mapvoteindices[index]], "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(level.mapvotedescs[level.mapvoteindices[index]]); 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(level.mapvotedescs[level.mapvoteindices[index]]); 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] setvalue(level.mapvoteui[selected + 13].value); self playlocalsound("mouse_click"); } else if(selected != index) { level.mapvoteui[selected + 13].value -= 1; level.mapvoteui[selected + 13] setvalue(level.mapvoteui[selected + 13].value); selected = index; level.mapvoteui[selected + 13].value += 1; level.mapvoteui[selected + 13] setvalue(level.mapvoteui[selected + 13].value); 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.hidewheninmenu = true; element.color = color; element.alpha = alpha; element.sort = sort; element setpoint(align, relative, x, y); return element; } 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) { switch(map) { case "mp_alpha": return &"LOCKDOWN: "; case "mp_bootleg": return &"BOOTLEG: "; case "mp_bravo": return &"MISSION: "; case "mp_carbon": return &"CARBON: "; case "mp_dome": return &"DOME: "; case "mp_exchange": return &"DOWNTURN: "; case "mp_hardhat": return &"HARDHAT: "; case "mp_interchange": return &"INTERCHANGE: "; case "mp_lambeth": return &"FALLEN: "; case "mp_mogadishu": return &"BAKAARA: "; case "mp_paris": return &"RESISTANCE: "; case "mp_plaza2": return &"ARKADEN: "; case "mp_radar": return &"OUTPOST: "; case "mp_seatown": return &"SEATOWN: "; case "mp_underground": return &"UNDERGROUND: "; case "mp_village": return &"VILLAGE: "; case "mp_terminal_cls": return &"TERMINAL: "; case "mp_rust": return &"RUST: "; case "mp_highrise": return &"HIGHRISE: "; case "mp_italy": return &"PIAZZA: "; case "mp_park": return &"LIBERATION: "; case "mp_overwatch": return &"OVERWATCH: "; case "mp_morningwood": return &"BLACK BOX: "; case "mp_meteora": return &"SANCTUARY: "; case "mp_qadeem": return &"OASIS: "; case "mp_restrepo_ss": return &"LOOKOUT: "; case "mp_hillside_ss": return &"GETAWAY: "; case "mp_courtyard_ss": return &"EROSION: "; case "mp_aground_ss": return &"AGROUND: "; case "mp_six_ss": return &"VORTEX: "; case "mp_burn_ss": return &"U-TURN: "; case "mp_crosswalk_ss": return &"INTERSECTION: "; case "mp_shipbreaker": return &"DECOMMISSION: "; case "mp_roughneck": return &"OFF SHORE: "; case "mp_moab": return &"GULCH: "; case "mp_boardwalk": return &"BOARDWALK: "; case "mp_nola": return &"PARISH: "; default: return &"MAP: "; } }
-
Create option to load and unload dllHello plutonium programmers, I am a lover of what you do and I love the platform but lately I have had problems on my server, they are not serious but it is worth taking a look. It turns out that browsing the forum I found a dll which makes things much easier ([Release] Plutonium iSnipe plugin) but the problem is that the server always loads the dll and this limits me in the game modes since it is for a specific type "Sniper". What I suggest is that in the "dsr" files there should be an option to load example dll (loadscript "Sniper.dll"). Could it be possible?
-
[Release] IW5 MapvoteHow can I make it change the game mode too?
-
[HELP] Enable or disable pluginsKalitos thank you
-
[HELP] Enable or disable pluginsKalitos so it should be like this?
if(getDvar("g_gametype")=="war") //If is TDM mode { #include maps\mp\_utility; #include common_scripts\utility; #include maps\mp\gametypes\_hud_util; /** IW5 Cranked. Updated: 14/06/2021. Version: 1.0. Author: Birchy. Description: IW5 custom script that adds 'cranked' behaviour present in other titles. Works for every gamemode. */ init(){ level.crankedtime = 20; level.crankedoverlay = 0.25; level thread connect(); } connect(){ for(;;){ level waittill("connected", player); player thread cranked(); } } cranked(){ self endon("disconnect"); self.crankedhud[0] = drawshader("white", "TOP", "CENTER", -190, 90, 75, 25, (0.6,0.8,0.6), 0, 1); self.crankedhud[1] = drawshader("white", "TOP", "CENTER", -190, 115, 75, 10, (0,0,0), 0, 1); self.crankedhud[2] = drawtext(&"0:", "TOP", "CENTER", -190, 90, 1, "bigfixed", (1,1,1), 0, 2); self.crankedhud[3] = drawtext(&"CRANKED", "TOP", "CENTER", -190, 114, 1, "objective", (1,1,1), 0, 2); self.crankedhud[4] = drawoverlay(); for(;;){ event = self waittill_any_return("death", "spawned_player", "killed_enemy"); if(event == "killed_enemy"){ self effects(); self display(true); self thread timer(); }else{ self display(false); } } } timer(){ self endon("disconnect"); self endon("death"); self endon("killed_enemy"); time = level.crankedtime; self.crankedhud[2] setvalue(time); self.crankedhud[2].color = (1,1,1); self.crankedhud[2].label = &"0:"; //TODO: Including milliseconds would probably look nice. while(time != 0){ wait 1; time -= 1; self.crankedhud[2] setvalue(time); self playlocalsound("trophy_detect_projectile"); if(time < 10){ self.crankedhud[2].label = &"0:0"; if(time <= 5 && time != 0){ self.crankedhud[2].color = (0.8,0.2,0.2); self playsound("ui_mp_suitcasebomb_timer"); } } } self playsound("detpack_explo_default"); playfx(level.c4death, self.origin); self suicide(); } effects(){ self setperk("specialty_fastermelee", true, false); self setperk("specialty_lightweight", true, false); self setperk("specialty_fastreload", true, false); self setperk("specialty_longersprint", true, false); self setperk("specialty_quickdraw", true, false); self setperk("specialty_stalker", true, false); self setperk("specialty_fastsprintrecovery", true, false); self setperk("specialty_fastoffhand", true, false); self setperk("specialty_quickswap", true, false); self.movespeedscalar = 1.2; self maps\mp\gametypes\_weapons::updateMoveSpeedScale(); } display(visible){ if(visible){ self.crankedhud[0].alpha = 0.5; self.crankedhud[1].alpha = 0.5; self.crankedhud[2].alpha = 1; self.crankedhud[3].alpha = 1; self.crankedhud[4].alpha = level.crankedoverlay; }else{ self.crankedhud[0].alpha = 0; self.crankedhud[1].alpha = 0; self.crankedhud[2].alpha = 0; self.crankedhud[3].alpha = 0; self.crankedhud[4].alpha = 0; } } drawtext(text, align, relative, x, y, fontscale, font, color, alpha, sort){ element = self createfontstring(font, fontscale); element setpoint(align, relative, x, y); element.label = text; element.hidewheninmenu = true; element.color = color; element.alpha = alpha; element.sort = sort; element.hidden = true; return element; } drawshader(shader, align, relative, x, y, width, height, color, alpha, sort){ 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; } drawoverlay(){ element = newclienthudelem(self); element.x = 0; element.y = 0; element.alignX = "left"; element.alignY = "top"; element.horzAlign = "fullscreen"; element.vertAlign = "fullscreen"; element setshader ("combathigh_overlay", 640, 480); element.sort = -10; element.alpha = 0; element.color = (0,1,0); return element; } }
-
[HELP] Enable or disable pluginsKalitos ok I have the Cranked script and I want it to run in TDM_default how would it be?
-
[HELP] Enable or disable pluginsKalitos does that mean that the scripts can be uploaded and downloaded?