Skip to content
  • 0 Unread 0
  • Recent
  • Popular
  • Users
  • Donate
Collapse
Home Docs Stats Discord Donate
Download
Xeptix

Xeptix

@Xeptix
Unfollow Follow
About
Posts
17
Topics
8
Shares
0
Groups
0
Followers
3
Following
4

Posts

Recent Best Controversial

  • [Release] ZTweaks - Highly Customizable Zombies!
    Xeptix Xeptix
    BO2 Modding Releases & Resources

    ZTweaks v1.0 — Black Ops II Zombies

    ZTweaks adds optional gameplay settings to the Zombies lobby and pause menu. Set up
    a match, choose your starting loadout, adjust ordinary zombies and power-ups, or save
    a preferred character. Settings left at DEFAULT leave that part of the map in control.

    Features

    • Match setup: starting round and points, headshots only, Auto Restart after normal
      results, and rotation among installed stock/custom maps.
    • Player and loadout: perk limit, health, movement, damage and point multipliers,
      supported down/revive rules, starting weapon classes, ammo, equipment and perks.
    • Zombies and world: health, speed, ordinary round population and spawning, supported
      startup power/doors, bank capacity, Mystery Box behavior and regular power-ups.
    • Personal character preferences for Victis, Mob of the Dead and Origins, with named
      choices rather than character numbers.
    • A compatibility report that explains unsupported, conflicting or partial settings.

    The menu identifies HOST, CLIENT or UNKNOWN authority. Match-owned rows are locked for
    non-hosts; personal preferences stay editable. Locked and overridden rows still explain
    why they cannot be changed. Where the host's value is unavailable, the menu says so
    instead of presenting the client's local value as the host's.

    For co-op character conflicts, the host's preference wins first; matching non-host
    preferences draw randomly. Unpreferred players retain their original character unless
    it is needed by a preference, then receive a remaining character. Required story roles
    take precedence. Swaps use the map's character callback after normal spawn, not before
    the intro. Custom maps need an explicit character adapter; ordinary tweaks use the
    compatible systems each map exposes.

    Installation and use

    Download the ZIP from GitHub Releases,
    extract it, and run installer/windows/install.bat. Linux users can run
    bash installer/linux/install.sh --root /path/to/Plutonium.

    Select zm_ztweaks under Mods, then open ZTWEAKS SETTINGS in the Zombies lobby.
    Set host match rules before starting; in-game changes obey each row's application
    boundary. Use Q/E, LB/RB or the mouse to change tabs. Hold a tab control to keep cycling.
    The pause menu opens the same settings, with confirmed reset/randomize actions and a
    changed-settings view. The included SETTINGS.md lists every option and its default.

    This is a mod-only release: keep its GSC and UI together, not in a loose-script
    folder. To use several Z mods together, select ZBundle instead of separate standalone
    mods. Unsupported rules leave the map in control; startup doors do not bypass arbitrary
    quest progression or map-owned blockers.

    By Xep. Source and documentation.

    Ko-fi


  • [Release] ZStats - Stats HUD & Post-Game Stats!
    Xeptix Xeptix
    BO2 Modding Releases & Resources

    ZStats v1.0 for Black Ops II

    ZStats puts live Zombies numbers in a compact corner HUD, calls out a round MVP,
    and adds a personal or team recap after Game Over. It keeps the stock scoreboard.

    The default HUD shows match time, zombies left, points per round (PPR), and kills
    per round (KPR). PPR and KPR use the rounds each player actually participated
    in, rather than rounds completed before they joined. Minimal, Detailed, and
    Custom presets are available. Custom rows close up when disabled, so the panel
    does not leave empty gaps. You can also change its corner, scale, background,
    and header.

    At Game Over, solo players see a personal summary and round records. Co-op
    players see team awards and their own summary. The recap distinguishes gross
    points earned, points spent, and ending points, and includes combat, economy,
    survival, and personal-best records. Career PBs are stored per player; Match
    Only limits PBs to the current game. You can reset career PBs in settings
    without resetting the HUD. A pause-menu button hides or restores only your
    live HUD, while tracking and Game Over continue.

    Install and settings

    Download ZStats T6 v1.0 by Xep.zip from the
    ZStats releases page,
    extract the whole archive, and run installer/windows/install.bat or
    installer/linux/install.sh. The installer puts the mod in
    Plutonium/storage/t6/mods/zm_zstats and installs the shared Z Mods menu image
    while preserving any existing replacement. Select zm_zstats from the Mods
    menu, then open ZSTATS SETTINGS in the Zombies lobby or pause menu.

    The host controls shared HUD and recap settings; each client controls personal
    PB settings and the quick HUD toggle. For ZStats alongside the other Z mods,
    use the combined ZBundle mod instead of loading separate standalone mods. On
    Black Ops II, it comes in
    ZPause's Treyarch Bundle download;
    choose the combined mod in that installer.

    The source and full installation notes are in the
    ZStats repository. By Xep; MIT licensed.


  • [Release] [T6] ZShare - Share with your friends!
    Xeptix Xeptix
    BO2 Modding Releases & Resources

    ZShare

    Weapon sharing for Black Ops II Zombies (Plutonium T6)

    by Xep

    Trade guns with a teammate, hand them points, give away a box hit or a Pack-a-Punch you
    don't want, and pay for a teammate's perk, spin or pack. All of it from the use button,
    with prompts that read like the game's own.

    • Look at a teammate and press use to trade weapons. Ammo, Pack-a-Punch, attachments
      and camo go with the gun.
    • Crouch first and the same press gives them 1000 points instead.
    • Crouch and press use at the box while the weapon you paid for is up, and anyone can
      take it. The same at the Pack-a-Punch.
    • Crouch and press use at a perk machine, or at the box or the Pack-a-Punch while
      nobody is using it, and the next teammate to use it pays nothing.

    Download & Source

    Latest Version Download:

    https://github.com/Xeptix/ZShare/releases/latest

    GitHub Source Code:

    https://github.com/Xeptix/ZShare


    Requirements

    Plutonium T6 (Black Ops II), zombies. No other mods or dependencies.

    Only the host needs this file. Every part of ZShare runs on the host and reaches
    everyone else as ordinary server-to-client traffic — the prompts, the swap, the box, the
    machines, the points, the sounds. Players joining your game install nothing. They trade,
    share, pay and give exactly like you can, on a stock client with no scripts and no mods.


    Install

    Copy the Plutonium folder from the download into:

    %localappdata%
    

    It mirrors your existing %localappdata%\Plutonium exactly, so Windows will ask whether
    to merge — say yes. The only thing it replaces is an older zshare.gsc.

    That puts the file here:

    %localappdata%\Plutonium\storage\t6\raw\scripts\zm\zshare.gsc
    %localappdata%\Plutonium\storage\t6\scripts\zm\zshare.gsc
    

    Two copies, because Plutonium moved the script folder under raw at some point and which
    one your build reads depends on how old it is. Only the one your build looks at is ever
    read, so there's nothing to choose.

    It also installs the mod packaging of the same file:

    %localappdata%\Plutonium\storage\t6\mods\zm_share\scripts\zm\zshare.gsc
    

    That copy does nothing unless you pick zm_share from the in-game Mods menu, so having
    it there costs nothing. Use it or the script above, not both — and the script is usually
    the better pick, since Plutonium only enables one mod at a time, so it coexists with
    whatever else you're running while the mod version takes the slot.

    Or run the installer

    The download has an installer folder, one for each system:

    installer\windows\install.bat
    installer/linux/install.sh
    

    Each one finds Plutonium's folder, shows you what it is about to copy, and asks once. On
    Linux, install.sh looks where Plutonium ends up under Wine or Proton — Steam's
    compatdata including a Steam Deck's, Heroic, Lutris, Bottles, plain ~/.wine, and the
    Flatpak version of each. install.bat -Yes and install.sh --yes copy without asking, -Uninstall / --uninstall
    removes what an install put there, and -Find / --find only shows what it detects. When it
    can't find your game, -To <folder> / --to <folder> points it there.

    On a Steam Deck, switch to Desktop Mode and double-click
    installer/linux/Install ZShare.desktop. KDE will not run a desktop entry until you
    allow it once: right-click it, Properties → Permissions → tick Is executable.

    It's optional. Dragging the Plutonium folder across yourself is identical.

    You don't need to restart the game to load a script — just end the current game and start
    a new one.


    Usage

    Every action is a prompt on screen, the same kind the game shows at a door or a wall buy.
    What a prompt says is what a press of use will do.

    Prompt When you see it What the press does
    Hold [use] to trade weapons Looking at a teammate Offers them the weapon in your hands
    Hold [use] to accept the trade Looking at a teammate who offered you a trade Swaps their offered weapon for the one you're holding
    Hold [use] to cancel the trade Looking at the teammate you offered a trade to Withdraws the offer
    Hold [use] to give 1000 points Crouched, looking at a teammate Gives them 1000 points
    Hold [use] to thank them (100 points) Crouched, looking at someone who just did you a good turn Sends them 100 of your points
    Hold [use] to share this weapon Crouched at the box or the Pack-a-Punch, with the weapon you paid for waiting Lets anyone take it
    Hold [use] to take the shared weapon Looking at a box or Pack-a-Punch somebody shared Takes it
    Hold [use] to buy this perk for a teammate [Cost: 2500] Crouched at a perk machine Pays for the next drink from it
    Hold [use] to buy a spin for a teammate [Cost: 950] Crouched at the box while nobody is using it Pays for the next spin
    Hold [use] to buy a Pack-a-Punch for a teammate [Cost: 5000] Crouched at the Pack-a-Punch while nobody is using it Pays for the next pack
    Hold [use] to take back your payment Crouched at a machine you paid for Gives you your points back
    The machine's own prompt, at [Cost: 0] At a machine a teammate paid for Uses it for free

    Crouching is the whole modifier. Stand up and every prompt goes back to what it always was;
    crouch and it turns into giving. Nothing else changes about how you play.

    A few chat words, for when you've already walked away:

    Action Input
    Share the box hit or Pack-a-Punch you paid for type !share
    Thank whoever just did you a good turn Crouch, look at them, press use — or type !thank
    Send any amount of points type !tip 500, or !tip <name> 500

    Trading

    What you offer is the weapon in your hands when you press. Your teammate can see it
    there; nothing needs naming. What you get back is whatever they're holding when they
    accept — so they switch to the gun they want to give before pressing.

    An offer stays open for 10 seconds. It lapses on its own if you switch to your other
    weapon, if the two of you move more than twice the prompt range apart, or if either of
    you goes down. Pressing use on them again withdraws it. Offering to somebody else replaces
    it, and both of you are told either way.

    If they've offered you a trade at the same time, either one of you pressing use completes
    it.

    What travels with a gun: the clip, the reserve ammo, the grenade launcher underneath
    and its ammo, the left-hand gun of a dual wield, the jet gun's heat, the Pack-a-Punch
    upgrade, its attachment, and the exact camo, lens and reticle it was rolled with. It
    arrives as the same weapon that left.

    What can't be traded: grenades, the knife, placeable mines, equipment, the shield, and
    the revive syrette — each has its own slot and its own rules, and the box won't take your
    money for one either. Buried's time bomb stays with whoever armed it. On Origins, a staff
    can only go to a player who has none, or who is giving theirs in the same trade, which is
    the map's own one-staff rule.

    Same gun twice. Black Ops II never lets you carry two weapons of the same family — a
    gun and its Pack-a-Punched version count as one. A trade that would leave someone holding
    both is refused, the way a wall buy refuses to sell you a second copy, rather than quietly
    turning one of the guns into ammo.

    In Grief you can only trade with your own team.


    Sharing a box hit

    You pay, the weapon rises, and for twelve seconds it's yours to take. Crouch and press
    use
    at the box and it's everyone's: the box prompt changes for the whole room, and
    whoever presses use takes it — you included, if nobody's quicker. The weapon stays up for
    the same twelve seconds it always did.

    This is the state the game already puts a box in after the hacker re-spins it, so the box
    is doing nothing it doesn't do on its own.

    Sharing at the Pack-a-Punch

    The same at the machine. Crouch and press use while your upgraded weapon is waiting, and
    anyone can take it. Whoever does gets it exactly as the machine would have handed it to
    you, and their current weapon is replaced as if they'd bought it themselves.

    Giving points

    Crouch, look at a teammate, press use: 1000 points move from you to them, with the game's
    own points sound on both sides. Each press is one gift, a second apart, so three presses
    is 3000. You need the points to give them.


    Paying for a teammate

    Crouch at a perk machine, or at the box or the Pack-a-Punch while nobody is using it, and
    the prompt turns into an offer to pay for a teammate. Press use and you pay the machine's
    price. From then on the machine's own prompt reads [Cost: 0], and the next teammate
    to use it pays nothing — a drink from a perk machine, a spin from the box, a pack from the
    Pack-a-Punch. Everybody hears about it, and whoever paid is told who used it.

    One payment waits at a machine at a time. While yours is waiting, crouch at the machine
    again and the prompt offers your points back. If you don't own that perk yourself, you can
    stand up and drink it too.

    You pay what you would pay to use the machine yourself, so the double points persistent
    upgrade halves it the same way it does at the machine.

    Paying at the box and at the Pack-a-Punch is the other half of sharing there. Before
    anybody uses the machine, a crouched press pays for the next use; while your weapon is
    waiting in it, the same press gives the weapon away. The two never overlap, because the
    machine can't be used while it spins or upgrades.

    When What happens
    A paid spin turns up the teddy bear The spin cost nothing, so the game's own refund is nothing — whoever paid gets their points back instead
    The box moves The paid spin moves with it
    A fire sale or a bonfire sale is on Nobody can pay at the machine it discounts, and a payment already waiting holds until the sale ends
    A paid Pack-a-Punch is used for a re-pack A re-pack costs less than a pack, and whoever paid gets the difference back
    The teammate already holds as many perks as they're allowed They're refused the way the machine refuses a purchase, and the drink stays paid for
    A machine is locked by Brutus or loses power Nobody can pay there until it's back, and a payment already waiting is still there when it is
    Buried's time bomb goes off Payments go back to how they stood when the bomb was set, along with everybody's points
    You're playing solo There's nobody to pay for, so the prompt never appears
    Grief Both teams share the machines, so paying is off

    Stand up and every machine works exactly as it always has.

    The perk limit

    zs_perk_limit sets how many perks a player can hold. 0, the default, is the map's own
    limit — four on every stock map, plus the extra slots Origins' digging hands out. Any
    other number replaces the four, and Origins' extra slots still count on top of it. -1
    removes the limit.

    It's one limit however a perk arrives: bought, paid for by a teammate, or out of Origins'
    Der Wunderfizz.


    Configuration

    Every setting is at the top of the file under zs_load_config(), and each one is also a
    dvar of the same name. The script creates each dvar with its default on load, so you can
    set them straight from the console:

    zs_points_amount 500
    

    The config is re-read every five seconds while the game runs, and again on every press,
    so a change takes effect almost straight away — no map restart needed. Anything
    already set in your config.cfg before the map loads is left alone.

    set zs_config_print 1 in the console prints every setting below with the value it is
    currently holding, then puts the switch back so it can be used again.

    Dvar Default What it does
    zs_only_script 0 Debug. With both the loose script and the mod-folder copy installed, run only the loose one.
    zs_only_mod 0 Debug. The same, the other way round. Both off — the default — is whichever loads first. Both on leaves nothing running. Read when the script loads, so end the game and start a new one for a change to take.
    zs_debug 0 Print what the script decides and why, to the console and to the first player.
    zs_trade 1 Trade weapons with a teammate.
    zs_trade_offer_time 10 Seconds an offer stays open.
    zs_trade_upgraded 1 Pack-a-Punched weapons can be traded. Off, and the prompt says so when you try.
    zs_range 64 How close you have to be for the prompt to appear, in units. An offer lapses at twice this.
    zs_points 1 Crouch and press use on a teammate to give them points.
    zs_points_amount 1000 How many points one press gives.
    zs_points_cooldown 1 Seconds between gifts from one player.
    zs_thank 1 Thank whoever did you a good turn, and the !tip word.
    zs_thank_amount 100 What one thank sends. Comes out of your own points.
    zs_thank_time 30 How long a good turn stays thankable, in seconds.
    zs_box_share 1 Crouch and press use at the box to share the weapon you paid for.
    zs_pap_share 1 The same at the Pack-a-Punch.
    zs_perk_pay 1 Crouch and press use at a perk machine to pay for a teammate's drink. Off stops new payments; one already waiting still works and can still be taken back.
    zs_box_pay 1 The same at the box, for the next spin.
    zs_pap_pay 1 The same at the Pack-a-Punch, for the next pack.
    zs_perk_limit 0 How many perks a player can hold. 0 is the map's own limit, a number replaces it, -1 is no limit. See The perk limit.
    zs_show_hint 1 Tell players what the prompts do, once, shortly after they spawn.
    zs_messages 1 The one-line messages — who traded with whom, who shared or paid for what, who gave points. Off leaves the prompts and the sounds.
    zs_offer_sound zmb_perks_packa_ready Played to the player an offer is made to. none = silent.
    zs_trade_sound zmb_whoosh Played to both players when a trade goes through. none = silent.
    zs_share_sound zmb_perks_packa_ready Played to everyone else when a weapon is shared or a machine is paid for. none = silent.
    zs_points_sound zmb_cha_ching Played when points are given, paid or handed back. none = silent.
    zs_deny_sound zmb_no_cha_ching Played when a press can't do what the prompt said — not enough points, a weapon that can't be traded. none = silent.

    Sounds

    All five are stock aliases, so both packagings stay a single drop-in file. A custom sound
    would have to ship as a fastfile and be installed by every player rather than just the
    host, so ZShare uses the game's own audio instead.

    The defaults are what the game itself uses them for: zmb_perks_packa_ready is the chime
    the Pack-a-Punch plays when your weapon is ready, zmb_cha_ching is the points sound
    behind every purchase, and zmb_no_cha_ching is its refusal. Other aliases worth trying,
    all played by core zombies scripts and so present on every map:

    Alias What it is
    zmb_box_poof The magic box vanishing.
    zmb_perks_power_on Power switch coming on.
    zmb_hud_flash_jugga The flash a perk icon makes when you drink it.
    mpl_ui_timer_countdown The plain UI beep from the end-of-match clock.
    evt_perk_deny Buzzer.

    Swap one in from the console, or silence one with none:

    zs_trade_sound zmb_box_poof
    

    How it works

    The prompts on players are the game's own use triggers. Every player carries one per
    teammate, linked to them the way _zm_laststand.gsc links the revive prompt to a downed
    player, so it follows them and only lights up when that teammate looks at them. Because
    they're real triggers, the engine decides which prompt wins when two overlap, exactly as it
    does for a door beside a wall buy — ZShare never has to guess what you meant.

    A weapon changes hands the way the weapon locker moves one. _zm_weapons.gsc reads
    everything about a weapon into a record with get_player_weapondata() and gives it back
    with weapondata_give(). ZShare takes both players' records, takes both weapons, and
    gives each record to the other player. The Pack-a-Punch camo, lens and reticle are rolled
    once per player per weapon and cached; the cache entry is copied across first, so the gun
    arrives looking the way it left.

    The box already knows how to be shared, and how to be free. After the hacker re-spins
    a box, the stock code marks it box_rerespun, shows the prompt to everyone, and hands the
    weapon to whoever presses use; sharing sets that flag. After the hacker summons a box, the
    stock code marks it auto_open and no_charge, and opens it for the next player without
    charging; a paid spin sets those two. The press itself is caught one step earlier: each
    box builds a per-player trigger through a hook the game leaves open, and ZShare puts its
    own relay in front of the box — so each player's prompt says what their press will do.

    The Pack-a-Punch reads its price off its trigger on every press. A paid pack holds that
    price at zero until somebody uses it. Its take loop, wait_for_player_to_take(), is
    replaced through Plutonium's replaceFunc with itself plus a share branch; everything a
    taker receives is the stock code's doing.

    A perk machine asks before it charges. Its purchase loop calls custom_perk_validation
    after its own checks and before the price — the same hook Mob of the Dead's Brutus locks
    and Origins' generators use. ZShare's version asks theirs first, and hands out a paid drink
    right there, through the stock drinking code, without the charge.

    A payer reads their own prompt. A perk machine and the Pack-a-Punch show one prompt to
    everyone, so the offer to pay is a second prompt on the same spot, shown only to a player
    crouched there. The two stock loops that decide who sees a machine are replaced with copies
    that leave out anyone reading the second prompt, so nobody ever has both in front of them.
    Every stock map starts those loops after ZShare loads, and starts them again through the
    same names after a power cut.

    Points go straight onto the score fields when they're a gift, without the game's own
    helpers: one counts towards career stats, the other announces a purchase to anything
    listening — Origins' challenges among them — and a gift is neither. Paying at a machine is
    a purchase, so it goes through the same helpers the machine would have used.

    Every prompt is one of a fixed handful of strings. Hint strings are configstrings, the
    pool that a ticking clock drawn as text once exhausted, so a weapon name or a player name
    never goes on a prompt. Names go in the chat line, which isn't one.


    Notes

    • Prompts and other prompts. A teammate standing in front of a door or a perk machine
      shares the space with it; the engine shows whichever prompt you're looking at most
      directly, the way it always has. Step around them if you get the door.
    • Crouching over a downed teammate revives them. The pay prompt steps aside for a
      revive, the same way the machine's own prompt does.
    • Trading mid-reload or mid-throw. A trade waits a beat for a weapon switch or a
      grenade throw to finish, the same beat the Pack-a-Punch gives, and then goes through.
    • Downed players have no prompt and can't accept one. Going down lapses an open offer
      in either direction.
    • The hacker. A box the hacker has re-spun is already anyone's; sharing it again does
      nothing new. A box the hacker has summoned is already free, so it can't be paid for.
    • Who's Who. On Die Rise, the copy you play as while your body is down can't trade,
      give points, pay for a teammate or share a weapon. Reviving your body hands back the guns
      and points you went down with, which would undo your half and leave your teammate's
      standing. Your copy can still take back a payment, and points your teammates give it are
      yours whether you revive yourself or not.
    • Moving machines. Die Rise's elevator perks and Nuketown's falling machines carry the
      pay prompt with them.
    • Custom maps get all of it: the prompts, the box and the machines read nothing but the
      stock script structures every zombies map is built on.

    Ports

    Game Repo
    Black Ops 4 (T8) ZShareT8
    Black Ops III (T7) ZShareT7
    Black Ops II (T6) ZShare — you are here
    Black Ops (T5) ZShareT5
    World at War (T4) ZShareT4

    Versions are kept in step: the same version number means the same feature set, allowing
    for what each engine can actually do.

    All five in one download. The Treyarch
    Bundle
    carries every game ZShare runs
    on, laid out as each drops in — the Plutonium tree for this game and the other two, Black
    Ops III's folders, Black Ops 4's mod folder — with one installer that asks which of them to
    install.


    Credits

    • Xep — author
    • Treyarch — _zm_magicbox.gsc, _zm_perks.gsc, _zm_weapons.gsc, _zm_laststand.gsc: everything this stands on
    • plutoniummod/t6-scripts — stock T6 script reference


  • [Release] [T5] ZShare - Share with your friends!
    Xeptix Xeptix
    BO1 Modding Releases & Resources

    ZShare T5

    Weapon sharing for Black Ops Zombies (Plutonium T5)

    by Xep

    Trade guns with a teammate, hand them points, give away a box hit or a Pack-a-Punch you
    don't want, and pay for a teammate's perk, spin or pack. All of it from the use button,
    with prompts that read like the game's own.

    • Look at a teammate and press use to trade weapons. Ammo, the attachment and the
      Pack-a-Punch camo go with the gun.
    • Crouch first and the same press gives them 1000 points instead.
    • Crouch and press use at the box while the weapon you paid for is up, and anyone can
      take it. The same at the Pack-a-Punch.
    • Crouch and press use at a perk machine, or at the box or the Pack-a-Punch while
      nobody is using it, and the next teammate to use it pays nothing.

    This is the Black Ops port of ZShare. Every port has the
    same settings, with the same names, defaults and meanings.


    Download & Source

    Latest Version Download:

    https://github.com/Xeptix/ZShareT5/releases/latest

    GitHub Source Code:

    https://github.com/Xeptix/ZShareT5


    Requirements

    Plutonium T5 (Black Ops), zombies. No other mods or dependencies.

    Only the host needs this file. Every part of ZShare runs on the host and reaches
    everyone else as ordinary server-to-client traffic — the prompts, the swap, the box, the
    machines, the points, the sounds. Players joining your game install nothing.


    Install

    Copy the Plutonium folder from the download into:

    %localappdata%
    

    It mirrors your existing %localappdata%\Plutonium exactly, so Windows will ask whether
    to merge — say yes. The only thing it replaces is an older zshare.gsc.

    That puts the file here:

    %localappdata%\Plutonium\storage\t5\raw\scripts\sp\zshare.gsc
    

    Black Ops zombies runs on the singleplayer script tree, which is why the folder is sp.
    There is no mod packaging for this game — Plutonium's Mods menu is Black Ops II only — so
    the script is the whole install.

    Or run the installer

    The download has an installer folder, one for each system:

    installer\windows\install.bat
    installer/linux/install.sh
    

    Each one finds Plutonium's folder, shows you what it is about to copy, and asks once. On
    Linux, install.sh looks where Plutonium ends up under Wine or Proton — Steam's
    compatdata including a Steam Deck's, Heroic, Lutris, Bottles, plain ~/.wine, and the
    Flatpak version of each. install.bat -Yes and install.sh --yes copy without asking, -Uninstall / --uninstall
    removes what an install put there, and -Find / --find only shows what it detects. When it
    can't find your game, -To <folder> / --to <folder> points it there.

    On a Steam Deck, switch to Desktop Mode and double-click
    installer/linux/Install ZShare.desktop. KDE will not run a desktop entry until you
    allow it once: right-click it, Properties → Permissions → tick Is executable.

    It's optional. Dragging the Plutonium folder across yourself is identical.

    You don't need to restart the game to load a script — just end the current game and start
    a new one.


    Usage

    Every action is a prompt on screen, the same kind the game shows at a door or a wall buy.
    What a prompt says is what a press of use will do.

    Prompt When you see it What the press does
    Hold [use] to trade weapons Looking at a teammate Offers them the weapon in your hands
    Hold [use] to accept the trade Looking at a teammate who offered you a trade Swaps their offered weapon for the one you're holding
    Hold [use] to cancel the trade Looking at the teammate you offered a trade to Withdraws the offer
    Hold [use] to give 1000 points Crouched, looking at a teammate Gives them 1000 points
    Hold [use] to thank them (100 points) Crouched, looking at someone who just did you a good turn Sends them 100 of your points
    Hold [use] to share this weapon Crouched at the box or the Pack-a-Punch, with the weapon you paid for waiting Lets anyone take it
    Hold [use] to take the shared weapon Looking at a box or Pack-a-Punch somebody shared Takes it
    Hold [use] to buy this perk for a teammate [Cost: 2500] Crouched at a perk machine Pays for the next drink from it
    Hold [use] to buy a spin for a teammate [Cost: 950] Crouched at the box while nobody is using it Pays for the next spin
    Hold [use] to buy a Pack-a-Punch for a teammate [Cost: 5000] Crouched at the Pack-a-Punch while nobody is using it Pays for the next pack
    Hold [use] to take back your payment Crouched at a machine you paid for Gives you your points back
    Hold [use] for a Random Weapon [Cost: 0] At a box a teammate paid for Spins it for free
    The machine's own prompt, at [Cost: 0] At a perk machine or Pack-a-Punch a teammate paid for Uses it for free

    Crouching is the whole modifier. Stand up and every prompt goes back to what it always was;
    crouch and it turns into giving. Nothing else changes about how you play.

    A few chat words, for when you've already walked away:

    Action Input
    Share the box hit or Pack-a-Punch you paid for type !share
    Thank whoever just did you a good turn Crouch, look at them, press use — or type !thank
    Send any amount of points type !tip 500, or !tip <name> 500

    Trading

    What you offer is the weapon in your hands when you press. Your teammate can see it
    there; nothing needs naming. What you get back is whatever they're holding when they
    accept — so they switch to the gun they want to give before pressing.

    An offer stays open for 10 seconds. It lapses on its own if you switch to your other
    weapon, if the two of you move more than twice the prompt range apart, or if either of
    you goes down. Pressing use on them again withdraws it. Offering to somebody else replaces
    it, and both of you are told either way.

    If they've offered you a trade at the same time, either one of you pressing use completes
    it.

    What travels with a gun: the clip, the reserve ammo, the grenade launcher,
    flamethrower or masterkey underneath and its ammo, the left-hand gun of a dual wield, the
    Pack-a-Punch upgrade, and the exact camo it was rolled with. It arrives as the same weapon
    that left.

    What can't be traded: grenades, the knife, placeable mines, equipment such as the
    hacker, the Death Machine while you have it, and the revive syrette — each has its own slot
    and its own rules, and the box won't take your money for one either.

    Same gun twice. Black Ops never lets you carry a gun and its Pack-a-Punched version
    together — the box and the wall both check. A trade that would leave someone holding both
    is refused the same way.


    Sharing a box hit

    You pay, the weapon rises, and for twelve seconds it's yours to take. Crouch and press
    use
    at the box and it's everyone's: the box prompt changes for the whole room, and
    whoever presses use takes it — you included, if nobody's quicker. The weapon stays up for
    the same twelve seconds it always did.

    This is the state the game already puts a box in after Moon's hacker re-spins it, so the
    box is doing nothing it doesn't do on its own.

    Sharing at the Pack-a-Punch

    The same at the machine. Crouch and press use while your upgraded weapon is waiting, and
    anyone can take it. Whoever does gets it exactly as the machine would have handed it to
    you, and their current weapon is replaced as if they'd bought it themselves.

    Giving points

    Crouch, look at a teammate, press use: 1000 points move from you to them, with the game's
    own points sound and score popup on both sides. Each press is one gift, a second apart, so
    three presses is 3000. You need the points to give them.


    Paying for a teammate

    Crouch at a perk machine, or at the box or the Pack-a-Punch while nobody is using it, and
    the prompt turns into an offer to pay for a teammate. Press use and you pay the machine's
    price. From then on the machine's prompt reads [Cost: 0], and the next teammate to
    use it pays nothing — a drink from a perk machine, a spin from the box, a pack from the
    Pack-a-Punch. Everybody hears about it, and whoever paid is told who used it.

    One payment waits at a machine at a time. While yours is waiting, crouch at the machine
    again and the prompt offers your points back. If you don't own that perk yourself, you can
    stand up and drink it too.

    Paying at the box and at the Pack-a-Punch is the other half of sharing there. Before
    anybody uses the machine, a crouched press pays for the next use; while your weapon is
    waiting in it, the same press gives the weapon away. The two never overlap, because the
    machine can't be used while it spins or upgrades.

    When What happens
    A paid spin turns up the teddy bear The spin cost nothing, so the game's own refund is nothing — whoever paid gets their points back instead
    The box moves The paid spin moves with it
    A fire sale or a bonfire sale is on Nobody can pay at the machine it discounts, and a payment already waiting holds until the sale ends
    The teammate already holds as many perks as they're allowed They're refused the way the machine refuses a purchase, and the drink stays paid for
    You're playing solo There's nobody to pay for, so the prompt never appears

    Stand up and every machine works exactly as it always has.

    The perk limit

    zs_perk_limit sets how many perks a player can hold. 0, the default, is the game's own
    limit of four. Any other number replaces it, and -1 removes the limit.

    It's one limit whether a perk is bought or paid for by a teammate. A player allowed past
    four buys from the same machine, at the same price, with the machine's own prompt.


    Configuration

    Every setting is at the top of the file under zs_load_config(), and each one is also a
    dvar of the same name. The script creates each dvar with its default on load, so you can
    set them straight from the console:

    zs_points_amount 500
    

    The config is re-read every five seconds while the game runs, and again on every press,
    so a change takes effect almost straight away — no map restart needed. Anything
    already set in your config before the map loads is left alone.

    set zs_config_print 1 in the console prints every setting below with the value it is
    currently holding, then puts the switch back so it can be used again.

    Dvar Default What it does
    zs_debug 0 Print what the script decides and why, to the console and to the first player.
    zs_trade 1 Trade weapons with a teammate.
    zs_trade_offer_time 10 Seconds an offer stays open.
    zs_trade_upgraded 1 Pack-a-Punched weapons can be traded. Off, and the prompt says so when you try.
    zs_range 64 How close you have to be for the prompt to appear, in units. An offer lapses at twice this.
    zs_points 1 Crouch and press use on a teammate to give them points.
    zs_points_amount 1000 How many points one press gives.
    zs_points_cooldown 1 Seconds between gifts from one player.
    zs_thank 1 Thank whoever did you a good turn, and the !tip word.
    zs_thank_amount 100 What one thank sends. Comes out of your own points.
    zs_thank_time 30 How long a good turn stays thankable, in seconds.
    zs_box_share 1 Crouch and press use at the box to share the weapon you paid for.
    zs_pap_share 1 The same at the Pack-a-Punch.
    zs_perk_pay 1 Crouch and press use at a perk machine to pay for a teammate's drink. Off stops new payments; one already waiting still works and can still be taken back.
    zs_box_pay 1 The same at the box, for the next spin.
    zs_pap_pay 1 The same at the Pack-a-Punch, for the next pack.
    zs_perk_limit 0 How many perks a player can hold. 0 is the game's own limit, a number replaces it, -1 is no limit. See The perk limit.
    zs_show_hint 1 Tell players what the prompts do, once, shortly after they spawn.
    zs_messages 1 The one-line messages — who traded with whom, who shared or paid for what, who gave points. Off leaves the prompts and the sounds.
    zs_offer_sound zmb_perks_packa_ready Played to the player an offer is made to. none = silent.
    zs_trade_sound zmb_whoosh Played to both players when a trade goes through. none = silent.
    zs_share_sound zmb_perks_packa_ready Played to everyone else when a weapon is shared or a machine is paid for. none = silent.
    zs_points_sound zmb_cha_ching Played when points are given, paid or handed back. none = silent.
    zs_deny_sound zmb_no_cha_ching Played when a press can't do what the prompt said — not enough points, a weapon that can't be traded. none = silent.

    Sounds

    All five are stock aliases, so the script stays a single drop-in file. A custom sound
    would have to be installed by every player rather than just the host, so ZShare uses
    the game's own audio instead.

    The defaults are what the game itself uses them for: zmb_perks_packa_ready is the chime
    the Pack-a-Punch plays when your weapon is ready, zmb_cha_ching is the points sound
    behind every purchase, and zmb_no_cha_ching is its refusal. Other aliases worth trying,
    all played by the common zombies scripts and so present on every map:

    Alias What it is
    zmb_box_poof The magic box vanishing.
    zmb_perks_power_on Power switch coming on.
    evt_perk_deny A perk machine's buzzer.
    deny The Pack-a-Punch's refusal.

    Swap one in from the console, or silence one with none:

    zs_trade_sound zmb_box_poof
    

    How this port differs

    The same features with the same settings as every other port, allowing for what Black Ops
    gives a script:

    • No mod packaging. Plutonium's Mods menu is Black Ops II only, so this port has no mod
      copy and none of the two settings that choose between the copies.
    • The free box prompt is ZShare's own words. The box's own line has no price in it to
      set to 0, so a paid spin reads Hold [use] for a Random Weapon [Cost: 0].
    • A paid drink is poured from ZShare's prompt on the machine, with the machine's own
      words at [Cost: 0]. So is a drink past four when zs_perk_limit allows one.
    • No re-packs and no Grief. Black Ops has neither, so neither has a rule here.
    • none silences a sound. An empty dvar can't be set from in game on this engine.

    How it works

    The prompts on players are the game's own use triggers. Every player carries one per
    teammate, linked to them the way the ballistic knife's retrieval trigger links to what it
    lands in, so it follows them and only lights up when that teammate looks at them. Because
    they're real triggers, the engine decides which prompt wins when two overlap, exactly as it
    does for a door beside a wall buy.

    A weapon changes hands piece by piece. Black Ops has no helper that reads a weapon
    whole, so ZShare reads what the game's own last stand reads — the clip, the left-hand clip,
    the reserve — plus the attachment's ammo and the render options that hold the Pack-a-Punch
    camo, and gives the gun back with all of it.

    The box already knows how to be shared, and how to be free. After Moon's hacker
    re-spins a box, the stock code marks it box_rerespun and hands the weapon to whoever
    presses use; sharing sets that flag. After the hacker summons a box, the stock code marks it
    auto_open and no_charge and opens it for the next player without charging; a paid spin
    sets those two. Black Ops writes the box's grab into its think loop, so that loop is
    replaced — through Plutonium's replaceFunc — with a copy of itself that decides who sees
    the box and notices a paid spin opening.

    The Pack-a-Punch reads its price off its trigger on every press. A paid pack holds that
    price at zero until somebody uses it. The machine's loop is replaced with a copy that runs
    ZShare's own decisions about who sees it, and its take loop carries the share branch.

    A paid drink goes through the game's own drinking code. Black Ops keeps a perk's price
    inside the machine's loop, so a teammate drinking a paid perk uses a second prompt on the
    machine, with the machine's own words, and drinks it through the stock bottle, animation and
    perk code. The machine's visibility loop is replaced so its own prompt steps aside for
    exactly that player.

    Points go through the game's own score helpers, which draw the popups. A gift doesn't
    count as points you earned.

    Every prompt is one of a fixed handful of strings. Hint strings are configstrings, a
    pool that doesn't recycle, so a weapon name or a player name never goes on a prompt. Names
    go in the chat line, which isn't one.


    Notes

    • Prompts and other prompts. A teammate standing in front of a door or a perk machine
      shares the space with it; the engine shows whichever prompt you're looking at most
      directly, the way it always has. Step around them if you get the door.
    • Crouching over a downed teammate revives them. The pay prompt steps aside for a
      revive, the same way the machine's own prompt does.
    • Trading mid-reload or mid-throw. A trade waits a beat for a weapon switch or a
      grenade throw to finish, and then goes through.
    • Downed players have no prompt and can't accept one. Going down lapses an open offer
      in either direction.
    • Moon's hacker. A box the hacker has re-spun is already anyone's; sharing it again
      does nothing new. A box the hacker has summoned is already free, so it can't be paid for.
    • Moving machines. Shi No Numa's perk machines, and the Pack-a-Punch on Five, Call of
      the Dead and Shangri-La, carry the pay prompt with them.
    • Dead Ops Arcade is left alone.
    • Custom maps get all of it: the prompts, the box and the machines read nothing but the
      stock script structures every Black Ops zombies map is built on.

    Ports

    Game Repo
    Black Ops 4 (T8) ZShareT8
    Black Ops III (T7) ZShareT7
    Black Ops II (T6) ZShare
    Black Ops (T5) ZShareT5 — you are here
    World at War (T4) ZShareT4

    Versions are kept in step: the same version number means the same feature set, allowing
    for what each engine can actually do.

    All five in one download. The Treyarch
    Bundle
    carries every game ZShare runs
    on, laid out as each drops in — the Plutonium tree for this game and the other two, Black
    Ops III's folders, Black Ops 4's mod folder — with one installer that asks which of them to
    install.


    Credits

    • Xep — author
    • Treyarch — _zombiemode_weapons.gsc, _zombiemode_perks.gsc, _zombiemode_score.gsc: everything this stands on
    • plutoniummod/t5-scripts — stock T5 script reference


  • [Release] [T4] ZShare - Share with your friends!
    Xeptix Xeptix
    WAW Modding Releases & Resources

    ZShare T4

    Weapon sharing for World at War Zombies (Plutonium T4)

    by Xep

    Trade guns with a teammate, hand them points, give away a box hit you don't want, and pay
    for a teammate's perk, spin or Pack-a-Punch. All of it from the use button, with prompts
    that read like the game's own.

    • Look at a teammate and press use to trade weapons. Ammo goes with the gun, the
      rifle grenade underneath it included.
    • Crouch first and the same press gives them 1000 points instead.
    • Crouch and press use at the box while the weapon you paid for is up, and anyone can
      take it. The same at the Pack-a-Punch on Der Riese.
    • Crouch and press use at a perk machine, or at the box or the Pack-a-Punch while
      nobody is using it, and the next teammate to use it pays nothing.

    This is the World at War port of ZShare. Every port has
    the same settings, with the same names, defaults and meanings.


    Download & Source

    Latest Version Download:

    https://github.com/Xeptix/ZShareT4/releases/latest

    GitHub Source Code:

    https://github.com/Xeptix/ZShareT4


    Requirements

    Plutonium T4 (World at War), zombies. No other mods or dependencies.

    Only the host needs this file. Every part of ZShare runs on the host and reaches
    everyone else as ordinary server-to-client traffic — the prompts, the swap, the box, the
    machines, the points, the sounds. Players joining your game install nothing.

    Works on all four maps. Nacht der Untoten has no perk machines and no Pack-a-Punch, so
    there is nothing to pay for there beyond the box; the Pack-a-Punch is Der Riese's alone.


    Install

    Copy the Plutonium folder from the download into:

    %localappdata%
    

    It mirrors your existing %localappdata%\Plutonium exactly, so Windows will ask whether
    to merge — say yes. The only thing it replaces is an older zshare.gsc.

    That puts the file here:

    %localappdata%\Plutonium\storage\t4\raw\scripts\sp\zshare.gsc
    

    World at War zombies runs on the singleplayer script tree, which is why the folder is sp.

    Or run the installer

    The download has an installer folder, one for each system:

    installer\windows\install.bat
    installer/linux/install.sh
    

    Each one finds Plutonium's folder, shows you what it is about to copy, and asks once. On
    Linux, install.sh looks where Plutonium ends up under Wine or Proton — Steam's
    compatdata including a Steam Deck's, Heroic, Lutris, Bottles, plain ~/.wine, and the
    Flatpak version of each. install.bat -Yes and install.sh --yes copy without asking, -Uninstall / --uninstall
    removes what an install put there, and -Find / --find only shows what it detects. When it
    can't find your game, -To <folder> / --to <folder> points it there.

    On a Steam Deck, switch to Desktop Mode and double-click
    installer/linux/Install ZShare.desktop. KDE will not run a desktop entry until you
    allow it once: right-click it, Properties → Permissions → tick Is executable.

    It's optional. Dragging the Plutonium folder across yourself is identical.

    You don't need to restart the game to load a script — just end the current game and start
    a new one.


    Usage

    Every action is a prompt on screen, the same kind the game shows at a door or a wall buy.
    What a prompt says is what a press of use will do.

    Prompt When you see it What the press does
    Hold USE to trade weapons Looking at a teammate Offers them the weapon in your hands
    Hold USE to accept the trade Looking at a teammate who offered you a trade Swaps their offered weapon for the one you're holding
    Hold USE to cancel the trade Looking at the teammate you offered a trade to Withdraws the offer
    Hold USE to give 1000 points Crouched, looking at a teammate Gives them 1000 points
    Hold USE to thank them (100 points) Crouched, looking at someone who just did you a good turn Sends them 100 of your points
    Hold USE to share this weapon Crouched at the box or the Pack-a-Punch, with the weapon you paid for waiting Lets anyone take it
    Hold USE to buy this perk for a teammate [Cost: 2500] Crouched at a perk machine Pays for the next drink from it
    Hold USE to buy a spin for a teammate [Cost: 950] Crouched at the box while nobody is using it Pays for the next spin
    Hold USE to buy a Pack-a-Punch for a teammate [Cost: 5000] Crouched at the Pack-a-Punch while nobody is using it Pays for the next pack
    Hold USE to take back your payment Crouched at a machine you paid for Gives you your points back
    Hold USE for a free spin At a box a teammate paid for Spins it, and it costs you nothing
    Hold USE for a free perk At a perk machine a teammate paid for Drinks it, and it costs you nothing
    Hold USE for a free Pack-a-Punch At the Pack-a-Punch a teammate paid for Packs your weapon, and it costs you nothing

    Crouching is the whole modifier. Stand up and every prompt goes back to what it always was;
    crouch and it turns into giving. Nothing else changes about how you play.

    A few chat words, for when you've already walked away:

    Action Input
    Share the box hit or Pack-a-Punch you paid for type !share
    Thank whoever just did you a good turn Crouch, look at them, press use — or type !thank
    Send any amount of points type !tip 500, or !tip <name> 500

    Trading

    What you offer is the weapon in your hands when you press. Your teammate can see it
    there; nothing needs naming. What you get back is whatever they're holding when they
    accept — so they switch to the gun they want to give before pressing.

    An offer stays open for 10 seconds. It lapses on its own if you switch to your other
    weapon, if the two of you move more than twice the prompt range apart, or if either of
    you goes down. Pressing use on them again withdraws it. Offering to somebody else replaces
    it, and both of you are told either way.

    What travels with a gun: the clip, the reserve ammo, and the rifle grenade underneath
    it with its own ammo. It arrives as the same weapon that left.

    What can't be traded: grenades, the knife, the bouncing betty, the molotov and the
    monkey, and the syrette — each has its own slot and its own rules.

    Same gun twice. A trade that would leave someone holding a gun they already carry is
    refused. On Der Riese that covers the Pack-a-Punched version of it too.


    Sharing a box hit

    You pay, the weapon rises, and for twelve seconds it's yours to take. Crouch and press
    use
    at the box and it's everyone's: the box opens to the whole room, and whoever presses
    use takes it — you included, if nobody's quicker.

    Sharing at the Pack-a-Punch

    The same at Der Riese's machine. Crouch and press use while your upgraded weapon is
    waiting, and anyone can take it. Whoever does gets it exactly as the machine would have
    handed it to you.

    Giving points

    Crouch, look at a teammate, press use: 1000 points move from you to them, with the game's
    own points sound and score popup on both sides. Each press is one gift, a second apart, so
    three presses is 3000. You need the points to give them.


    Paying for a teammate

    Crouch at a perk machine, or at the box or the Pack-a-Punch while nobody is using it, and
    the prompt turns into an offer to pay for a teammate. Press use and you pay the machine's
    price. From then on the next teammate to walk up reads Hold USE for a free ..., and
    using it costs them nothing — a drink from a perk machine, a spin from the box, a pack
    from the Pack-a-Punch. Everybody hears about it, and whoever paid is told who used it.

    One payment waits at a machine at a time. While yours is waiting, crouch at the machine
    again and the prompt offers your points back. If you don't own that perk yourself, you can
    stand up and drink it too.

    Paying at the box and at the Pack-a-Punch is the other half of sharing there. Before
    anybody uses the machine, a crouched press pays for the next use; while your weapon is
    waiting in it, the same press gives the weapon away. The two never overlap, because the
    machine can't be used while it spins or upgrades.

    When What happens
    A paid spin turns up the teddy bear The game refunds whoever spun; ZShare moves those points to whoever paid
    The box moves The payment waits for the box wherever it lands
    The machine refuses the press Your teammate's points go straight back, and the payment is still waiting
    You're playing solo There's nobody to pay for, so the prompt never appears

    Stand up and every machine works exactly as it always has.

    The perk limit

    zs_perk_limit sets how many perks a player can hold. World at War has no limit of its
    own — every map with perks has exactly four machines — so 0, the default, and -1 both
    mean four. Any smaller number is a limit ZShare keeps itself: a player already holding
    that many is shown no machine, and no teammate can buy them another.


    Configuration

    Every setting is at the top of the file under zs_load_config(), and each one is also a
    dvar of the same name. The script creates each dvar with its default on load, so you can
    set them straight from the console:

    zs_points_amount 500
    

    The config is re-read every five seconds while the game runs, and again on every press,
    so a change takes effect almost straight away — no map restart needed. Anything
    already set in your config before the map loads is left alone.

    set zs_config_print 1 in the console prints every setting that isn't at its default to
    the host's screen, then puts the switch back so it can be used again.

    Dvar Default What it does
    zs_debug 0 Print what the script decides and why, to the first player's screen.
    zs_trade 1 Trade weapons with a teammate.
    zs_trade_offer_time 10 Seconds an offer stays open.
    zs_trade_upgraded 1 Pack-a-Punched weapons can be traded. Off, and the prompt says so when you try.
    zs_range 64 How close you have to be for the prompt to appear, in units. An offer lapses at twice this.
    zs_points 1 Crouch and press use on a teammate to give them points.
    zs_points_amount 1000 How many points one press gives.
    zs_points_cooldown 1 Seconds between gifts from one player.
    zs_thank 1 Thank whoever did you a good turn, and the !tip word.
    zs_thank_amount 100 What one thank sends. Comes out of your own points.
    zs_thank_time 30 How long a good turn stays thankable, in seconds.
    zs_box_share 1 Crouch and press use at the box to share the weapon you paid for.
    zs_pap_share 1 The same at the Pack-a-Punch.
    zs_perk_pay 1 Crouch and press use at a perk machine to pay for a teammate's drink. Off stops new payments; one already waiting still works and can still be taken back.
    zs_box_pay 1 The same at the box, for the next spin.
    zs_pap_pay 1 The same at the Pack-a-Punch, for the next pack.
    zs_perk_limit 0 How many perks a player can hold. 0 and -1 are the game's four machines; a smaller number is a limit ZShare keeps. See The perk limit.
    zs_show_hint 1 Tell players what the prompts do, once, shortly after they spawn.
    zs_messages 1 The one-line messages — who traded with whom, who shared or paid for what, who gave points. Off leaves the prompts and the sounds.
    zs_offer_sound powerup_grabbed Played to the player an offer is made to. none = silent.
    zs_trade_sound weapon_show Played to both players when a trade goes through. none = silent.
    zs_share_sound powerup_grabbed Played to everyone else when a weapon is shared or a machine is paid for. none = silent.
    zs_points_sound cha_ching Played when points are given, paid or handed back. none = silent.
    zs_deny_sound no_purchase Played when a press can't do what the prompt said — not enough points, a weapon that can't be traded. none = silent.

    Sounds

    All five are stock aliases, so the script stays a single drop-in file. A custom sound
    would have to be installed by every player rather than just the host, so ZShare uses
    the game's own audio instead.

    The defaults are what the game itself uses them for: cha_ching is the points sound behind
    every purchase, no_purchase its refusal, and powerup_grabbed the ping when a drop is
    taken. Other aliases worth trying, all played by the common zombies scripts and so present
    on every map:

    Alias What it is
    purchase A wall buy going through.
    box_poof The magic box vanishing.
    deny A machine's refusal.
    perks_power_on Power reaching the perk machines.

    Swap one in from the console, or silence one with none:

    zs_trade_sound box_poof
    

    How this port differs

    The same features with the same settings as every other port, allowing for what World at
    War gives a script:

    • The prompts name the button, not your key. Every other port writes the use key into
      the prompt and the game draws whichever key you've bound. This engine prints the token
      as written instead, so ZShare's prompts say USE.
    • No mod packaging. Plutonium's Mods menu is Black Ops II only, so this port has no mod
      copy and none of the two settings that choose between the copies.
    • Nacht der Untoten has no machines beyond the box, and the Pack-a-Punch is Der Riese's
      alone, so the paying prompts only appear where there is something to pay for.
    • The box is opened to the room rather than marked. Black Ops has a state that means
      "anyone may take this" and World at War has none, so a shared weapon is handed to
      whoever presses next by ZShare itself.
    • A paid use is a refund, not a discount. No machine here can be made free, so the
      player using it is given the price the moment they press and the machine charges them
      for it as usual. What they see is the same: it costs them nothing.
    • none silences a sound. An empty dvar can't be set from in game on this engine.

    How it works

    The prompts on players are radius triggers. This game has no use trigger a script can
    spawn, so each prompt is a trigger of the kind the revive prompt uses, linked to the
    teammate so it follows them, and shown to exactly one player. The press is read by
    watching the use button while you're inside it and looking at them — again, the way
    reviving works.

    A weapon changes hands piece by piece. World at War has no helper that reads a weapon
    whole and no name that ties a rifle grenade to the gun it hangs under, so ZShare reads the
    ammo of everything you carry, takes the gun, and sees what left with it. That is the
    launcher, and its ammo is put back on the other side.

    The box is watched rather than replaced. Stock keeps the buyer in a local variable, so
    ZShare follows each box itself: who pressed last before the weapon came up. Sharing hands
    the waiting weapon to the next player who presses, then closes the box's own loop exactly
    as its twelve-second timeout closes it.

    A machine's prompt is a second trigger. A machine carries one hint for everybody, so a
    payer and a taker standing at the same machine would read the same words. ZShare puts its
    own trigger beside each one, shown to a single player at a time, and steps the machine's
    own prompt aside for whoever is reading it.

    Perk machines decide who sees them in a small loop of their own, and ZShare replaces
    that loop with a copy: everything stock decided, plus stepping aside for a crouched payer
    and for anybody at the limit zs_perk_limit sets.

    Points go through the game's own score helpers, which draw the popups. A gift doesn't
    count as points you earned.

    Every prompt is one of a fixed handful of strings. Hint strings are configstrings, a
    pool that doesn't recycle, so a weapon name or a player name never goes on a prompt. Names
    go in the chat line, which isn't one.


    Notes

    • Prompts and other prompts. A teammate standing in front of a door or a machine shares
      the space with it; ZShare's prompt is shown only while you're looking at them, so step
      around them if you get the door.
    • Crouching over a downed teammate revives them. The pay prompt steps aside for a
      revive, the same way the machine's own prompt does.
    • Downed players have no prompt and can't accept one. Going down lapses an open offer
      in either direction.
    • The box's twelve seconds are the same shared or not: sharing doesn't extend them.
    • Shi No Numa's machines move when the huts open, and the pay prompt moves with them.
    • Custom maps get all of it, as long as they're built on the stock zombies scripts.

    Ports

    Game Repo
    Black Ops 4 (T8) ZShareT8
    Black Ops III (T7) ZShareT7
    Black Ops II (T6) ZShare
    Black Ops (T5) ZShareT5
    World at War (T4) ZShareT4 — you are here

    Versions are kept in step: the same version number means the same feature set, allowing
    for what each engine can actually do.

    All five in one download. The Treyarch
    Bundle
    carries every game ZShare runs
    on, laid out as each drops in — the Plutonium tree for this game and the other two, Black
    Ops III's folders, Black Ops 4's mod folder — with one installer that asks which of them to
    install.



  • [Release] [T5] [Zombies] ZPause T5 - a synced co-op pause mod by Xep
    Xeptix Xeptix
    BO1 Modding Releases & Resources

    ZPause T5 v1.5

    Chat commands, a settings menu while paused, settings that stay set — and two fixes that
    matter: anybody can unpause again, and Black Ops no longer stops at boot with ZPause
    installed.

    Download: https://github.com/Xeptix/ZPauseT5/releases/latest

    Fixed — read these first

    • Black Ops no longer stops at boot. v1.4 called two of the game's zombies functions in
      a way Black Ops has to resolve while it boots, before any zombies script is loaded, and a
      build carrying them stopped the game there. They're looked up once a match is running now.
    • Anybody can unpause, not only whoever paused. The crouch half of a combo reads the
      stance you're in, and freezing a player freezes their stance — so whoever paused stayed
      crouched and everybody else, frozen standing, could never make it. While paused, resume
      with use + aim
      (or !unpause). The pause banner says so.
    • use_ads and use_attack do what they say. Both are the default down combos, and
      neither name was ever tested for, so both fell through to crouch + melee — the one combo a
      downed player can't make.

    New — chat commands

    !pause, !p, !unpause, !resume, and yes / no while a vote is open — the same words
    as Black Ops II. This port shipped without them because nothing in the game's own scripts
    listens for chat; the game raises it anyway. zp_allow_short_words widens them to the bare
    words, off by default.

    New — a settings menu while paused

    The host holds fire + melee: aim and fire move through the list, grenade changes a
    setting, melee closes it, and what the setting does is written under the list. zp_menu 0
    turns it off.

    New — settings stick

    The menu saves to scriptdata\zpause.cfg as it closes, and the script reads it back as the
    next match loads. The installer's settings editor writes the same file and opens on it, so
    the menu and the installer always agree.

    Also

    • zp_freeze_players 0 lets players walk around a paused game with their weapons down.
      Not recommended — doors, the box and perks still work.
    • none empties a setting from the console, so set zp_pause_sound none is silence.
    • Changing zp_godmode during a pause no longer leaves players invulnerable after it.
    • The installer's -To works when it already remembers a folder.

    Install

    Unchanged. Run installer\windows\install.bat from the extracted folder, or copy the
    Plutonium folder into %localappdata% yourself. Your settings are carried over. No game
    restart needed — end the current match and start a new one. Only the host needs the file.

    Full dvar list and the how-it-works writeup are in the README:
    https://github.com/Xeptix/ZPauseT5


  • [Release] [T4] [Zombies] ZPause T4 - a synced co-op pause mod by Xep
    Xeptix Xeptix
    WAW Modding Releases & Resources

    ZPause T4 v1.5

    Chat commands, a settings menu while paused, settings that stay set — and a fix that
    matters: anybody can unpause again, not only whoever paused.

    Download: https://github.com/Xeptix/ZPauseT4/releases/latest

    Fixed — read these first

    • Anybody can unpause, not only whoever paused. The crouch half of a combo reads the
      stance you're in, and freezing a player freezes their stance — so whoever paused stayed
      crouched and everybody else, frozen standing, could never make it. While paused, resume
      with use + aim
      (or !unpause). The pause banner says so.
    • use_ads and use_attack do what they say. Both are the default down combos, and
      neither name was ever tested for, so both fell through to crouch + melee — the one combo a
      downed player can't make.

    New — chat commands

    !pause, !p, !unpause, !resume, and yes / no while a vote is open — the same words
    as Black Ops II. This port shipped without them because nothing in World at War's own
    scripts listens for chat; the game raises it anyway. zp_allow_short_words widens them to
    the bare words, off by default.

    New — a settings menu while paused

    The host holds fire + melee: aim and fire move through the list, grenade changes a
    setting, melee closes it, and what the setting does is written under the list. zp_menu 0
    turns it off.

    New — settings stick

    The menu saves to scriptdata\zpause.cfg as it closes, and the script reads it back as the
    next match loads. The installer's settings editor writes the same file and opens on it, so
    the menu and the installer always agree.

    Also

    • zp_freeze_players 0 lets players walk around a paused game with their weapons down.
      Not recommended — doors, the box and perks still work.
    • none empties a setting from the console, so set zp_pause_sound none is silence.
    • Changing zp_godmode during a pause no longer leaves players invulnerable after it.
    • The installer's -To works when it already remembers a folder.

    Install

    Unchanged. Run installer\windows\install.bat from the extracted folder, or copy the
    Plutonium folder into %localappdata% yourself. Your settings are carried over. No game
    restart needed — end the current match and start a new one. Only the host needs the file.

    Full dvar list and the how-it-works writeup are in the README:
    https://github.com/Xeptix/ZPauseT4


  • [Release] [T6] [Zombies] ZPause - a synced co-op pause mod by Xep
    Xeptix Xeptix
    BO2 Modding Releases & Resources

    ZPause v1.5

    Settings you can change without leaving the game, and that stay changed — plus a fix for
    zombies coming in through a window, and a countdown you can hear on every map.

    Download: https://github.com/Xeptix/ZPause/releases/latest

    One thing changes on its own

    The countdown tick is a different sound. It was zmb_tombstone_timer_count, which only
    TranZit's and Nuketown's sound files carry, so the countdown was silent on Die Rise, Mob of
    the Dead, Buried, Origins and in the Diner. It's fly_equipment_pickup_plr now — the
    equipment pick-up sound, which every map has. If you'd set your own, it's left alone.

    New — a settings menu in the pause

    While the game is paused, the host holds fire + melee: aim and fire move through the
    list, grenade changes a setting, melee closes it, and what the setting does is written under
    the list. zp_menu 0 turns it off.

    New — a settings menu in the lobby

    Pick zm_pause in the Mods menu and the zombies lobby gets a ZPAUSE SETTINGS button for
    the host — a page for each part of ZPause, what each setting does and its default, and a
    reset. It's kept in your player config, so it lasts until you change it back. The mod
    version carries it; the loose script can't, since Plutonium only loads menus from a mod.

    New — settings stick, wherever you change them

    The pause menu saves to scriptdata\zpause.cfg as it closes, and the script reads it back as
    the next match loads. The installer's settings editor writes the same file and opens on it,
    so a change made in the menu is what the editor shows and the other way round.

    Fixed

    • A zombie on its way in through a window carries on from where it was when the pause
      ends. It used to be put straight onto the window and into tearing the boards.
    • Changing zp_engine_freeze or zp_godmode during a pause no longer leaves the
      zombies frozen or the players invulnerable once it ends.
    • The installer puts the right copy in each place — the mod-folder copy had gone into
      the two script paths as well.
    • -To works when the installer already remembers a folder.

    Also new

    • zp_freeze_players 0 lets players walk around a paused game with their weapons down,
      locked again for the countdown. Not recommended — doors, the box and perks still work.
    • none empties a setting from the console, so set zp_pause_sound none is silence.
    • More sounds to pick from for pausing, the countdown and resuming.

    ZBundle — ZPause and ZShare together

    The Treyarch bundle now carries ZBundle: ZPause and
    ZShare as one mod, zm_zbundle, for playing both from
    the Mods menu. The installer asks whether you want it when you install Black Ops II.

    Install

    Unchanged. Run install.bat from the extracted folder, or copy the Plutonium folder into
    %localappdata% yourself. Your settings are carried over. No game restart needed — end the
    current match and start a new one. Only the host needs the file.

    Full dvar list and the how-it-works writeup are in the README:
    https://github.com/Xeptix/ZPause


  • [Release] [T6] [Zombies] ZPause - a synced co-op pause mod by Xep
    Xeptix Xeptix
    BO2 Modding Releases & Resources

    ZPause v1.4

    The biggest update so far — fourteen new settings, a settings editor so you never need the
    console, and ZPause now runs on all five Treyarch zombies games.

    Download: https://github.com/Xeptix/ZPause/releases/latest

    One thing changes on its own

    zp_blackout is on by default now, at the new zp_blackout_alpha of 0.2. It was off
    in v1.3, so this is the one thing you'll notice straight away: the screen dims slightly
    while paused. It's there to carry the pause text over a bright skybox.

    zp_blackout 0 puts it back, zp_blackout_alpha 1 gives the full blackout it used to be.
    zp_blur_amount went from 1.5 to 2 for the same reason. The installer mentions both
    when you update if you'd been leaving them alone.

    New — who decides

    All off by default, and they don't fight each other:

    • zp_host_only — only the host can pause or resume.
    • zp_host_approve — anyone can ask, the host answers yes or no. Pausing only, so
      nobody is stranded if the host walks away.
    • zp_ready_check — resuming waits for everyone to say they're back. Not a vote:
      nobody says no and it can't fail.
    • zp_max_pauses — a cap per match, for when that would otherwise become an argument.

    New — pausing without being asked

    • zp_pause_on_disconnect — pause when somebody drops, so whoever is left isn't
      overrun while they rejoin.
    • zp_round_pause — hold the pause until the round is over instead of freezing the
      game mid-horde.

    New — feel

    • zp_ease — time ramps down into the pause and back out instead of cutting to a stop.
      On by default; zp_ease 0 restores the hard cut.
    • zp_combo — ten combos to choose from, not just crouch + melee. The script already
      understood all ten; only one could be reached.
    • zp_hud — turn the pause block off entirely, for a recording or a server with its
      own overlay.

    New — a settings editor

    The installer sets every dvar for you now. It reads the list out of the script you've
    actually got installed, so it's always right for your version, and it offers a list rather
    than a blank prompt for anything that takes fixed values.

    It writes the values into the installed script — which is what makes them stick, since
    Plutonium regenerates its own player cfg — and also exports a portable zpause.cfg for a
    dedicated server. Keep several profiles and switch between them. Settings are re-applied
    after every update, so a new version never resets them.

    The installer has also grown into a manager: it lists what's installed and at which
    version, removes it again, fetches newer releases from GitHub, and has a doctor that checks
    the handful of things that actually go wrong. It asks before every network call. And it's
    one installer for all five games now — keep a copy on your PC and it can install any of
    them later.

    New — settings apply without a map restart

    The config is re-read every five seconds while you're playing, and again whenever a pause
    is requested. set zp_config_print 1 prints every setting with its current value.

    New — Black Ops III and Black Ops 4

    Both debut at v1.4, same version number and the same feature set allowing for what each
    engine can do:

    • Black Ops III — https://github.com/Xeptix/ZPauseT7
    • Black Ops 4 — https://github.com/Xeptix/ZPauseT8

    That's all five Treyarch zombies games now, and ZPause [Treyarch Bundle] carries all
    five — one download, one installer that knows every game. Each also has a download of its
    own.

    Install

    Unchanged. Run install.bat from the extracted folder, or copy the Plutonium folder into
    %localappdata% yourself. Your old zpause.gsc is replaced in place, so there's nothing to
    clean up first.

    No game restart needed — end the current match and start a new one. Only the host needs the
    file.

    Full dvar list and the how-it-works writeup are in the README:
    https://github.com/Xeptix/ZPause


  • [Release] [T5] [Zombies] ZPause T5 - a synced co-op pause mod by Xep
    Xeptix Xeptix
    BO1 Modding Releases & Resources

    ZPause T5 v1.4

    Eleven new settings, a settings editor so you never need the console, and two more games —
    ZPause now runs on all five Treyarch zombies titles.

    Download: https://github.com/Xeptix/ZPauseT5/releases/latest

    One thing changes on its own

    zp_blackout is on by default now, at the new zp_blackout_alpha of 0.2. It was off
    in v1.3, so this is the one thing you'll notice straight away: the screen dims slightly
    while paused. It's there to carry the pause text over a bright skybox.

    zp_blackout 0 puts it back, zp_blackout_alpha 1 gives the full blackout it used to be.
    zp_blur_amount went from 1.5 to 2 for the same reason. The installer mentions both
    when you update if you'd been leaving them alone.

    New — who decides

    All off by default, and they don't fight each other:

    • zp_host_only — only the host can pause or resume.
    • zp_host_approve — anyone can ask, the host answers yes or no. It runs on the same
      yes/no combo a vote uses, which is what lets it work on an engine with no chat.
    • zp_ready_check — resuming waits for everyone to say they're back. Not a vote:
      nobody says no and it can't fail.
    • zp_max_pauses — a cap per match.

    New — pausing without being asked

    • zp_pause_on_disconnect — pause when somebody drops, so whoever is left isn't
      overrun while they rejoin.
    • zp_round_pause — hold the pause until the round is over instead of freezing the
      game mid-horde.

    New — a settings editor

    The installer sets every dvar for you now. It reads the list out of the script you've
    actually got installed, so it's always right for your version, and offers a list rather
    than a blank prompt for anything that takes fixed values.

    It writes the values into the installed script — which is what makes them stick, since
    Plutonium regenerates its own player cfg — and also exports a portable zpause.cfg for a
    dedicated server. Keep several profiles and switch between them. Settings are re-applied
    after every update.

    The installer has also grown into a manager: what's installed and at which version,
    removal, GitHub fetch, and a doctor for the things that actually go wrong. It asks before
    every network call. And it's one installer for all five games now — keep a copy on your PC
    and it can install any of them later.

    New — settings apply without a map restart

    The config is re-read every five seconds while you're playing, and again whenever a pause
    is requested.

    This one matters more here than anywhere else: it's what finally lets zp_combo be
    changed by hand
    . Before, changing it needed a pause to take effect — and with no chat
    commands on this engine, the combo is the thing that asks for one.

    set zp_config_print 1 prints every setting with its current value.

    Also new

    • zp_hud — turn the pause block off entirely, for a recording or a server with its
      own overlay.
    • zp_ease and zp_ease_time — config parity with the other ports. No effect on
      this engine; the README says why.

    Fixed

    • A zombie paused on its way to a window now finishes the walk instead of tearing at
      the boards from wherever it was standing. The pause holds zombies by pinning their goal
      to the spot, and the game took that as "at the window"; on resume, any zombie still short
      of its spot is sent the rest of the way first.

    New — Black Ops III and Black Ops 4

    Both debut at v1.4, same version number and the same feature set allowing for what each
    engine can do:

    • Black Ops III — https://github.com/Xeptix/ZPauseT7
    • Black Ops 4 — https://github.com/Xeptix/ZPauseT8

    That's all five Treyarch zombies games now. Each has a download of its own, and
    ZPause [Treyarch Bundle] on the ZPause release page carries all five — one download,
    one installer that knows every game.

    Install

    Unchanged. Run installer\windows\install.bat from the extracted folder, or copy the
    Plutonium folder into %localappdata% yourself. Your old zpause.gsc is replaced in
    place, so there's nothing to clean up first.

    No game restart needed — end the current match and start a new one. Only the host needs the
    file.

    Full dvar list and the how-it-works writeup are in the README:
    https://github.com/Xeptix/ZPauseT5


  • [Release] [T4] [Zombies] ZPause T4 - a synced co-op pause mod by Xep
    Xeptix Xeptix
    WAW Modding Releases & Resources

    ZPause T4 v1.4

    Eleven new settings, a settings editor so you never need the console, and two more games —
    ZPause now runs on all five Treyarch zombies titles.

    Download: https://github.com/Xeptix/ZPauseT4/releases/latest

    One thing changes on its own

    zp_blackout is on by default now, at the new zp_blackout_alpha of 0.2. It was off
    in v1.3, so this is the one thing you'll notice straight away: the screen dims slightly
    while paused. It's there to carry the pause text over a bright skybox.

    zp_blackout 0 puts it back, zp_blackout_alpha 1 gives the full blackout it used to be.
    zp_blur_amount went from 1.5 to 2 for the same reason. The installer mentions both
    when you update if you'd been leaving them alone.

    New — who decides

    All off by default, and they don't fight each other:

    • zp_host_only — only the host can pause or resume.
    • zp_host_approve — anyone can ask, the host answers yes or no. It runs on the same
      yes/no combo a vote uses, which is what lets it work on an engine with no chat.
    • zp_ready_check — resuming waits for everyone to say they're back. Not a vote:
      nobody says no and it can't fail.
    • zp_max_pauses — a cap per match.

    New — pausing without being asked

    • zp_pause_on_disconnect — pause when somebody drops, so whoever is left isn't
      overrun while they rejoin.
    • zp_round_pause — hold the pause until the round is over instead of freezing the
      game mid-horde.

    New — a settings editor

    The installer sets every dvar for you now. It reads the list out of the script you've
    actually got installed, so it's always right for your version, and offers a list rather
    than a blank prompt for anything that takes fixed values — which matters here, since World
    at War has four combos where the other ports have seven or ten.

    It writes the values into the installed script — which is what makes them stick, since
    Plutonium regenerates its own player cfg — and also exports a portable zpause.cfg for a
    dedicated server. Keep several profiles and switch between them. Settings are re-applied
    after every update.

    The installer has also grown into a manager: what's installed and at which version,
    removal, GitHub fetch, and a doctor for the things that actually go wrong. It asks before
    every network call. And it's one installer for all five games now — keep a copy on your PC
    and it can install any of them later.

    New — settings apply without a map restart

    The config is re-read every five seconds while you're playing, and again whenever a pause
    is requested.

    This one matters more here than anywhere else: it's what finally lets zp_combo be
    changed by hand
    . Before, changing it needed a pause to take effect — and with no chat
    commands on this engine, the combo is the thing that asks for one.

    set zp_config_print 1 prints every setting with its current value.

    Also new

    • zp_hud — turn the pause block off entirely, for a recording or a server with its
      own overlay.
    • zp_ease and zp_ease_time — config parity with the other ports. No effect on
      this engine; the README says why.

    Fixed

    • A zombie paused at a window now carries on where it was. One still walking used to
      start tearing from wherever it stood; one already tearing came back, tore the boards
      around the one it had been holding, and climbed through with that one still up. On
      resume, a zombie short of its spot walks the rest of the way first, and every board is
      handed back.

    New — Black Ops III and Black Ops 4

    Both debut at v1.4, same version number and the same feature set allowing for what each
    engine can do:

    • Black Ops III — https://github.com/Xeptix/ZPauseT7
    • Black Ops 4 — https://github.com/Xeptix/ZPauseT8

    That's all five Treyarch zombies games now. Each has a download of its own, and
    ZPause [Treyarch Bundle] on the ZPause release page carries all five — one download,
    one installer that knows every game.

    Install

    Unchanged. Run installer\windows\install.bat from the extracted folder, or copy the
    Plutonium folder into %localappdata% yourself. Your old zpause.gsc is replaced in
    place, so there's nothing to clean up first.

    No game restart needed — end the current match and start a new one. Only the host needs the
    file.

    Full dvar list and the how-it-works writeup are in the README:
    https://github.com/Xeptix/ZPauseT4


  • [Release] [T6] [Zombies] ZPause - a synced co-op pause mod by Xep
    Xeptix Xeptix
    BO2 Modding Releases & Resources

    ZPause v1.3

    Packaging, not gameplay — v1.2 and v1.3 play identically, so there's no rush if you're
    already running it.

    Latest version is always live on GitHub: https://github.com/Xeptix/ZPause

    Download: https://github.com/Xeptix/ZPause/releases/latest

    New — drop-in install

    The download is a Plutonium folder now, laid out exactly like the one in
    %localappdata%. Copy it in, say yes to the merge, done. No more picking a path.

    Both script paths ship, so the "put it in both and only the one that exists gets read"
    step is gone — that's already done for you. The mod packaging comes along in the same
    tree at storage\t6\mods\zm_pause, and does nothing unless you pick zm_pause from
    the Mods menu, so having it sit there costs nothing.

    New — install.bat

    Optional. It copies that folder for you: lists what it's about to install, asks once, then
    copies. No deletes, no downloads, nothing else touched. Extract the zip first — running it
    from inside Windows' zip viewer won't work.

    Dragging the folder across yourself is identical, so skip it if you'd rather.

    New — ZPause is on three games now

    Black Ops and World at War ports are out, same version number and the same feature set
    allowing for what each engine can do:

    • Black Ops — https://github.com/Xeptix/ZPauseT5
    • World at War — https://github.com/Xeptix/ZPauseT4

    There's also ZPause [Treyarch Bundle] on the release page above — all three in one
    download, same drop-in layout.

    Neither older engine has a say callback for a script to bind to, so those two are
    button-only. No !pause over there; everything is on the combos.

    Also

    MIT licensed, and the license ships with the download. There's a build stamp in the script
    now too, but it only draws on development builds — a release carries an empty one.

    Install

    This one changes. The download is now a Plutonium folder that mirrors
    %localappdata%\Plutonium — copy it into %localappdata% and say yes to the merge, and
    everything lands where it belongs. install.bat in the zip will do it for you.

    Your old zpause.gsc gets replaced in place, so nothing to clean up first. If you'd
    rather keep doing it by hand, the file is in the same paths it always was.

    No game restart needed — end the current match and start a new one.

    Full dvar list and the how-it-works writeup are in the README:
    https://github.com/Xeptix/ZPause


  • [Release] [T5] [Zombies] ZPause T5 - a synced co-op pause mod by Xep
    Xeptix Xeptix
    BO1 Modding Releases & Resources

    ZPause T5

    Synced co-op pause for Black Ops Zombies (Plutonium T5)

    by Xep

    A port of ZPause, the Black Ops II pause mod, to Black
    Ops 1. Same design, same settings, same version numbering.

    Any player can pause. Any player can unpause. The state lives on level, so it's
    identical for everyone — there's no per-client state that can desync.

    • Zombies stop where they are, and stop spawning
    • Players are locked and can't be hurt
    • Powerup timers, effect countdowns and bleedout all hold
    • Resumes on a 3‑2‑1 countdown with a short grace period
    • Optional vote-to-pause, so a pause has to carry the room

    Requirements

    Plutonium T5 (Black Ops), zombies. No other mods or dependencies.

    Only the host needs this file. Everything runs on the host and reaches everyone else
    as ordinary server-to-client traffic — the freeze, the invulnerability, the HUD, the vote
    tally, the sounds. Players joining your game install nothing.

    Download & Source

    Latest Version Download:

    https://github.com/Xeptix/ZPauseT5/releases/latest

    GitHub Source Code:

    https://github.com/Xeptix/ZPauseT5

    All ports in one download:

    ZPause [Treyarch Bundle], on the ZPause release page:
    https://github.com/Xeptix/ZPause/releases/latest

    Install

    Copy the Plutonium folder from the download into:

    %localappdata%
    

    It mirrors your existing %localappdata%\Plutonium exactly, so Windows will ask whether to
    merge — say yes. The only thing it replaces is an older zpause.gsc.

    That puts the file here:

    %localappdata%\Plutonium\storage\t5\raw\scripts\sp\zpause.gsc
    

    sp, not zm — Black Ops 1 zombies runs on the singleplayer script tree. That's the
    same folder Plutonium's own zombies scripts live in.

    There's no mod-folder version of this one. Plutonium's mods folder and its in-game Mods
    menu are Black Ops II features; T5 has neither, so the script drop-in is the whole
    delivery.

    install.bat in the download does the same copy for you if you'd rather — it lists what
    it's about to install, asks once, then copies. Nothing is deleted or downloaded.

    You don't need to restart the game to reload a script — just end the current match and
    start a new one.

    Usage

    Action Input
    Pause / unpause hold crouch + melee together for ~0.3s
    Vote yes, while a vote is open the same combo
    Vote no, while a vote is open hold jump + melee

    Crouching or prone counts, by any binding — Black Ops 1 splits crouch across four
    separate binds and CHANGE STANCE goes prone when held, so the script reads your stance
    rather than a key.

    The combo keeps working while you're frozen: freezecontrols() blocks movement and weapon
    use, but button state still reaches the server. That's what lets a frozen player resume.

    There are no chat commands. Black Ops 1 has no say callback for a script to bind to,
    so unlike the Black Ops II version there's no !pause or !yes. Everything is on the
    combos, which is why the down-state combos below matter.

    While you're down

    You can't crouch from the floor, and once you've bled out the engine stops delivering
    those buttons at all. Downed and spectating players switch to use + aim, and
    use + fire for a no vote. The HUD shows a while down: line whenever anybody is in
    that state, so nobody has to remember it.

    Voting

    Off by default. zp_vote 1 and a pause has to carry the room instead of any one player
    stopping the game.

    Calling a vote is the same action as pausing. The vote runs 30 seconds and everyone gets a
    tally: the count, the clock, and every player with how they voted.

    The bar is whichever is higher, zp_vote_min or zp_vote_percent of the players in the
    game, then clamped to how many are actually present — so a lobby can't set a threshold
    nobody there can clear, and solo play skips the vote entirely.

    Configuration

    Every setting is at the top of the file, and each one is also a dvar of the same name:

    zp_countdown 5
    

    The config is re-read whenever a pause is requested, so a change takes effect on the
    next pause — no map restart needed.

    Dvar Default What it does
    zp_button_combo 1 Enable the button combos.
    zp_combo crouch_melee Pause combo: crouch_melee, jump_use, jump_melee, use_melee, ads_melee, ads_use, throw_use.
    zp_button_hold_time 0.3 How long a combo must be held.
    zp_combo_dead use_ads Combo used while downed or spectating. "" = no button in that state.
    zp_vote_no_combo_dead use_attack The same, for a no vote.
    zp_vote 0 Put pauses to a vote.
    zp_vote_min 2 Minimum yes votes, whatever the player count.
    zp_vote_percent 51 Percent of players who must vote yes.
    zp_vote_time 30 Seconds a vote stays open.
    zp_vote_unpause 0 Resuming needs a vote too.
    zp_vote_hold 0 Freeze the game while the vote runs, and resume if it fails.
    zp_vote_initiator_yes 1 Whoever called the vote counts as a yes.
    zp_vote_lockout 10 Seconds before another vote can be called after one fails.
    zp_vote_alive_only 1 Leave bled-out spectators out of the threshold and the count.
    zp_vote_hud 1 Show the vote tally on screen.
    zp_vote_show_voters 1 List each player and how they voted.
    zp_vote_result_time 2 Seconds the result stands on the tally afterwards.
    zp_vote_no_combo jump_melee Combo for a no vote.
    zp_countdown 3 Seconds of 3‑2‑1 before play resumes.
    zp_grace 2 Seconds of invulnerability after resuming.
    zp_cooldown 2 Minimum seconds between toggles.
    zp_max_pause_time 0 Auto-resume after N seconds. 0 = unlimited.
    zp_drift_guard 1 Snap back any AI that still manages to move.
    zp_stop_anims 1 Cut scripted animations, so zombies can't finish tearing a barrier through the pause.
    zp_godmode 1 Make players invulnerable while paused.
    zp_control_guard 1 Re-apply the player freeze every tick.
    zp_freeze_bleedout 1 Stop downed players bleeding out.
    zp_freeze_powerups 1 Stop ground powerups timing out.
    zp_freeze_effects 1 Hold the insta-kill, double points, fire sale, bonfire, tesla and minigun timers.
    zp_silence_zombies 1 Stop zombies growling while paused.
    zp_show_hint 1 Tell players how to pause when they spawn.
    zp_hud_timer 1 Show who paused and how long it's been.
    zp_hud_position center Where the pause banner sits: top, center, middle, bottom, left, right.
    zp_vote_hud_position top Where the vote tally sits.
    zp_hud_glow 1 Black glow behind the HUD text.
    zp_hud_binds 1 Draw combos as each player's bound buttons instead of words.
    zp_hud_panel 0 Black slab behind the whole block.
    zp_hud_panel_alpha 0.45 How opaque that slab is.
    zp_hud_panel_width 340 How wide it is, in HUD units.
    zp_blackout 0 Black out everyone's screen while paused (anti-scouting).
    zp_blur 1 Blur everyone's screen while paused.
    zp_blur_amount 1.5 Blur strength. 4 is the blur the game runs when you buy a perk.
    zp_pause_sound zmb_box_poof Played when the game is paused. "" = silent.
    zp_countdown_sound zmb_bolt Played on each countdown tick.
    zp_resume_sound zmb_perks_power_on Played when play resumes.

    How it works

    Black Ops II ships a working full-game pause — it's what runs during a host migration
    — and the original ZPause is built on that recipe. Black Ops 1 has no host migration in
    zombies and no disablezombies() builtin to go with it, so the engine-level AI freeze
    simply isn't available here.

    Everything else carries over, and the AI freeze is done in script instead:

    • flag_clear("spawn_zombies") is the flag the spawn loop actually blocks on, so
      spawning stops at the source.
    • The AI enforcer holds ignoreall, pins every goal to where the zombie is standing,
      and snaps back anything that drifts. On Black Ops II this is a safety net around the
      engine freeze; here it is the freeze.
    • zp_stop_anims cancels scripted animations, because a zombie tearing a barrier is
      driven by its animation rather than by pathing — goals and positions don't govern it.
      Everything cancelled is released again on resume.
    • The stuck-zombie watchdog. round_spawn_failsafe() kills any zombie that hasn't
      moved 24 units in 30 seconds, assuming it's stuck outside the playspace — and a paused
      zombie trips it every time. ZPause keeps the barrier-chunk timestamp fresh, which the
      watchdog honours, so it loops harmlessly instead of firing.
    • Ground powerups. powerup_timeout() is a plain wait() chain and can't be paused,
      so the thread is cut and restarted on resume.
    • Powerup effects. Every timed powerup keeps an _on flag and a _time countdown;
      pinning the countdowns holds all six on-screen timers at once.
    • Bleedout is pinned so a downed player doesn't bleed out.
    • Late joiners and respawns are frozen on spawn, and everything is torn down on
      end_game so nobody is left frozen at the scoreboard.

    The pause clock is in minutes

    zp_hud_timer reports in minutes — under a minute, 3 minutes, over an hour — rather
    than the live mm:ss the Black Ops II version shows.

    That's a hard constraint, not a shortcut. Black Ops 1 has no HUD timer element, so a clock
    has to be drawn as text, and every distinct string costs a configstring. A ticking second
    counter burns one a second until the pool runs dry and drops the server. Minutes bound the
    whole set to about sixty strings, all reused.

    Notes

    • Zombies stand still rather than freeze solid. Their animation is cancelled rather
      than frozen; a true animation freeze isn't reachable from server-side GSC.
    • Scripted rides keep running. Pause mid-ride and it finishes underneath the pause —
      zp_control_guard only stops it handing your controls back early.
    • Not held: the magic box close timer, teleporter cooldowns, trap durations and Easter
      egg step timers.

    Ports

    Same mod, same version numbering, on three engines:

    • Black Ops II — https://github.com/Xeptix/ZPause
    • Black Ops — https://github.com/Xeptix/ZPauseT5
    • World at War — https://github.com/Xeptix/ZPauseT4

    Credits

    • Xep — author
    • Treyarch — _zombiemode.gsc
    • plutoniummod/t5-scripts — stock T5 script reference

  • [Release] [T4] [Zombies] ZPause T4 - a synced co-op pause mod by Xep
    Xeptix Xeptix
    WAW Modding Releases & Resources

    ZPause T4

    Synced co-op pause for World at War Zombies (Plutonium T4)

    by Xep

    A port of ZPause, the Black Ops II pause mod, to World
    at War — by way of the Black Ops 1 port, which is far
    closer to this engine.

    Any player can pause. Any player can unpause. The state lives on level, so it's
    identical for everyone — there's no per-client state that can desync.

    • Zombies stop where they are, and the spawner slows to a crawl
    • Players are locked and can't be hurt
    • Powerup timers, effect countdowns and bleedout all hold
    • Resumes on a 3‑2‑1 countdown with a short grace period
    • Optional vote-to-pause, so a pause has to carry the room

    Requirements

    Plutonium T4 (World at War), zombies. No other mods or dependencies.

    Only the host needs this file. Everything runs on the host and reaches everyone else
    as ordinary server-to-client traffic. Players joining your game install nothing.

    Download & Source

    Latest Version Download:

    https://github.com/Xeptix/ZPauseT4/releases/latest

    GitHub Source Code:

    https://github.com/Xeptix/ZPauseT4

    All ports in one download:

    ZPause [Treyarch Bundle], on the ZPause release page:
    https://github.com/Xeptix/ZPause/releases/latest

    Install

    Copy the Plutonium folder from the download into:

    %localappdata%
    

    It mirrors your existing %localappdata%\Plutonium exactly, so Windows will ask whether to
    merge — say yes. The only thing it replaces is an older zpause.gsc.

    That puts the file here:

    %localappdata%\Plutonium\storage\t4\raw\scripts\sp\zpause.gsc
    

    sp, not zm — World at War zombies runs on the singleplayer script tree. That's the
    same folder Plutonium's own scripts live in.

    There's no mod-folder version. Plutonium's mods folder and its in-game Mods menu are
    Black Ops II features; T4 has neither.

    install.bat in the download does the same copy for you if you'd rather — it lists what
    it's about to install, asks once, then copies. Nothing is deleted or downloaded.

    You don't need to restart the game to reload a script — just end the current match and
    start a new one.

    Usage

    Action Input
    Pause / unpause hold crouch + melee together for ~0.3s
    Vote yes, while a vote is open the same combo
    Vote no, while a vote is open hold aim + melee

    Crouching or prone counts, by any binding — the script reads your stance rather than a
    key, so it doesn't matter which of the crouch binds you use.

    There are no chat commands. World at War has no say callback for a script to bind
    to, so everything is on the combos.

    Fewer combos than the other ports. World at War has no jumpbuttonpressed() or
    throwbuttonpressed() at all, so anything using jump or grenade is unavailable here.
    What's left: crouch_melee (default), use_melee, ads_melee, ads_use.

    While you're down

    You can't crouch from the floor, and once you've bled out the engine stops delivering
    those buttons at all. Downed and spectating players switch to use + aim, and
    use + fire for a no vote. The HUD shows a while down: line whenever anybody is in
    that state.

    Voting

    Off by default. zp_vote 1 and a pause has to carry the room instead of any one player
    stopping the game. Calling a vote is the same action as pausing; the vote runs 30 seconds
    and everyone gets a tally with the count, the clock and how each player voted.

    Configuration

    Every setting is at the top of the file, and each one is also a dvar of the same name:

    zp_countdown 5
    

    The config is re-read whenever a pause is requested, so a change takes effect on the
    next pause — no map restart needed.

    Dvar Default What it does
    zp_button_combo 1 Enable the button combos.
    zp_combo crouch_melee Pause combo: crouch_melee, use_melee, ads_melee, ads_use.
    zp_button_hold_time 0.3 How long a combo must be held.
    zp_combo_dead use_ads Combo used while downed or spectating. "" = no button in that state.
    zp_vote_no_combo_dead use_attack The same, for a no vote.
    zp_vote 0 Put pauses to a vote.
    zp_vote_min 2 Minimum yes votes, whatever the player count.
    zp_vote_percent 51 Percent of players who must vote yes.
    zp_vote_time 30 Seconds a vote stays open.
    zp_vote_unpause 0 Resuming needs a vote too.
    zp_vote_hold 0 Freeze the game while the vote runs, and resume if it fails.
    zp_vote_initiator_yes 1 Whoever called the vote counts as a yes.
    zp_vote_lockout 10 Seconds before another vote can be called after one fails.
    zp_vote_alive_only 1 Leave bled-out spectators out of the threshold and the count.
    zp_vote_hud 1 Show the vote tally on screen.
    zp_vote_show_voters 1 List each player and how they voted.
    zp_vote_result_time 2 Seconds the result stands on the tally afterwards.
    zp_vote_no_combo ads_melee Combo for a no vote.
    zp_countdown 3 Seconds of 3‑2‑1 before play resumes.
    zp_grace 2 Seconds of invulnerability after resuming.
    zp_cooldown 2 Minimum seconds between toggles.
    zp_max_pause_time 0 Auto-resume after N seconds. 0 = unlimited.
    zp_drift_guard 1 Snap back any AI that still manages to move.
    zp_spawn_delay 3 Seconds of spawn delay per live zombie while paused. 0 = don't touch the spawner.
    zp_spawn_delay_max 60 Cap on that delay.
    zp_stop_anims 1 Cut scripted animations, so zombies can't finish tearing a barrier through the pause.
    zp_godmode 1 Make players invulnerable while paused.
    zp_control_guard 1 Re-apply the player freeze every tick.
    zp_freeze_bleedout 1 Stop downed players bleeding out.
    zp_freeze_powerups 1 Stop ground powerups timing out.
    zp_freeze_effects 1 Hold the powerup effect timers.
    zp_silence_zombies 1 Stop zombies growling while paused.
    zp_show_hint 1 Tell players how to pause when they spawn.
    zp_hud_timer 1 Show who paused and how long it's been.
    zp_hud_position center Where the pause banner sits: top, center, middle, bottom, left, right.
    zp_vote_hud_position top Where the vote tally sits.
    zp_hud_glow 1 Black glow behind the HUD text.
    zp_hud_binds 1 Draw combos as each player's bound buttons instead of words.
    zp_hud_panel 0 Black slab behind the whole block.
    zp_hud_panel_alpha 0.45 How opaque that slab is.
    zp_hud_panel_width 340 How wide it is, in HUD units.
    zp_blackout 0 Black out everyone's screen while paused (anti-scouting).
    zp_blur 1 Blur everyone's screen while paused.
    zp_blur_amount 1.5 Blur strength.
    zp_pause_sound box_poof Played when the game is paused. "" = silent.
    zp_countdown_sound cha_ching Played on each countdown tick.
    zp_resume_sound perks_power_on Played when play resumes.

    How it works

    Black Ops II ships a working full-game pause — it's what runs during a host migration
    — and the original ZPause is built on that recipe. World at War has no host migration in
    zombies and no disablezombies() builtin, so the engine-level AI freeze isn't available.
    It's done in script instead:

    • The AI enforcer holds ignoreall, pins every goal to where the zombie is standing,
      and snaps back anything that drifts. On Black Ops II this is a safety net around the
      engine freeze; here it is the freeze.
    • zp_stop_anims cancels scripted animations, because a zombie tearing a barrier is
      driven by its animation rather than by pathing. Everything cancelled is released again
      on resume.
    • The spawner is slowed, not gated. See below.
    • The stuck-zombie watchdog. round_spawn_failsafe() kills any zombie that hasn't
      moved 24 units in 30 seconds, and a paused zombie trips it every time. ZPause keeps the
      barrier-chunk timestamp fresh, which the watchdog honours.
    • Ground powerups. powerup_timeout() is a plain wait() chain, so the thread is cut
      and restarted on resume.
    • Bleedout is pinned so a downed player doesn't bleed out.

    The spawner

    Black Ops 1 and II both close the spawn_zombies flag, which is what their spawn loop
    blocks on. World at War has no such flag, and round_spawning() copies the round's
    budget into a local before the loop starts, so that's out of reach too.

    This matters more than it sounds: level.zombie_total is the round's whole allocation and
    it decrements per spawn, so an ungated pause could drain an entire round into a frozen
    crowd at the windows and hand it all back at once on resume.

    The one live lever is the spawn delay, which the loop re-reads every pass. It can't stop
    spawning outright — a plain wait() can't be interrupted, so whatever delay is in flight
    when you resume has to run out first. So the delay scales with how many zombies are
    already up
    :

    Zombies up Delay while paused
    1 5s
    10 30s
    20 60s (capped)

    Few zombies about and it stays short — little is spawning anyway and the resume is prompt.
    A big horde already up and it stretches to a minute, which is exactly when nobody wants
    more of them and nobody notices the gap. zp_spawn_delay 0 leaves the spawner alone
    entirely.

    The pause clock is in minutes

    World at War has no HUD timer element, so a clock has to be drawn as text, and every
    distinct string costs a configstring. A ticking second counter burns one a second until
    the pool runs dry and drops the server. Minutes bound the whole set to about sixty
    strings, all reused.

    Notes

    • Zombies stand still rather than freeze solid. Their animation is cancelled rather
      than frozen; a true animation freeze isn't reachable from server-side GSC.
    • Not held: the magic box close timer, trap durations and Easter egg step timers.

    Ports

    Same mod, same version numbering, on three engines:

    • Black Ops II — https://github.com/Xeptix/ZPause
    • Black Ops — https://github.com/Xeptix/ZPauseT5
    • World at War — https://github.com/Xeptix/ZPauseT4

    Credits

    • Xep — author
    • Treyarch — _zombiemode.gsc
    • plutoniummod/t4-scripts — stock T4 script reference

  • [Release] [T6] [Zombies] ZPause - a synced co-op pause mod by Xep
    Xeptix Xeptix
    BO2 Modding Releases & Resources

    ZPause v1.2

    Big one. Latest version is always live on GitHub: https://github.com/Xeptix/ZPause

    Download: https://github.com/Xeptix/ZPause/releases/latest

    New — vote to pause

    Off by default. zp_vote 1 and a pause has to carry the room instead of any one
    player stopping the game.

    Calling a vote is the same action as pausing — !pause, or crouch + melee. The vote
    runs 30 seconds and everyone gets a tally on screen: the count, the clock, and every
    player with how they voted. Vote yes with the same input again or !yes; vote no with
    jump + melee or !no.

    The bar is whichever is higher, zp_vote_min or zp_vote_percent of the players in
    the game, then clamped to how many are actually present — so a lobby can't set a
    threshold nobody there can clear, and solo play skips the vote entirely. With the
    defaults that's 2 of 2, 2 of 3, 3 of 4.

    A vote ends the moment it's decided either way: enough yeses to pass, or enough noes
    that everyone left couldn't carry it. Disconnects take their vote with them. A failed
    vote locks out the next one briefly so it can't be spammed. The result holds on screen
    for a couple of seconds rather than vanishing into the chat feed.

    Resuming doesn't need a vote by default, so one AFK player can't strand everyone in a
    paused game — zp_vote_unpause 1 if you want both directions voted. zp_vote_hold 1
    freezes the game while the vote runs and puts it back if it fails.

    New — zombies shut up while paused

    A frozen horde standing next to you used to keep growling for the length of the pause.
    zp_silence_zombies is on by default and stops it at the source; normal noise comes
    straight back on resume.

    Fixed — button combos while down

    If you went down or bled out, the combos stopped working entirely. You can't crouch or
    melee from the floor, and once you're spectating the engine stops delivering those
    buttons to the server at all. Those states now fall back to zp_button_combo_dead
    (use + aim) and zp_vote_no_combo_dead (use + fire). Chat worked throughout and still
    does.

    zp_vote_alive_only, on by default, also keeps bled-out spectators out of the vote
    maths — otherwise two players with one dead is a threshold of two and only one person
    alive to answer it.

    Fixed — long sessions

    A long game could eventually die with exceeded maximum number of parent server script variables. Every HUD element the script built was leaving a slot behind when it was
    destroyed. Cleaned up, along with a smaller leak in the config handling.

    New — HUD

    • zp_hud_position and zp_vote_hud_position: top, center, middle, bottom,
      left or right. Left and right align their text to that edge. The pause banner
      stays exactly where it was; the vote tally sits at the top.
    • Button prompts show your actual binds. The HUD draws each combo as the buttons
      you personally have bound — a key on keyboard, a pad glyph on controller, and it
      follows rebound keys. Off with zp_hud_binds 0 for plain words.
    • The pause banner tells you who paused and how long it's been. With
      zp_max_pause_time set it counts down to the auto-resume instead.
    • Text has a black glow behind it so it stops washing out against bright skyboxes, and
      elements fade in rather than snapping. zp_hud_panel 1 adds a darkened slab behind
      the whole block if you want it heavier.

    48 settings in total, all documented in the README.

    Install

    Unchanged — overwrite your existing zpause.gsc:

    %localappdata%\Plutonium\storage\t6\scripts\zm\zpause.gsc, or on newer builds
    %localappdata%\Plutonium\storage\t6\raw\scripts\zm\zpause.gsc

    Mod version goes in mods\zm_pause\scripts\zm\. No game restart needed — end the
    current match and start a new one.

    Everything here runs on the host. Players joining your game install nothing and can
    pause, resume and vote exactly like you can, on a stock client.

    Full dvar list and the how-it-works writeup are in the README:
    https://github.com/Xeptix/ZPause


  • [Release] [T6] [Zombies] ZPause - a synced co-op pause mod by Xep
    Xeptix Xeptix
    BO2 Modding Releases & Resources

    ZPause v1.1

    Latest version is always live on GitHub: https://github.com/Xeptix/ZPause/releases

    Fixed — players unfreezing mid-pause

    On Ascension, pausing while you're in the lander let you walk around the paused
    game once the lander came down and opened. Map scripts that carry you somewhere
    lock your controls for the ride and release them when it ends, and that release
    lands in the middle of the pause. freezecontrols() can't be read back, so the
    fix re-asserts the freeze on a tick rather than testing it, and re-pins godmode
    along the way. New zp_control_guard, on by default. It covers any ride script
    that does this, not just the lander.

    New — screen blur

    zp_blur (on by default) blurs everyone's screen while paused, using the same
    post-process the game runs when you buy a perk. zp_blur_amount sets the
    strength — the perk buy uses 4, the default here is a light 1.5. It's the
    softer alternative to zp_blackout, which is still there and still off by
    default.

    New — pause and resume sounds

    Three sound dvars now instead of one:

    Dvar Default
    zp_pause_sound zmb_zombie_go_inert
    zp_countdown_sound zmb_tombstone_timer_count
    zp_resume_sound zmb_zombie_end_inert

    All stock aliases played by core zombies scripts, so they work on every map. A
    custom sound would have to ship as a fastfile and be installed by every player
    rather than just the host, so ZPause uses the game's own audio instead. The
    defaults are what the game uses them for: go_inert and end_inert are what a
    zombie plays dropping dormant and waking back up, and zmb_tombstone_timer_count
    is the once-a-second tick from the tombstone timer. Set any of them to "" for
    silence — zp_countdown_sound was silent by default before, so set it back if
    you preferred that. The README lists other aliases worth trying.

    Install

    Unchanged — overwrite your existing zpause.gsc:

    %localappdata%\Plutonium\storage\t6\scripts\zm\zpause.gsc, or on newer builds
    %localappdata%\Plutonium\storage\t6\raw\scripts\zm\zpause.gsc

    Mod version goes in mods\zm_pause\scripts\zm\. You don't need to restart the
    game — end the current match and start a new one.

    Full dvar list and the how-it-works writeup are in the README on GitHub:
    https://github.com/Xeptix/ZPause


  • [Release] [T6] [Zombies] ZPause - a synced co-op pause mod by Xep
    Xeptix Xeptix
    BO2 Modding Releases & Resources

    ZPause

    Synced co-op pause for Black Ops II Zombies (Plutonium T6)

    by Xep

    Any player can pause. Any player can unpause. The state lives on level, so it's
    identical for everyone — there's no per-client state that can desync.

    • Zombies stop where they are, and stop spawning
    • Players are locked and can't be hurt
    • The match clock, powerup timers, effect countdowns and bleedout all hold
    • Resumes on a 3‑2‑1 countdown with a short grace period

    Requirements

    Plutonium T6 (Black Ops II), zombies. No other mods or dependencies.


    Download & Source

    Latest Version Download:

    github dot com/Xeptix/ZPause/releases/tag/public/latest

    GitHub Source Code:

    github dot com/Xeptix/ZPause


    Install

    Two packagings of the same file are included. Plutonium only lets you enable one mod
    at a time, so the script version is usually the better choice — it coexists with whatever
    mod you're running.

    Script version (recommended)

    Drop zpause.gsc into your T6 storage scripts folder:

    %localappdata%\Plutonium\storage\t6\scripts\zm\zpause.gsc
    

    On newer Plutonium builds the path is under raw:

    %localappdata%\Plutonium\storage\t6\raw\scripts\zm\zpause.gsc
    

    If you aren't sure which your build uses, put it in both — only the one that exists will
    be read.

    Mod version

    Copy the zm_pause folder into your mods folder:

    %localappdata%\Plutonium\storage\t6\mods\zm_pause\scripts\zm\zpause.gsc
    

    Then pick zm_pause from the in-game Mods menu. The folder name must keep its zm_
    prefix or it won't show up in the zombies mod list.

    You don't need to restart the game to reload a script — just end the current game and
    start a new one.


    Usage

    Action Input
    Pause / unpause type !pause or !p in chat
    Unpause only type !unpause, !resume or !u
    Pause / unpause hold crouch + melee together for ~0.3s

    The button combo keeps working while you're frozen — freezecontrols() blocks movement
    and weapon use, but button state still reaches the server. That's what lets a frozen
    player resume without opening chat.

    Resuming runs a 3‑2‑1 countdown with everything still frozen, then releases the whole
    game at once and gives players 2 seconds of invulnerability so nobody eats a hit from a
    zombie that was mid‑swing.


    Configuration

    Every setting is at the top of the file under zp_load_config(), and each one is also a
    dvar of the same name. The script creates each dvar with its default on load, so you can
    set them straight from the console:

    zp_countdown 5
    

    The config is re-read at the start of every pause, so a change takes effect on the next
    pause
    — no map restart needed. Anything already set in your config.cfg before the map
    loads is left alone.

    Dvar Default What it does
    zp_allow_short_words 0 Also accept bare p / u / pause in chat. Off by default so normal conversation can't pause the game.
    zp_button_combo 1 Enable the crouch + melee combo.
    zp_button_hold_time 0.3 How long the combo must be held.
    zp_countdown 3 Seconds of 3‑2‑1 before play resumes.
    zp_grace 2 Seconds of invulnerability after resuming.
    zp_cooldown 2 Minimum seconds between toggles.
    zp_max_pause_time 0 Auto-resume after N seconds. 0 = unlimited.
    zp_engine_freeze 1 Use disablezombies() / enablezombies().
    zp_drift_guard 1 Snap back any AI that still manages to move.
    zp_freeze_anims 1 Put zombies in a standing idle pose instead of looping their last animation.
    zp_godmode 1 Make players invulnerable while paused.
    zp_freeze_clock 1 Hold the match timer.
    zp_freeze_powerups 1 Stop ground powerups timing out.
    zp_freeze_effects 1 Hold insta-kill / double-points countdowns.
    zp_freeze_bleedout 1 Stop downed players bleeding out.
    zp_blackout 0 Black out everyone's screen while paused (anti-scouting).
    zp_show_hint 1 Tell players how to pause when they spawn.
    zp_countdown_sound "" Sound alias to play on each countdown tick. Empty = silent.

    How it works

    Treyarch already shipped a working full-game pause in T6 zombies. It's what runs
    during a host migration. The stock script maps\mp\gametypes_zm\_hostmigration.gsc does
    exactly this:

    disablezombies( 1 );            // engine-level AI freeze
    flag_clear( "spawn_zombies" );  // the spawner's own gate
    player freezecontrols( 1 );     // lock players
    player enableinvulnerability(); // nobody can be hurt
    locktimer();                    // hold level.discardtime so the clock stops
    

    …and the exact inverse to resume. ZPause uses that recipe rather than inventing one, so
    the spawner, the round counter and the match clock are all stopped the way the game
    expects:

    • disablezombies() / enablezombies() are engine builtins — the same calls host
      migration uses.
    • flag_clear("spawn_zombies") is the flag _zm.gsc's spawn loop actually blocks on,
      so spawning stops at the source instead of being fought.
    • level.discardtime is subtracted from the match clock, so pushing it forward by the
      elapsed time holds the timer still.

    On top of that, ZPause covers what host migration never has to because it only lasts a few
    seconds:

    • An AI enforcer that re-freezes anything appearing mid-pause, keeps ignoreall
      pinned, and snaps back any AI that drifts. It's a safety net — if the engine freeze does
      its job it never fires, so there's no jitter.
    • The stuck-zombie watchdog. round_spawn_failsafe() kills any zombie that hasn't
      moved 24 units in 30 seconds (15 on Origins and Mob of the Dead), assuming it's stuck
      outside the playspace. A paused zombie trips it every time, and the "put it back in the
      spawn queue" compensation is skipped for anything with ignoreall set — so those
      zombies are gone for good, counted as killed, and the round advances while everyone's
      away. ZPause keeps the barrier-chunk timestamp fresh, which all three variants honour,
      so the watchdog loops harmlessly instead of firing and still works normally afterwards.
    • Ground powerups. powerup_timeout() is a plain wait() and can't be paused, so the
      thread is cut and restarted on resume.
    • Insta-kill / double points. Their HUD countdowns are held still. The 30s wait()
      driving the real effect keeps running underneath, so on resume a bounded thread holds
      the effect on until the frozen countdown genuinely runs out, then forces it off —
      without that, the effect would stick on for the rest of the game.
    • Bleedout is pinned so a downed player doesn't bleed out.
    • Late joiners and respawns are frozen on spawn, and everything is torn down on
      end_game so nobody is left frozen at the scoreboard.

    Why not timescale?

    timescale 0 looks like the perfect pause — it would freeze everything, timers included.
    But GSC wait runs on server time, so the unpause loop freezes with it and the game can
    never be resumed. The server also only runs a frame once enough scaled time accumulates,
    so snapshots stop going out and clients drop with Connection Interrupted. Slow motion
    (timescale 0.05) avoids the disconnects but isn't a pause.


    Notes

    • Round transitions. Pausing between rounds doesn't stop the next round from
      beginning — its delay is a plain wait(). No zombies spawn until you resume.
    • Ground powerups get a fresh timer on resume rather than their exact remaining time,
      so you'll never lose a Max Ammo to a pause.
    • Zombies stand idle rather than freeze solid. zp_freeze_anims puts them in the
      game's dormant-zombie pose so they don't run on the spot, but it's an idle animation
      rather than a hard freeze. A true animation freeze isn't reachable from server-side GSC,
      and the same applies to player animations.
    • Scripted boss sequences (Brutus spawn-ins, Panzers, ghosts, the Avogadro) are held
      in place, but a scripted move already underway can still finish.
    • Not held: magic box close timer, teleporter cooldowns, trap durations, and Easter
      egg step timers.

    Testing

    Tested in live co-op games, including on custom map ports.

    It's also compile-checked with gsc-tool 1.4.10 targeting t6/pc against the stock
    script tree, and round-tripped through compile → decompile. Every external function it
    calls exists in the stock T6 script corpus.


    Credits

    • Xep — author
    • Treyarch — _hostmigration.gsc, the pause recipe this is built on
    • plutoniummod/t6-scripts — stock T6 script reference
    • hima_simple — earliest BO2 zombies pause script
    • DED2SIN — Plutonium pause script building on it
    • MufaDOOM — BO2 co-op pause mod
    • Resxt — Plutonium T6 chat command conventions
  • 1 / 1
  • Login

  • Don't have an account? Register

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