<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[[Release] [T4] [Zombies] ZPause T4 - a synced co-op pause mod by Xep]]></title><description><![CDATA[<h1>ZPause T4</h1>
<p dir="auto">Synced co-op pause for World at War Zombies (Plutonium T4)</p>
<p dir="auto">by Xep</p>
<p dir="auto">A port of <a href="https://github.com/Xeptix/ZPause" target="_blank" rel="noopener noreferrer nofollow ugc">ZPause</a>, the Black Ops II pause mod, to World<br />
at War — by way of the <a href="https://github.com/Xeptix/ZPauseT5" target="_blank" rel="noopener noreferrer nofollow ugc">Black Ops 1 port</a>, which is far<br />
closer to this engine.</p>
<p dir="auto">Any player can pause. Any player can unpause. The state lives on <code>level</code>, so it's<br />
identical for everyone — there's no per-client state that can desync.</p>
<ul>
<li>Zombies stop where they are, and the spawner slows to a crawl</li>
<li>Players are locked and can't be hurt</li>
<li>Powerup timers, effect countdowns and bleedout all hold</li>
<li>Resumes on a 3‑2‑1 countdown with a short grace period</li>
<li>Optional vote-to-pause, so a pause has to carry the room</li>
</ul>
<h2>Requirements</h2>
<p dir="auto">Plutonium T4 (World at War), zombies. No other mods or dependencies.</p>
<p dir="auto"><strong>Only the host needs this file.</strong> Everything runs on the host and reaches everyone else<br />
as ordinary server-to-client traffic. Players joining your game install nothing.</p>
<h2>Download &amp; Source</h2>
<h5>Latest Version Download:</h5>
<p dir="auto"><a href="https://github.com/Xeptix/ZPauseT4/releases/latest" target="_blank" rel="noopener noreferrer nofollow ugc">https://github.com/Xeptix/ZPauseT4/releases/latest</a></p>
<h5>GitHub Source Code:</h5>
<p dir="auto"><a href="https://github.com/Xeptix/ZPauseT4" target="_blank" rel="noopener noreferrer nofollow ugc">https://github.com/Xeptix/ZPauseT4</a></p>
<h5>All ports in one download:</h5>
<p dir="auto">ZPause [Treyarch Bundle], on the ZPause release page:<br />
<a href="https://github.com/Xeptix/ZPause/releases/latest" target="_blank" rel="noopener noreferrer nofollow ugc">https://github.com/Xeptix/ZPause/releases/latest</a></p>
<h2>Install</h2>
<p dir="auto">Copy the <strong>Plutonium</strong> folder from the download into:</p>
<pre><code>%localappdata%
</code></pre>
<p dir="auto">It mirrors your existing <code>%localappdata%\Plutonium</code> exactly, so Windows will ask whether to<br />
merge — say yes. The only thing it replaces is an older <code>zpause.gsc</code>.</p>
<p dir="auto">That puts the file here:</p>
<pre><code>%localappdata%\Plutonium\storage\t4\raw\scripts\sp\zpause.gsc
</code></pre>
<p dir="auto"><strong><code>sp</code>, not <code>zm</code></strong> — World at War zombies runs on the singleplayer script tree. That's the<br />
same folder Plutonium's own scripts live in.</p>
<p dir="auto">There's no mod-folder version. Plutonium's <code>mods</code> folder and its in-game Mods menu are<br />
Black Ops II features; T4 has neither.</p>
<p dir="auto"><code>install.bat</code> in the download does the same copy for you if you'd rather — it lists what<br />
it's about to install, asks once, then copies. Nothing is deleted or downloaded.</p>
<p dir="auto">You don't need to restart the game to reload a script — just end the current match and<br />
start a new one.</p>
<h2>Usage</h2>
<table class="table table-bordered table-striped">
<thead>
<tr>
<th>Action</th>
<th>Input</th>
</tr>
</thead>
<tbody>
<tr>
<td>Pause / unpause</td>
<td>hold <strong>crouch + melee</strong> together for ~0.3s</td>
</tr>
<tr>
<td>Vote yes, while a vote is open</td>
<td>the same combo</td>
</tr>
<tr>
<td>Vote no, while a vote is open</td>
<td>hold <strong>aim + melee</strong></td>
</tr>
</tbody>
</table>
<p dir="auto">Crouching <em>or</em> prone counts, by any binding — the script reads your stance rather than a<br />
key, so it doesn't matter which of the crouch binds you use.</p>
<p dir="auto"><strong>There are no chat commands.</strong> World at War has no <code>say</code> callback for a script to bind<br />
to, so everything is on the combos.</p>
<p dir="auto"><strong>Fewer combos than the other ports.</strong> World at War has no <code>jumpbuttonpressed()</code> or<br />
<code>throwbuttonpressed()</code> at all, so anything using jump or grenade is unavailable here.<br />
What's left: <code>crouch_melee</code> (default), <code>use_melee</code>, <code>ads_melee</code>, <code>ads_use</code>.</p>
<h3>While you're down</h3>
<p dir="auto">You can't crouch from the floor, and once you've bled out the engine stops delivering<br />
those buttons at all. Downed and spectating players switch to <strong>use + aim</strong>, and<br />
<strong>use + fire</strong> for a no vote. The HUD shows a <code>while down:</code> line whenever anybody is in<br />
that state.</p>
<h2>Voting</h2>
<p dir="auto">Off by default. <code>zp_vote 1</code> and a pause has to carry the room instead of any one player<br />
stopping the game. Calling a vote is the same action as pausing; the vote runs 30 seconds<br />
and everyone gets a tally with the count, the clock and how each player voted.</p>
<h2>Configuration</h2>
<p dir="auto">Every setting is at the top of the file, and each one is also a dvar of the same name:</p>
<pre><code>zp_countdown 5
</code></pre>
<p dir="auto">The config is re-read whenever a pause is requested, so a change takes effect on the<br />
<strong>next pause</strong> — no map restart needed.</p>
<table class="table table-bordered table-striped">
<thead>
<tr>
<th>Dvar</th>
<th>Default</th>
<th>What it does</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>zp_button_combo</code></td>
<td><code>1</code></td>
<td>Enable the button combos.</td>
</tr>
<tr>
<td><code>zp_combo</code></td>
<td><code>crouch_melee</code></td>
<td>Pause combo: <code>crouch_melee</code>, <code>use_melee</code>, <code>ads_melee</code>, <code>ads_use</code>.</td>
</tr>
<tr>
<td><code>zp_button_hold_time</code></td>
<td><code>0.3</code></td>
<td>How long a combo must be held.</td>
</tr>
<tr>
<td><code>zp_combo_dead</code></td>
<td><code>use_ads</code></td>
<td>Combo used while downed or spectating. <code>""</code> = no button in that state.</td>
</tr>
<tr>
<td><code>zp_vote_no_combo_dead</code></td>
<td><code>use_attack</code></td>
<td>The same, for a no vote.</td>
</tr>
<tr>
<td><code>zp_vote</code></td>
<td><code>0</code></td>
<td>Put pauses to a vote.</td>
</tr>
<tr>
<td><code>zp_vote_min</code></td>
<td><code>2</code></td>
<td>Minimum yes votes, whatever the player count.</td>
</tr>
<tr>
<td><code>zp_vote_percent</code></td>
<td><code>51</code></td>
<td>Percent of players who must vote yes.</td>
</tr>
<tr>
<td><code>zp_vote_time</code></td>
<td><code>30</code></td>
<td>Seconds a vote stays open.</td>
</tr>
<tr>
<td><code>zp_vote_unpause</code></td>
<td><code>0</code></td>
<td>Resuming needs a vote too.</td>
</tr>
<tr>
<td><code>zp_vote_hold</code></td>
<td><code>0</code></td>
<td>Freeze the game while the vote runs, and resume if it fails.</td>
</tr>
<tr>
<td><code>zp_vote_initiator_yes</code></td>
<td><code>1</code></td>
<td>Whoever called the vote counts as a yes.</td>
</tr>
<tr>
<td><code>zp_vote_lockout</code></td>
<td><code>10</code></td>
<td>Seconds before another vote can be called after one fails.</td>
</tr>
<tr>
<td><code>zp_vote_alive_only</code></td>
<td><code>1</code></td>
<td>Leave bled-out spectators out of the threshold and the count.</td>
</tr>
<tr>
<td><code>zp_vote_hud</code></td>
<td><code>1</code></td>
<td>Show the vote tally on screen.</td>
</tr>
<tr>
<td><code>zp_vote_show_voters</code></td>
<td><code>1</code></td>
<td>List each player and how they voted.</td>
</tr>
<tr>
<td><code>zp_vote_result_time</code></td>
<td><code>2</code></td>
<td>Seconds the result stands on the tally afterwards.</td>
</tr>
<tr>
<td><code>zp_vote_no_combo</code></td>
<td><code>ads_melee</code></td>
<td>Combo for a no vote.</td>
</tr>
<tr>
<td><code>zp_countdown</code></td>
<td><code>3</code></td>
<td>Seconds of 3‑2‑1 before play resumes.</td>
</tr>
<tr>
<td><code>zp_grace</code></td>
<td><code>2</code></td>
<td>Seconds of invulnerability after resuming.</td>
</tr>
<tr>
<td><code>zp_cooldown</code></td>
<td><code>2</code></td>
<td>Minimum seconds between toggles.</td>
</tr>
<tr>
<td><code>zp_max_pause_time</code></td>
<td><code>0</code></td>
<td>Auto-resume after N seconds. <code>0</code> = unlimited.</td>
</tr>
<tr>
<td><code>zp_drift_guard</code></td>
<td><code>1</code></td>
<td>Snap back any AI that still manages to move.</td>
</tr>
<tr>
<td><code>zp_spawn_delay</code></td>
<td><code>3</code></td>
<td>Seconds of spawn delay per live zombie while paused. <code>0</code> = don't touch the spawner.</td>
</tr>
<tr>
<td><code>zp_spawn_delay_max</code></td>
<td><code>60</code></td>
<td>Cap on that delay.</td>
</tr>
<tr>
<td><code>zp_stop_anims</code></td>
<td><code>1</code></td>
<td>Cut scripted animations, so zombies can't finish tearing a barrier through the pause.</td>
</tr>
<tr>
<td><code>zp_godmode</code></td>
<td><code>1</code></td>
<td>Make players invulnerable while paused.</td>
</tr>
<tr>
<td><code>zp_control_guard</code></td>
<td><code>1</code></td>
<td>Re-apply the player freeze every tick.</td>
</tr>
<tr>
<td><code>zp_freeze_bleedout</code></td>
<td><code>1</code></td>
<td>Stop downed players bleeding out.</td>
</tr>
<tr>
<td><code>zp_freeze_powerups</code></td>
<td><code>1</code></td>
<td>Stop ground powerups timing out.</td>
</tr>
<tr>
<td><code>zp_freeze_effects</code></td>
<td><code>1</code></td>
<td>Hold the powerup effect timers.</td>
</tr>
<tr>
<td><code>zp_silence_zombies</code></td>
<td><code>1</code></td>
<td>Stop zombies growling while paused.</td>
</tr>
<tr>
<td><code>zp_show_hint</code></td>
<td><code>1</code></td>
<td>Tell players how to pause when they spawn.</td>
</tr>
<tr>
<td><code>zp_hud_timer</code></td>
<td><code>1</code></td>
<td>Show who paused and how long it's been.</td>
</tr>
<tr>
<td><code>zp_hud_position</code></td>
<td><code>center</code></td>
<td>Where the pause banner sits: <code>top</code>, <code>center</code>, <code>middle</code>, <code>bottom</code>, <code>left</code>, <code>right</code>.</td>
</tr>
<tr>
<td><code>zp_vote_hud_position</code></td>
<td><code>top</code></td>
<td>Where the vote tally sits.</td>
</tr>
<tr>
<td><code>zp_hud_glow</code></td>
<td><code>1</code></td>
<td>Black glow behind the HUD text.</td>
</tr>
<tr>
<td><code>zp_hud_binds</code></td>
<td><code>1</code></td>
<td>Draw combos as each player's bound buttons instead of words.</td>
</tr>
<tr>
<td><code>zp_hud_panel</code></td>
<td><code>0</code></td>
<td>Black slab behind the whole block.</td>
</tr>
<tr>
<td><code>zp_hud_panel_alpha</code></td>
<td><code>0.45</code></td>
<td>How opaque that slab is.</td>
</tr>
<tr>
<td><code>zp_hud_panel_width</code></td>
<td><code>340</code></td>
<td>How wide it is, in HUD units.</td>
</tr>
<tr>
<td><code>zp_blackout</code></td>
<td><code>0</code></td>
<td>Black out everyone's screen while paused (anti-scouting).</td>
</tr>
<tr>
<td><code>zp_blur</code></td>
<td><code>1</code></td>
<td>Blur everyone's screen while paused.</td>
</tr>
<tr>
<td><code>zp_blur_amount</code></td>
<td><code>1.5</code></td>
<td>Blur strength.</td>
</tr>
<tr>
<td><code>zp_pause_sound</code></td>
<td><code>box_poof</code></td>
<td>Played when the game is paused. <code>""</code> = silent.</td>
</tr>
<tr>
<td><code>zp_countdown_sound</code></td>
<td><code>cha_ching</code></td>
<td>Played on each countdown tick.</td>
</tr>
<tr>
<td><code>zp_resume_sound</code></td>
<td><code>perks_power_on</code></td>
<td>Played when play resumes.</td>
</tr>
</tbody>
</table>
<h2>How it works</h2>
<p dir="auto"><strong>Black Ops II ships a working full-game pause</strong> — it's what runs during a host migration<br />
— and the original ZPause is built on that recipe. World at War has no host migration in<br />
zombies and no <code>disablezombies()</code> builtin, so the engine-level AI freeze isn't available.<br />
It's done in script instead:</p>
<ul>
<li><strong>The AI enforcer</strong> holds <code>ignoreall</code>, pins every goal to where the zombie is standing,<br />
and snaps back anything that drifts. On Black Ops II this is a safety net around the<br />
engine freeze; here it <em>is</em> the freeze.</li>
<li><strong><code>zp_stop_anims</code></strong> cancels scripted animations, because a zombie tearing a barrier is<br />
driven by its animation rather than by pathing. Everything cancelled is released again<br />
on resume.</li>
<li><strong>The spawner is slowed, not gated.</strong> See below.</li>
<li><strong>The stuck-zombie watchdog.</strong> <code>round_spawn_failsafe()</code> kills any zombie that hasn't<br />
moved 24 units in 30 seconds, and a paused zombie trips it every time. ZPause keeps the<br />
barrier-chunk timestamp fresh, which the watchdog honours.</li>
<li><strong>Ground powerups.</strong> <code>powerup_timeout()</code> is a plain <code>wait()</code> chain, so the thread is cut<br />
and restarted on resume.</li>
<li><strong>Bleedout</strong> is pinned so a downed player doesn't bleed out.</li>
</ul>
<h3>The spawner</h3>
<p dir="auto">Black Ops 1 and II both close the <code>spawn_zombies</code> flag, which is what their spawn loop<br />
blocks on. <strong>World at War has no such flag</strong>, and <code>round_spawning()</code> copies the round's<br />
budget into a <em>local</em> before the loop starts, so that's out of reach too.</p>
<p dir="auto">This matters more than it sounds: <code>level.zombie_total</code> is the round's whole allocation and<br />
it decrements per spawn, so an ungated pause could drain an entire round into a frozen<br />
crowd at the windows and hand it all back at once on resume.</p>
<p dir="auto">The one live lever is the spawn delay, which the loop re-reads every pass. It can't stop<br />
spawning outright — a plain <code>wait()</code> can't be interrupted, so whatever delay is in flight<br />
when you resume has to run out first. So the delay <strong>scales with how many zombies are<br />
already up</strong>:</p>
<table class="table table-bordered table-striped">
<thead>
<tr>
<th>Zombies up</th>
<th>Delay while paused</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>5s</td>
</tr>
<tr>
<td>10</td>
<td>30s</td>
</tr>
<tr>
<td>20</td>
<td>60s (capped)</td>
</tr>
</tbody>
</table>
<p dir="auto">Few zombies about and it stays short — little is spawning anyway and the resume is prompt.<br />
A big horde already up and it stretches to a minute, which is exactly when nobody wants<br />
more of them and nobody notices the gap. <code>zp_spawn_delay 0</code> leaves the spawner alone<br />
entirely.</p>
<h3>The pause clock is in minutes</h3>
<p dir="auto">World at War has no HUD timer element, so a clock has to be drawn as text, and every<br />
distinct string costs a configstring. A ticking second counter burns one a second until<br />
the pool runs dry and drops the server. Minutes bound the whole set to about sixty<br />
strings, all reused.</p>
<h2>Notes</h2>
<ul>
<li><strong>Zombies stand still rather than freeze solid.</strong> Their animation is cancelled rather<br />
than frozen; a true animation freeze isn't reachable from server-side GSC.</li>
<li><strong>Not held:</strong> the magic box close timer, trap durations and Easter egg step timers.</li>
</ul>
<h2>Ports</h2>
<p dir="auto">Same mod, same version numbering, on three engines:</p>
<ul>
<li><strong>Black Ops II</strong> — <a href="https://github.com/Xeptix/ZPause" target="_blank" rel="noopener noreferrer nofollow ugc">https://github.com/Xeptix/ZPause</a></li>
<li><strong>Black Ops</strong> — <a href="https://github.com/Xeptix/ZPauseT5" target="_blank" rel="noopener noreferrer nofollow ugc">https://github.com/Xeptix/ZPauseT5</a></li>
<li><strong>World at War</strong> — <a href="https://github.com/Xeptix/ZPauseT4" target="_blank" rel="noopener noreferrer nofollow ugc">https://github.com/Xeptix/ZPauseT4</a></li>
</ul>
<h2>Credits</h2>
<ul>
<li><strong>Xep</strong> — author</li>
<li><strong>Treyarch</strong> — <code>_zombiemode.gsc</code></li>
<li><strong>plutoniummod/t4-scripts</strong> — stock T4 script reference</li>
</ul>
]]></description><link>https://forum.plutonium.pw/topic/46486/release-t4-zombies-zpause-t4-a-synced-co-op-pause-mod-by-xep</link><generator>RSS for Node</generator><lastBuildDate>Sun, 25 Oct 2026 03:15:42 GMT</lastBuildDate><atom:link href="https://forum.plutonium.pw/topic/46486.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 09 Sep 2026 00:07:42 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to [Release] [T4] [Zombies] ZPause T4 - a synced co-op pause mod by Xep on Wed, 16 Sep 2026 22:42:31 GMT]]></title><description><![CDATA[<h2>ZPause T4 v1.5</h2>
<p dir="auto">Chat commands, a settings menu while paused, settings that stay set — and a fix that<br />
matters: anybody can unpause again, not only whoever paused.</p>
<p dir="auto">Download: <a href="https://github.com/Xeptix/ZPauseT4/releases/latest" target="_blank" rel="noopener noreferrer nofollow ugc">https://github.com/Xeptix/ZPauseT4/releases/latest</a></p>
<h3>Fixed — read these first</h3>
<ul>
<li><strong>Anybody can unpause, not only whoever paused.</strong> The crouch half of a combo reads the<br />
stance you're in, and freezing a player freezes their stance — so whoever paused stayed<br />
crouched and everybody else, frozen standing, could never make it. <strong>While paused, resume<br />
with use + aim</strong> (or <code>!unpause</code>). The pause banner says so.</li>
<li><strong><code>use_ads</code> and <code>use_attack</code> do what they say.</strong> Both are the default down combos, and<br />
neither name was ever tested for, so both fell through to crouch + melee — the one combo a<br />
downed player can't make.</li>
</ul>
<h3>New — chat commands</h3>
<p dir="auto"><code>!pause</code>, <code>!p</code>, <code>!unpause</code>, <code>!resume</code>, and <code>yes</code> / <code>no</code> while a vote is open — the same words<br />
as Black Ops II. This port shipped without them because nothing in World at War's own<br />
scripts listens for chat; the game raises it anyway. <code>zp_allow_short_words</code> widens them to<br />
the bare words, off by default.</p>
<h3>New — a settings menu while paused</h3>
<p dir="auto">The host holds <strong>fire + melee</strong>: aim and fire move through the list, grenade changes a<br />
setting, melee closes it, and what the setting does is written under the list. <code>zp_menu 0</code><br />
turns it off.</p>
<h3>New — settings stick</h3>
<p dir="auto">The menu saves to <code>scriptdata\zpause.cfg</code> as it closes, and the script reads it back as the<br />
next match loads. The installer's settings editor writes the same file and opens on it, so<br />
the menu and the installer always agree.</p>
<h3>Also</h3>
<ul>
<li><strong><code>zp_freeze_players 0</code></strong> lets players walk around a paused game with their weapons down.<br />
Not recommended — doors, the box and perks still work.</li>
<li><strong><code>none</code> empties a setting</strong> from the console, so <code>set zp_pause_sound none</code> is silence.</li>
<li><strong>Changing <code>zp_godmode</code> during a pause</strong> no longer leaves players invulnerable after it.</li>
<li><strong>The installer's <code>-To</code></strong> works when it already remembers a folder.</li>
</ul>
<h3>Install</h3>
<p dir="auto">Unchanged. Run <code>installer\windows\install.bat</code> from the extracted folder, or copy the<br />
<code>Plutonium</code> folder into <code>%localappdata%</code> yourself. Your settings are carried over. No game<br />
restart needed — end the current match and start a new one. Only the host needs the file.</p>
<p dir="auto">Full dvar list and the how-it-works writeup are in the README:<br />
<a href="https://github.com/Xeptix/ZPauseT4" target="_blank" rel="noopener noreferrer nofollow ugc">https://github.com/Xeptix/ZPauseT4</a></p>
]]></description><link>https://forum.plutonium.pw/post/179094</link><guid isPermaLink="true">https://forum.plutonium.pw/post/179094</guid><dc:creator><![CDATA[Xeptix]]></dc:creator><pubDate>Wed, 16 Sep 2026 22:42:31 GMT</pubDate></item><item><title><![CDATA[Reply to [Release] [T4] [Zombies] ZPause T4 - a synced co-op pause mod by Xep on Sun, 13 Sep 2026 04:51:03 GMT]]></title><description><![CDATA[<h2>ZPause T4 v1.4</h2>
<p dir="auto">Eleven new settings, a settings editor so you never need the console, and two more games —<br />
ZPause now runs on all five Treyarch zombies titles.</p>
<p dir="auto">Download: <a href="https://github.com/Xeptix/ZPauseT4/releases/latest" target="_blank" rel="noopener noreferrer nofollow ugc">https://github.com/Xeptix/ZPauseT4/releases/latest</a></p>
<h3>One thing changes on its own</h3>
<p dir="auto"><strong><code>zp_blackout</code> is on by default now</strong>, at the new <code>zp_blackout_alpha</code> of <code>0.2</code>. It was off<br />
in v1.3, so this is the one thing you'll notice straight away: the screen dims slightly<br />
while paused. It's there to carry the pause text over a bright skybox.</p>
<p dir="auto"><code>zp_blackout 0</code> puts it back, <code>zp_blackout_alpha 1</code> gives the full blackout it used to be.<br />
<code>zp_blur_amount</code> went from <code>1.5</code> to <code>2</code> for the same reason. The installer mentions both<br />
when you update if you'd been leaving them alone.</p>
<h3>New — who decides</h3>
<p dir="auto">All off by default, and they don't fight each other:</p>
<ul>
<li><strong><code>zp_host_only</code></strong> — only the host can pause or resume.</li>
<li><strong><code>zp_host_approve</code></strong> — anyone can ask, the host answers yes or no. It runs on the same<br />
yes/no combo a vote uses, which is what lets it work on an engine with no chat.</li>
<li><strong><code>zp_ready_check</code></strong> — resuming waits for everyone to say they're back. Not a vote:<br />
nobody says no and it can't fail.</li>
<li><strong><code>zp_max_pauses</code></strong> — a cap per match.</li>
</ul>
<h3>New — pausing without being asked</h3>
<ul>
<li><strong><code>zp_pause_on_disconnect</code></strong> — pause when somebody drops, so whoever is left isn't<br />
overrun while they rejoin.</li>
<li><strong><code>zp_round_pause</code></strong> — hold the pause until the round is over instead of freezing the<br />
game mid-horde.</li>
</ul>
<h3>New — a settings editor</h3>
<p dir="auto">The installer sets every dvar for you now. It reads the list out of the script you've<br />
actually got installed, so it's always right for your version, and offers a list rather<br />
than a blank prompt for anything that takes fixed values — which matters here, since World<br />
at War has four combos where the other ports have seven or ten.</p>
<p dir="auto">It writes the values into the installed script — which is what makes them stick, since<br />
Plutonium regenerates its own player cfg — and also exports a portable <code>zpause.cfg</code> for a<br />
dedicated server. Keep several profiles and switch between them. Settings are re-applied<br />
after every update.</p>
<p dir="auto">The installer has also grown into a manager: what's installed and at which version,<br />
removal, GitHub fetch, and a doctor for the things that actually go wrong. It asks before<br />
every network call. And it's one installer for all five games now — keep a copy on your PC<br />
and it can install any of them later.</p>
<h3>New — settings apply without a map restart</h3>
<p dir="auto">The config is re-read every five seconds while you're playing, and again whenever a pause<br />
is requested.</p>
<p dir="auto">This one matters more here than anywhere else: it's what finally lets <strong><code>zp_combo</code> be<br />
changed by hand</strong>. Before, changing it needed a pause to take effect — and with no chat<br />
commands on this engine, the combo is the thing that asks for one.</p>
<p dir="auto"><code>set zp_config_print 1</code> prints every setting with its current value.</p>
<h3>Also new</h3>
<ul>
<li><strong><code>zp_hud</code></strong> — turn the pause block off entirely, for a recording or a server with its<br />
own overlay.</li>
<li><strong><code>zp_ease</code></strong> and <strong><code>zp_ease_time</code></strong> — config parity with the other ports. No effect on<br />
this engine; the README says why.</li>
</ul>
<h3>Fixed</h3>
<ul>
<li><strong>A zombie paused at a window now carries on where it was.</strong> One still walking used to<br />
start tearing from wherever it stood; one already tearing came back, tore the boards<br />
around the one it had been holding, and climbed through with that one still up. On<br />
resume, a zombie short of its spot walks the rest of the way first, and every board is<br />
handed back.</li>
</ul>
<h3>New — Black Ops III and Black Ops 4</h3>
<p dir="auto">Both debut at v1.4, same version number and the same feature set allowing for what each<br />
engine can do:</p>
<ul>
<li><strong>Black Ops III</strong> — <a href="https://github.com/Xeptix/ZPauseT7" target="_blank" rel="noopener noreferrer nofollow ugc">https://github.com/Xeptix/ZPauseT7</a></li>
<li><strong>Black Ops 4</strong> — <a href="https://github.com/Xeptix/ZPauseT8" target="_blank" rel="noopener noreferrer nofollow ugc">https://github.com/Xeptix/ZPauseT8</a></li>
</ul>
<p dir="auto">That's all five Treyarch zombies games now. Each has a download of its own, and<br />
<strong>ZPause [Treyarch Bundle]</strong> on the ZPause release page carries all five — one download,<br />
one installer that knows every game.</p>
<h3>Install</h3>
<p dir="auto">Unchanged. Run <code>installer\windows\install.bat</code> from the extracted folder, or copy the<br />
<code>Plutonium</code> folder into <code>%localappdata%</code> yourself. Your old <code>zpause.gsc</code> is replaced in<br />
place, so there's nothing to clean up first.</p>
<p dir="auto">No game restart needed — end the current match and start a new one. Only the host needs the<br />
file.</p>
<p dir="auto">Full dvar list and the how-it-works writeup are in the README:<br />
<a href="https://github.com/Xeptix/ZPauseT4" target="_blank" rel="noopener noreferrer nofollow ugc">https://github.com/Xeptix/ZPauseT4</a></p>
]]></description><link>https://forum.plutonium.pw/post/178940</link><guid isPermaLink="true">https://forum.plutonium.pw/post/178940</guid><dc:creator><![CDATA[Xeptix]]></dc:creator><pubDate>Sun, 13 Sep 2026 04:51:03 GMT</pubDate></item></channel></rss>