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

Plutonium

Coronavirus-19undefined

Coronavirus-19

@Coronavirus-19
About
Posts
28
Topics
14
Shares
0
Groups
0
Followers
4
Following
3

Posts

Recent Best Controversial

  • it is gonna be possible to play the dlc 5 maps on pc? (black ops 2)
    Coronavirus-19undefined Coronavirus-19

    only on Xenia, as of now!

    BO2 Modding Support & Discussion

  • [ZM] BO3's Three hit system and increased health for Juggernog as well! v3!
    Coronavirus-19undefined Coronavirus-19

    To add this script first copy n' paste this code into Notepad++ then save it as a ".txt" after edit the change ".txt" to ".gsc" -- if you don't know how to do that open up a random folder look for "View" at the top and click it. A drop down menu should appear and you'll see "Show" at the bottom, click it and you'll see "File name extension" and should be able to change ".txt" to ".gsc"

    --You can name the file whatever you want, just make sure it ends with ".gsc"

    After the File name extension change add the ".gsc" to the Plutonium folders by:
    Win + R and Run "%localappdata%" then search for "Plutonium" and go the folders as shown: Local/Plutonium/storage/t6/scripts/zm

    GSC File Download

    Raw Code:

    #include common_scripts\utility;
    #include maps\mp\_utility;
    
    init()
    {
        level thread global_player_connect_handler();
    }
    
    // -------------------------
    // GLOBAL PLAYER CONNECT
    // -------------------------
    global_player_connect_handler()
    {
        for(;;)
        {
            level waittill("connected", player);
    
            // make sure EVERY client gets the code
            player thread player_spawn_handler();
        }
    }
    
    // -------------------------
    // PLAYER SPAWN HANDLER
    // -------------------------
    player_spawn_handler()
    {
        self endon("disconnect");
        level endon("game_ended");
    
        for(;;)
        {
            self waittill("spawned_player");
    
            // ensure each new spawn has these set
            self.jugActive = false;
            self.health_initialized = false;
    
            self thread enforce_health_system();
            self thread monitor_perks();
            self thread revive_handler();
        }
    }
    
    // -------------------------
    // ENFORCE HEALTH (RUNS EVERY 250ms)
    // -------------------------
    enforce_health_system()
    {
        self endon("disconnect");
        level endon("game_ended");
    
        for(;;)
        {
            wait 0.25;
    
            if (self.jugActive)
            {
                if (self.maxhealth != 300)
                {
                    self.maxhealth = 300;
                    self.health = self.maxhealth;
                }
            }
            else
            {
                if (self.maxhealth != 150)
                {
                    self.maxhealth = 150;
                    self.health = self.maxhealth;
                }
            }
        }
    }
    
    // -------------------------
    // PERK MONITOR
    // -------------------------
    monitor_perks()
    {
        self endon("disconnect");
        level endon("game_ended");
    
        for(;;)
        {
            wait 0.25;
    
            currentJug = self hasPerk("specialty_armorvest");
    
            if (!isDefined(self.jugActive) || currentJug != self.jugActive)
            {
                self.jugActive = currentJug;
    
                if (currentJug)
                {
                    self.maxhealth = 300;
                    self.health = self.maxhealth;
                    self IPrintLnBold("^2Juggernog: 300 HP");
                }
                else
                {
                    self.maxhealth = 150;
                    self.health = self.maxhealth;
                    self IPrintLnBold("^1Jug lost: 150 HP");
                }
            }
        }
    }
    
    // -------------------------
    // REVIVE HANDLER
    // -------------------------
    revive_handler()
    {
        self endon("disconnect");
        level endon("game_ended");
    
        for(;;)
        {
            self waittill("player_revived");
    
            // revive resets health → reapply our rules
            self.maxhealth = 150;
            self.health = self.maxhealth;
    
            self IPrintLnBold("^3Revived → HP reset to 150");
        }
    }
    
    
    
    BO2 Modding Releases & Resources

  • BO3's System for Max Ammo for BO1
    Coronavirus-19undefined Coronavirus-19

    This script overrides the max ammo to function like BO3's Max Ammo!

    Installation

    Plutonium/storage/t5/scripts/sp

    Max Ammo GSC

    Raw Code

    #include maps\_utility;
    
    init()
    {
        level thread on_player_connect();
    }
    
    on_player_connect()
    {
        for (;;)
        {
            level waittill("connected", player);
            player thread max_ammo_clip_fix();
        }
    }
    
    max_ammo_clip_fix()
    {
        self endon("disconnect");
    
        lastAmmoCheck = [];
    
        for (;;)
        {
            wait 0.1;
    
            weapons = self getweaponslist();
    
            i = 0;
            while (i < weapons.size)
            {
                weapon = weapons[i];
    
                if (!self hasweapon(weapon))
                {
                    i++;
                    continue;
                }
    
                ammo = self getweaponammostock(weapon);
                maxAmmo = weaponmaxammo(weapon);
    
                // Init tracking
                if (!isDefined(lastAmmoCheck[weapon]))
                    lastAmmoCheck[weapon] = ammo;
    
                // Detect Max Ammo refill
                if (ammo == maxAmmo && lastAmmoCheck[weapon] < maxAmmo)
                {
                    self setweaponammoclip(weapon, weaponclipsize(weapon));
                }
    
                lastAmmoCheck[weapon] = ammo;
                i++;
            }
        }
    }
    
    
    BO1 Modding Releases & Resources

  • [ZM] Iron Fist on Round 1 of Origins
    Coronavirus-19undefined Coronavirus-19

    The Iron Fists/ One Inch Punch has been my favorite melee since it's debut. I know the steps to require it can take some time and by the time to get it the Iron Fist is a two-hit kill!

    • CREDIT: https://forum.plutonium.pw/topic/16828/resource-gsc-give-yourself-the-one_inch_punch-correctly

    • I updated the code and also allowed the Iron Fist to be a one-shot kill for further rounds!

    • I will make an update for the upgraded version and the elemental versions too!

    • Iron Fist and Damage Mod for it was be separate in-case you just want the fist by itself!

    • Command will be through in-game chat by typing and entering "#fist"

    • Setup for the correct placements for the scripts:

    Put the iron_fist.gsc and iron_fist_infdmg.gsc in zm_tomb, so it should be "Plutonium/storage/t6/scripts/zm/zm_tomb".
    Create a new folder within zm, so it should be "Plutonium/storage/t6/scripts/zm/replaced", and put infdmgfist.gsc in there!

    NOTE you can edit the damage, have fun and enjoy! 😄

    All Files

    Raw Code:

    #include maps\mp\_utility;
    #include maps\mp\zombies\_zm_weap_one_inch_punch;
    
    init()
    {
        level thread on_player_connect();
        level thread command_bar();
    }
    
    on_player_connect()
    {
        for (;;)
        {
            level waittill("connected", player);
            player thread on_player_spawned();
        }
    }
    
    on_player_spawned()
    {
        self endon("disconnect");
        for (;;)
        {
            self waittill("spawned_player");
        }
    }
    
    command_bar()
    {
        level endon("end_game");
        prefix = "#";
    
        for (;;)
        {
            level waittill("say", message, player);
            if (!isDefined(message) || !isDefined(player))
                continue;
    
            message = toLower(message);
            if (message[0] == prefix)
            {
                args = strtok(message, " ");
                command = getSubStr(args[0], 1);
    
                switch (command)
                {
                    case "fist":
                        player thread give_iron_fist();
                        break;
                }
            }
        }
    }
    
    give_iron_fist()
    {
        self endon("disconnect");
    
        self freezecontrols(true);
    
        current_weapon = self getcurrentweapon();
        if (isDefined(current_weapon))
            self takeweapon(current_weapon);
    
        // Optional flourish animation
        self giveweapon("zombie_one_inch_punch_upgrade_flourish");
        self switchtoweapon("zombie_one_inch_punch_upgrade_flourish");
        wait 1.5;
    
        self freezecontrols(false);
        self takeweapon("zombie_one_inch_punch_upgrade_flourish");
    
        // Give & activate regular Iron Fist
        self giveweapon("one_inch_punch_zm");
        self switchtoweapon("one_inch_punch_zm");
    
        // Enable proper Iron Fist melee handling
        self thread monitor_melee_swipe();
    
        self iprintlnbold("Iron Fist Equipped!");
    }
    
    monitor_melee_swipe()
    {
        self endon("disconnect");
        for (;;)
        {
            self waittill("melee");
            // add hit effect logic here if desired
        }
    }
    
    
    BO2 Modding Releases & Resources

  • [ZM] [RELEASE] Running and Reloading!
    Coronavirus-19undefined Coronavirus-19

    This isn't true running and reloading, more so an illusion. In Black Ops 2, running and reloading at the same time isn’t actually a scriptable feature — it’s hard-locked by the game engine itself.

    Why true “run + reload” isn’t possible in BO2 (and why this is a workaround)

    When you reload:
    • The engine forces the player out of sprint
    • Sprint is only allowed while moving forward
    • Reload animations temporarily override movement logic
    • Scripts do not receive early reload input events
    Because of this, there’s no exposed function in GSC to:
    • Detect the reload button press early
    • Override sprint restrictions
    • Allow sprinting during reload
    • Change movement state mid-animation
    Those checks happen below the scripting layer, inside the player movement code (pm_* functions), which GSC can’t modify.
    ═══════════════════════════════════════════

    So how does this script work?

    Instead of true sprint-reload, the script:
    • Detects when the engine flags the player as “reloading”
    • Temporarily boosts walk speed
    • Restores normal speed once reload finishes
    This creates the illusion of running while reloading:
    • Movement feels faster
    • No animation breaking
    • No desync
    • No crashes
    It’s the closest possible result without engine hooks or custom DLLs.

    Download Link | Video Link

    Path: Win + R "%localappdata%"

    • Plutonium/storage/t6/scripts/zm

    Raw Code:

    #include maps\mp\_utility;
    
    init()
    {
        level thread onPlayerConnect();
    }
    
    onPlayerConnect()
    {
        for ( ;; )
        {
            level waittill("connected", player);
            player thread onPlayerSpawned();
        }
    }
    
    onPlayerSpawned()
    {
        self endon("disconnect");
    
        for ( ;; )
        {
            self waittill("spawned_player");
    
            // Start reload speed monitor
            self thread reloadWalkSpeedBoost();
        }
    }
    
    reloadWalkSpeedBoost()
    {
        self endon("disconnect");
        self endon("death");
    
        normalSpeed = 1.0; // default speed is 1.0
        reloadSpeed = 1.5; // adjust if needed (1.2–1.5 safe)
    
        wasReloading = false;
    
        for (;;)
        {
            isNowReloading = self isReloading();
    
            // Detect reload START (edge detection)
            if ( isNowReloading && !wasReloading )
            {
                self setMoveSpeedScale(reloadSpeed);
            }
    
            // Detect reload END
            if ( !isNowReloading && wasReloading )
            {
                self setMoveSpeedScale(normalSpeed);
            }
    
            wasReloading = isNowReloading;
            wait 0.05;
        }
    }
    
    
    BO2 Modding Releases & Resources

  • [Release] [ZM] “Stim Shot” Movement Script
    Coronavirus-19undefined Coronavirus-19

    This script adds a stim-shot–style movement boost to Black Ops 2 Zombies using pure GSC, no hooks or engine mods required.

    By double-tapping the sprint button, the player temporarily equips a hidden consumable (syrette_zm) that:
    • Plays the injection animation
    • Grants a temporary walk/run speed boost
    • Automatically removes itself after the animation finishes
    • Restores the player’s original weapon afterward

    🎮 Controls
    • Double-tap Sprint → Activate stim boost
    • Speed boost automatically ends when the animation finishes!

    Download | Video

    Raw Code:

    #include maps\mp\_utility;
    
    init()
    {
        level thread onPlayerConnect();
    }
    
    onPlayerConnect()
    {
        for (;;)
        {
            level waittill("connected", player);
            player thread heroinListener();
        }
    }
    
    heroinListener()
    {
        self endon("disconnect");
        self endon("death");
    
        lastPressTime = 0;
        sprintHeld = false;
    
        normalSpeed = 1.0;
        boostSpeed  = 1.5; // Adjust as needed
    
        for (;;)
        {
            wait 0.05;
    
            // Detect NEW sprint press (edge detection)
            if ( self sprintbuttonpressed() )
            {
                if ( !sprintHeld )
                {
                    sprintHeld = true;
                    currentTime = getTime();
    
                    // Double-tap window (300 ms)
                    if ( currentTime - lastPressTime <= 300 )
                    {
                        currentWeapon = self getCurrentWeapon();
    
                        // Give consumable
                        self giveWeapon("syrette_zm");
                        self switchToWeapon("syrette_zm");
    
                        // Apply speed boost
                        self setMoveSpeedScale(boostSpeed);
    
                        // Let animation play
                        wait 2;
    
                        // Remove consumable
                        self takeWeapon("syrette_zm");
    
                        // Remove speed boost
                        self setMoveSpeedScale(normalSpeed);
    
                        // Restore previous weapon
                        if ( isDefined(currentWeapon) )
                        {
                            self switchToWeapon(currentWeapon);
                        }
    
                        lastPressTime = 0;
                        wait 0.3;
                    }
                    else
                    {
                        lastPressTime = currentTime;
                    }
                }
            }
            else
            {
                // Button released → allow next tap
                sprintHeld = false;
            }
        }
    }
    
    
    BO2 Modding Releases & Resources

  • [ZM] Nightmare Mode
    Coronavirus-19undefined Coronavirus-19

    Zombies can either get challenging or scary — I think I achieved both!

    ONLY for the Tranzit Maps!

    This game mode introduces ultra fast zombies on round 100!

    Features of this mode:

    • You get one grace round, that being round 1, & during this gather perks, weapons, upgrade, etc.

    • The game forces Round 100.

    • Max Ammo Monitoring (50%) Drop System if players kill a zombie having no ammo! Empty weapon must be out for this to function.

    • All perks are given and are given back when revived, except Quick Revive!

    • Solo Quick Revive Function for Co-Op, Self Resurrection!

    • Quick Revive cost 6,000 Points.

    • Spawn in with the Ray Gun Mark II.

    • Base Health is 150 and with Juggernog it's 300 HP!

    Raw Code is highly descriptive — should be easy to make adjustments!
    #include maps\mp\_utility;
    #include maps\mp\zombies\_zm_utility;
    #include maps\mp\zombies\_zm_spawner;
    #include maps\mp\gametypes_zm\_hud_util;
    #include common_scripts\utility;
    
    init()
    {
        // Modify perk costs (Quick Revive, etc.)
        modifyPerkCosts();
    
        // Start the max ammo monitor
        level thread zombieMaxAmmoMonitor();
    }
    
    main()
    {
        // Override default zombie health calculation
        replacefunc(
            maps\mp\zombies\_zm::ai_calculate_health,
            ::ai_calculate_health
        );
    
        // Zombie systems
        thread force_round_system();
        thread force_zombie_speed();
    
        // Player systems
        level thread global_player_connect_handler();
    }
    
    global_player_connect_handler()
    {
        for(;;)
        {
            level waittill("connected", player);
    
            // make sure EVERY client gets the code
            player thread player_spawn_handler();
        }
    }
    
    player_spawn_handler()
    {
        self endon("disconnect");
        level endon("game_ended");
    
        for(;;)
        {
            self waittill("spawned_player");
    
            flag_wait("initial_blackscreen_passed");
    
            wait 0.2; // small safety delay
    
            self.jugActive = false;
            self.health_initialized = false;
    
            self thread give_start_weapon();
            self thread give_allowed_perks();
            self thread enforce_health_system();
            self thread monitor_perks();
            self thread revive_handler();
            self thread quick_revive_monitor();
            self thread force_fog_settings();
        }
    }
    
    // -------------------------
    // FORCE FOG SETTINGS
    // -------------------------
    force_fog_settings()
    {
        self endon("disconnect");
        level endon("game_ended");
    
        for(;;)
        {
            self setClientDvar("r_fog", 1);
            wait 1; // Re-apply every second in case the game resets it
        }
    }
    
    // -------------------------
    // SPAWN WITH THE RAY GUN MK II
    // -------------------------
    give_start_weapon()
    {
        self endon("disconnect");
        level endon("game_ended");
    
        wait 0.3; // give engine time to finish default loadout
    
        // Give Ray Gun Mark 2
        self giveWeapon("raygun_mark2_zm");
        self switchToWeapon("raygun_mark2_zm");
        self giveMaxAmmo("raygun_mark2_zm");
    
        self IPrintLnBold("^5Bonus Weapon Given");
    }
    
    // -------------------------
    // Quick Revive Price Change
    // -------------------------
    modifyPerkCosts()
    {
        level._custom_perks = [];
    
        level._custom_perks["specialty_quickrevive"] = spawnStruct();
        level._custom_perks["specialty_quickrevive"].cost = 6000;
        level._custom_perks["specialty_quickrevive"].hint_string = "^5Quick Revive ^7Cost: ";
    }
    
    // -------------------------
    // SPAWN WITH SPECIFIC PERKS (EXCEPTION QUICK REVIVE)
    // -------------------------
    give_allowed_perks()
    {
    	allowedPerks = [];
    
    	allowedPerks[0] = "specialty_armorvest";     // Jug
    	allowedPerks[1] = "specialty_rof";           // Double Tap
    	allowedPerks[2] = "specialty_longersprint";  // Stamin-Up
    	allowedPerks[3] = "specialty_fastreload";    // Speed Cola
    	allowedPerks[4] = "specialty_scavenger";     // Tombstone
    
    	foreach(perk in allowedPerks)
    	{
    		if(!(self hasperk(perk)))
    		{
    			self maps\mp\zombies\_zm_perks::give_perk(perk, 0);
    			wait 0.15;
    		}
    	}
    
    	// Map-specific extras via mods, would still be given PhD won't work FULLY!
    	if(level.script == "zm_transit")
    	{
    		extraPerks = [];
    		extraPerks[0] = "specialty_additionalprimaryweapon";  // MULE KICK
    		extraPerks[1] = "specialty_deadshot";              // DEADSHOT
    		extraPerks[2] = "specialty_flakjacket";               // PHD
    
    		foreach(perk in extraPerks)
    		{
    			if(!(self hasperk(perk)))
    			{
    				self maps\mp\zombies\_zm_perks::give_perk(perk, 0);
    				wait 0.15;
    			}
    		}
    	}
    }
    
    // -------------------------
    // ENFORCE HEALTH (RUNS EVERY 250ms)
    // -------------------------
    enforce_health_system()
    {
        self endon("disconnect");
        level endon("game_ended");
    
        for(;;)
        {
            wait 0.25;
    
            if (self.jugActive)
            {
                if (self.maxhealth != 300)
                {
                    self.maxhealth = 300;
                    self.health = self.maxhealth;
                }
            }
            else
            {
                if (self.maxhealth != 150)
                {
                    self.maxhealth = 150;
                    self.health = self.maxhealth;
                }
            }
        }
    }
    
    // -------------------------
    // PERK MONITOR
    // -------------------------
    monitor_perks()
    {
        self endon("disconnect");
        level endon("game_ended");
    
        for(;;)
        {
            wait 0.25;
    
            currentJug = self hasPerk("specialty_armorvest");
    
            if (!isDefined(self.jugActive) || currentJug != self.jugActive)
            {
                self.jugActive = currentJug;
    
                if (currentJug)
                {
                    self.maxhealth = 300;
                    self.health = self.maxhealth;
                    self IPrintLnBold("^2Juggernog: 300 HP");
                }
                else
                {
                    self.maxhealth = 150;
                    self.health = self.maxhealth;
                    self IPrintLnBold("^1Jug lost: 150 HP");
                }
            }
        }
    }
    
    // -------------------------
    // REVIVE HANDLER
    // -------------------------
    revive_handler()
    {
        self endon("disconnect");
        level endon("game_ended");
    
        for(;;)
        {
            self waittill("player_revived");
    
            wait 0.3; // allow engine to finish revive logic
    
            // Reset base health
            self.maxhealth = 150;
            self.health = self.maxhealth;
    
            self IPrintLnBold("^3Revived → HP reset to 150");
    
            // Restore allowed perks
            self thread give_allowed_perks();
        }
    }
    
    // -------------------------
    // QUICK REVIVE AUTO-REVIVE (COOP)
    // -------------------------
    quick_revive_monitor()
    {
        self endon("disconnect");
        level endon("game_ended");
    
        for(;;)
        {
            self waittill("player_downed");
    
            // Only works in coop (2+ players)
            if(level.players.size > 1 && self HasPerk("specialty_quickrevive"))
            {
                wait 1; // let downed animation finish
    
                maps\mp\zombies\_zm_laststand::auto_revive(self);
    
                self IPrintLnBold("^2Quick Revive Activated!");
            }
        }
    }
    
    zombieMaxAmmoMonitor()
    {
    	level endon("game_ended");
    
    	prev_count = 0;
    	level.forced_max_ammo = false;
    
    	for(;;)
    	{
    		players = get_players();
    		curr_count = GetAiArray("axis").size;
    
    		// Check if any player just hit 0 ammo
    		foreach(player in players)
    		{
    			if(!isDefined(player.prev_ammo))
    				player.prev_ammo = calculate_total_ammo(player);
    
    			current_ammo = calculate_total_ammo(player);
    
    			if(current_ammo == 0 && player.prev_ammo > 0)
    				level.forced_max_ammo = true;
    
    			player.prev_ammo = current_ammo;
    		}
    
    		// Detect zombie death
    		if(curr_count < prev_count)
    		{
    			min_perc = 1.0;
    
    			foreach(player in players)
    			{
    				total_left = calculate_total_ammo(player);
    				total_max = calculate_total_max(player);
    
    				if(total_max > 0)
    				{
    					perc = total_left / total_max;
    					if(perc < min_perc)
    						min_perc = perc;
    				}
    			}
    
    			drop = false;
    
    			// 100% if someone fully ran out
    			if(level.forced_max_ammo)
    			{
    				drop = true;
    				level.forced_max_ammo = false;
    			}
    			else
    			{
    				max_desp = 1.0 - min_perc;
    				chance = int(50 * (max_desp * max_desp)); // Adjustable (where [50] is & only on this line!)
    
    				if(randomInt(100) < chance)
    					drop = true;
    			}
    
    			if(drop && players.size)
    			{
    				player = players[randomInt(players.size)];
    
    				drop_origin = player.origin + (randomIntRange(-120,120), randomIntRange(-120,120), 50);
    				trace = bulletTrace(drop_origin + (0,0,100), drop_origin + (0,0,-400), 0, player);
    
    				level thread maps\mp\zombies\_zm_powerups::specific_powerup_drop("full_ammo", trace["position"]);
    			}
    		}
    
    		prev_count = curr_count;
    		wait 0.1;
    	}
    }
    
    calculate_total_ammo(player)
    {
    	weapons = player GetWeaponsList();
    	total = 0;
    
    	foreach(weapon in weapons)
    		total += player GetWeaponAmmoClip(weapon) + player GetWeaponAmmoStock(weapon);
    
    	return total;
    }
    
    calculate_total_max(player)
    {
    	weapons = player GetWeaponsList();
    	total = 0;
    
    	foreach(weapon in weapons)
    		total += WeaponClipSize(weapon) + WeaponMaxAmmo(weapon);
    
    	return total;
    }
    
    //
    // ===============================
    // FORCE ROUND TO 100
    // ===============================
    //
    
    force_round_system()
    {
        level endon("game_ended");
    
        wait 8; // allow map to fully initialize
    
        for(;;)
        {
            wait 0.2;
    
            if(!isDefined(level.round_number))
                continue;
    
            if(level.round_number < 99) // Adjustable
            {
                level.round_number++;
    
                // Properly update round display
                level notify("round_start");
    
                iprintlnbold("^1FORCED ROUND: ^7" + level.round_number);
            }
        }
    }
    
    //
    // ===============================
    // FORCE ZOMBIE ANIMATION (HARD LOOP)
    // ===============================
    //
    
    force_zombie_speed()
    {
        level endon("game_ended");
    
        // Wait for Round 1 to start
        level waittill("start_of_round");
    
        // Wait for Round 2 to start
        level waittill("start_of_round");
    
        for(;;)
        {
            wait 5;
    
            zombies = getAIArray(level.zombie_team);
    
            foreach(zombie in zombies)
            {
                if(isdefined(zombie) &&
                !(isdefined(zombie.is_traversing) && zombie.is_traversing) &&
                (isdefined(zombie.ai_state) && zombie.ai_state == "find_flesh") &&
                zombie.zombie_move_speed != "chase_bus")
                {
                    zombie set_zombie_run_cycle("chase_bus");
                }
            }
        }
    }
    
    //
    // ==================================================
    // ZOMBIE HEALTH + INSTAKILL
    // - No round cap
    // - HP Adjustments at 100+
    // ==================================================
    //
    
    ai_calculate_health( round_number )
    {
    	if ( round_number >= 100 )
    	{
    		level.zombie_health = 25000; // Adjustable
    		return;
    	}
    
    	level.zombie_health = level.zombie_vars["zombie_health_start"];
    	i = 2;
    
    	while ( i <= round_number )
    	{
    		if ( i >= 10 )
    		{
    			level.zombie_health += int(
    				level.zombie_health *
    				level.zombie_vars["zombie_health_increase_multiplier"]
    			);
    		}
    		else
    		{
    			level.zombie_health += level.zombie_vars["zombie_health_increase"];
    		}
    
    		i++;
    	}
    
    	// Overflow protection
    	if ( level.zombie_health <= 0 )
    	{
    		level.zombie_health = level.zombie_vars["zombie_health_start"];
    	}
    }
    

    Video | Script Download

    Path: Win + R "%localappdata%"

    • Plutonium/storage/t6/scripts/zm/zm_transit

    Credit:

    • https://forum.plutonium.pw/topic/39957/perk-mystery-box-cost-change

    • https://github.com/teh-bandit/Plutonium-T6ZM/tree/main

    • https://forum.plutonium.pw/topic/43790/release-zombies-zenkai-true-quick-revive-coop-more-max-ammo-no-limit-perk?_=1771420816625

    • Plutonium Discord Member: ivobardolf

    BO2 Modding Releases & Resources

  • BO3's 3-Hit System & increased health for Juggernog on BO1!
    Coronavirus-19undefined Coronavirus-19

    This script overrides the health function and increases it to 150 HP then 300 HP when Juggernog is obtained. Also properly resets when downed and revived!

    Installation

    Plutonium/storage/t5/scripts/sp

    BO3 3-Hit System GSC Script

    Raw Code

    #include maps\_utility;
    
    init()
    {
        level thread on_player_connect();
    }
    
    on_player_connect()
    {
        for (;;)
        {
            level waittill("connected", player);
            player thread health_controller();
        }
    }
    
    health_controller()
    {
        self endon("disconnect");
    
        for (;;)
        {
            wait 0.05;
    
            // Determine max HP
            if (self hasperk("specialty_armorvest"))
            {
                self.maxhealth = 300;
            }
            else
            {
                self.maxhealth = 150;
            }
    
            // Force regen override
            if (self.health < self.maxhealth && self.health > 0)
            {
                self.health += 2;
    
                if (self.health > self.maxhealth)
                {
                    self.health = self.maxhealth;
                }
            }
        }
    }
    
    
    BO1 Modding Releases & Resources

  • [ZM][RELEASE] First Box Patch + Timer + Movement Speed Patch for Verruckt
    Coronavirus-19undefined Coronavirus-19

    LuciTheFen %localappdata%/Plutonium/storage/t4/raw/scripts/sp/nazi_zombie_asylum

    WAW Modding Releases & Resources

  • [ZM] Origins Permasnow (TEST)
    Coronavirus-19undefined Coronavirus-19

    Permanent Snow after Round 1!

    This mod is for anyone that wants the Ice Staff on an earlier round.

    Any issues please state them in the comments!

    Files: Plutonium/storage/t6/scripts/zm/zm_tomb

    Raw Code:

    init()
    {
        level thread force_snow_weather();
    }
    
    force_snow_weather()
    {
        // Wait for Origins weather controller to start
        wait 5;
    
        // Stop Origins from cycling weather
        level.weather_cycle_enabled = false;
        level.weather_state = "snow";
    
        setDvar("weather", "snow");
        setDvar("weather_state", "snow");
    
        // Loop to keep overriding anything the game tries to change
        while (1)
        {
            level.weather_state = "snow";
            setDvar("weather", "snow");
            setDvar("weather_state", "snow");
            wait 5;
        }
    }
    
    
    BO2 Modding Releases & Resources

  • [ZM] Emotes & Gestures Script (VERSION 2 RELEASE)!
    Coronavirus-19undefined Coronavirus-19

    Just Some Fun Shit!

    Zombie with Xbox controller(169).png

    Emotes Link | Video Link

    These scripts add gesture, emote, consumable, and buildable equip functionality that can be activated using the D-Pad (Action Slots) and work with keyboard bindings.

    Input Methods
    Controller:
    • Uses D-Pad / Action Slot buttons (Action Slot 1–4 depending on script)
    Keyboard:
    • Functions via mapped action-slot keys.
    Behavior Details
    Repeatable Use
    • Single Tap for Action Buttons 3 & 4.
    • Double Tap for Action Buttons 1 & 2.
    Most gestures (e.g. knuckle crack, syrette-style animations) are:
    • Fully repeatable
    • Reset correctly after each use
    • Safe to activate multiple times in one game
    Map-Specific Gestures and equipment
    • Some gestures / emotes are map-specific
    • Jetgun is for the Tranzit maps only!
    Availability depends on:
    • Map scripting
    • Loaded assets
    • Internal animation support
    If a gesture exists on the map, it can generally be reused without issue!

    ⚠️ Important Limitation
    If a buildable is already equipped or actively attached (example: Zombie Shield already on the player), attempting to equip another buildable or gesture may fail or do nothing due to engine restrictions.
    • This is a game limitation, not a script bug!

    BO2 Modding Releases & Resources
  • 1 / 1
  • Login

  • Don't have an account? Register

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