L4D(2) Ready Up Modification 0.17.3
Updated to support L4D2
At the beginning of each map, the game enters a "ready up" mode. In Scavenge (before the first round), players are in 'warm up' and can run around with god mode and rapid respawns. In Versus (or later Scavenge rounds), all survivors are frozen while infected spawning is disabled. All players are required to ready up, at which point a countdown will begin and the game goes live.
(The following commands are all in chat)
During the ready-up period:
- !ready - change player status to "readied up" (when all 8 players are ready the round will start)
- !unready - change player status to "not ready" (if going AFK or want to abort live countdown)
(Admin-only commands, sm_map privileges required)
- !forcestart - force starts the match even if not all players are ready
- !abort - aborts an impending live countdown (i.e. if the match was forcefully started)
Commands after the ready-up period:
- !reready - ask for a ready-up period at the end of the first half (usually the second half will be live right away)
- !pause - use your team's pause and instantly pause the game up to a default of 90 seconds
- !unpause - unpause the game if your team paused it, or if the opposite team's 90 seconds expired
Commands at any time:
- !spectate - switch to the spectator team
(Admin-only commands, sm_map privileges required)
- !swap <player1> <player2> - player1 to player2's team and player2 to player1's team
- !swapteams - swaps all survivors to infected, all infected to survivors
- !restartround - manually restarts a round one-time, do this twice so the teams are swapped back to normal (does not swap score! only swaps teams!)
- !restartmap - rcon changelevels to the current map (and resets the team scores to 0)
- l4d_ready_version - the version of the ready-up plugin, the higher the # the better
- l4d_ready_enabled - 1 (default) = enable readying-up, 0 (default) = disable readying-up
- l4d_ready_both_halves - 1 = ready up before both halves, 0 (default) = ready up only before the first half
- l4d_ready_minimum_players = number of players that need to be in the server before the match can go live (default: 8)
- l4d_ready_server_cfg = specify the cfg to execute after the map changes, used to overwrite server.cfg for competitive configs (default: "")
- l4d_ready_search_key_disable - 1 (default) = Automatically disable plugin if sv_search_key is blank, 0 = ignore value of sv_search_key
- l4d_ready_competition - 0 (default) = all plugins are loaded, 1 = disable all plugins but the competition ones
- l4d_ready_pause_allowed - (default 3) allows each time to pause that many times per map, 0 = disable pausing
- l4d_ready_pause_duration - (default 90) the minimum required time of the pause, before either team can unpause
- l4d_ready_cfg_name - allows cfg creators to display an indication of what config and version the server is running
- l4d_ready_connect_enabled - (default 1) enable/disable connect announcements (useful during pauses)
- 1. Upgrade to SourceMod 1.3.0 snapshot.
- 2. Install latest Left 4 Downtown extension from here.
- 3. Add sv_search_key "mysearchkey" to server.cfg
- 4. Place l4dready.smx into addons/sourcemod/plugins
- hg clone http://bitbucket.org/downtown1/plugins/
- Want to stay on the bleeding edge? Feel free to look at our latest sources at the repository listed above. We try to commit changes that won't crash, but we can't guarantee they'll work!
- left4downtown.inc (available with the source of the left4downtown extension) is required to build this.
This is plugin is used by the following competitive leagues: CEVO, Alienware, NewEgg, ESL, TWL, L4dder, L4DBrasil, CyberGamer, and UGC.
Frustian - After an astounding success with Frustian's Competitive Mod for L4D1, Frustian has quickly become an ace SourcePawn developer and has been a key figure in the port to L4D2 and adding brand new features.
Fyren - The source of inspiration for this whole original project. He jump started me when this project was still in its infancy. You might say this would've never happened had it not been for him.
Fission - Biggest #1 thanks goes out to Fission for always being there since the beginning even when this plugin was barely working.
- While this plugin is enabled (using the l4d_ready_enabled cvar) all voting will be blocked. This is primarily because otherwise restarting the round would sometimes not work (since it does so by forcing a vote and you can't vote if a vote has recently failed). Then again, you don't really need the l4d voting if you have SM ;).
- Using !restartround in L4D2 will cause the map to be over after just one round. In Scavenge it will advance the score and also end the game earlier than necessary.
- BUGFIX - Constantly checks for survivors attempting to move in ready up
- BUGFIX - Pause is now per campaign and will actually determine the correct team
- EASE - Changes l4d_ready_pause_allowed to default to 3.
- BUGFIX - Disables !restartround in L4D2
- CVAR - Adds cvar l4d_ready_connect_enabled (default 1) to enable/disable connect announcements
- EASE - When players connect, a notification in chat will appear.
- EASE - When the game is paused, a reminder that players cannot connect while paused will appear.
- BUGFIX - Restarting the map while in warm-up will no longer cause instant SI spawns after readying up.
- BUGFIX - Players will no longer lose their SI spawns after readying up in Versus.
- BUGFIX - Random hordes will no longer appear right after readying up.
- BUGFIX - Trying to spectate while spawned as SI will now make the SI commit suicide before switching to spectator.
- DEP - Left4Downtown 0.4.2 (for the updated forward).
- EASE - Rounds will no longer restart twice before going live (except for when coming out of warm up mode).
- BUGFIX - Items no longer disappear after readying up in Versus.
- DEP - Left4Downtown 0.4.1 (for the updated gamedata files).
- FEATURE - Added support L4D2 and the new Scavenge mode.
- FEATURE - Readying up in scavenge starts a "warm up" mode instead of freezing players.
- COMMAND - !pause - use your team's pause and instantly pause the game up to a default of 90 seconds
- COMMAND - !unpause - unpause the game if your team paused it, or if the opposite team's 90 seconds expired
- CVAR - l4d_ready_pause_allowed - (default 2) allows each time to pause that many times per map
- CVAR - l4d_ready_pause_duration - (default 90) the minimum required time in seconds of the pause, before either team can unpause
- CVAR - l4d_ready_cfg_name - allows cfg creators to display an indication of what config and version the server is running
- BUGFIX - restarting the round broken in 6/25/09 L4D update, fixed now
- DEP - Left 4 Downtown extension 0.3.1+ required
- BUGFIX - sm_restartround will no longer break the team scores when used in conjunction with l4dscores 1.1.0 or later
- BUGFIX - tanks/witches will no longer spawn during ready mode after the saferoom door opens after the 60 second delay
- BUGFIX - Spectate command when already in spectate mode will attempt to cycle the person to spectate again.
- BUGFIX - sm_restartround command was broken in 0.16.0, fixed to work again.
- BUGFIX - Removed the ConVarRef doesn't point to an existing ConVar errors when changing the cvar values.
- DEP - This plugin now depends on Left 4 Downtown extension from http://forums.alliedmods.net/showthread.php?t=91132
- BUGFIX - After DLC, restarting the round works again.
- BUGFIX - No longer shows the the "player_hurt" unhook event error in the logs (this actually was a fake error but kept confusing people).
- COMMAND - !swapteams - moves all survivors to infected, all infected to survivors.
- COMMAND - !swap <player1> <player2> - swaps the two players to the opposite teams
- COMMAND - spectate in console re-enabled as before pre-patch.
- EASE - !ready, !unready, !notready can be case-insensitive now.
- EXPLOITFIX - Health bonus exploit blocker from http://forums.alliedmods.net/showthread.php?t=86897 is now included in this plugin.
- BUGFIX - If a witch was respawned after she spawned in ready round, it would keep printing errors falsely. No longer prints errors.
- MINOR - !pause command functionality renamed to !reready in anticipation of future feature that will add genuine pause functionality.
- CVAR - l4d_ready_search_key_disable - disable the mod when sv_search_key is "", so pubbers don't join and be forced to ready up
- BUGFIX - If witch spawns during ready round, she will spawn in the same spot during the live round.
- BUGFIX - If tank spawns during ready round, he will spawn in a spot close to the beginning during the live round.
- removed due to regression bug
BUGFIX - Another attempt to fix tank/witch early spawn during ready mode by turning off director at the end of the round instead of the beginning of the round.
- COMMAND - !restartmap added, changelevels to the current map
- CVAR - l4d_ready_server_cfg - put "filename.cfg" here, it will execute it every map change
- BUGFIX - Witch would spawn during ready round sometimes, turned off all boss/infected spawning to prevent this
- BUGFIX - !restartround now works if executed from rcon (at least 1 player must be on the server)
- BUGFIX - The plugin will correctly unload when unloaded forcefully or after a level change, by turning zombies back on.
- BUGFIX - Survivors could trigger tank during round restart by running outside saferoom (and then only one tank would spawn during the match instead of 2). Now survivors are only unfrozen after both round restarts.
- BUGFIX - Normal Infected would remain disappeared if plugin was disabled with cvar or unloaded during the ready-up mode, now it will re-enable zombies at any time.
- EASE - Toggling l4d_ready_enabled will now restart the map (and reset the score).
- TYPO - All of the documentation said the CVAR to enable the plugin was l4d_ready_enabled, in fact it was l4d_ready_enforced. The cvar is now actually l4d_ready_enabled.
Initial public release.
0.16.1 - 437
0.16.2 - 206
0.16.3 - 1741 (smx), 618 (sp)
0.17.0 - 34 (smx), 12 (sp)
0.17.1 - 211 (smx), 92 (sp)
0.17.2 - 578 (smx), 251 (sp)
The .SP file will fail to compile using the web compiler, download the .SMX file instead