View Single Post
Author Message
Skyy
AlliedModders Donor
Join Date: Jan 2010
Location: Toronto, Canada
Old 02-08-2013 , 10:48   [l4d2] Ready Up v3.3.2 [06/24/2014] [Major Update]
Reply With Quote #1

Important Information Regarding Versions
Often, when I release new versions, files may be dramatically changed. This means that in order to make sure the plugin and any installed modules function, you should replace all files (this includes configs, translations, etc.) with the new versions in the archive at the bottom of this post. Please help to cull the confusion resulting from posting errors related to older versions of the plugin, or errors that I already know about and am debugging. However, if you have any questions, please don't hesitate to ask!




Modules
Ready Up is comprised of a core plugin; Ready Up, as well as several optional modules. Modules use the functions defined by the core plugin to extend its functionality. Modules can require other modules, or simply work stand-alone, provided the core plugin still exists. The design is in place to allow server owners to pick and choose what features they want.




Module Development
Module development is made easy with Ready Up, with the core plugin doing most of the leg work for you. If you're looking to create a module, the easiest way to get started is to take a look at how I've developed the current modules. With Ready Up, you can register custom commands, so that server owners can define the command string itself in a config file, without ever needing to edit the source code. For a full list of the custom functions, check out the .../include/readyup.inc file.




Description
This plugin is designed to prevent survivor players from leaving the safe-room prior to all clients loading into the game. Its actual features can be disabled so that the plugin only provides the unique forwards which can be used by other plugins. After all clients have loaded, an optional "ready up" phase begins.


Ready Up v3.x uses gametype-specific configs to load variables, making it even more flexible for servers that run multiple gametypes. The list of variables in the core plugin are listed below. This is a direct excerpt from the /configs/readyup/versus.cfg. If you wish to add configs for other gametypes, simply place as many configs in the folder as gametypes you wish to support. If I wanted to add coop for example, I would create /configs/readyup/coop.cfg.

At this time, Ready Up is only compatible with dedicated servers; you cannot run it localhost.



Configs:
Configs for Ready up and its modules are found in the .../configs/readyup/ directory. A config is not generated in the .../cfg/sourcemod/ directory.



For Developers:
I've constructed the archive exactly as needed for development purposes. Simply extract it and place the appropriate sourcemod development files into the /scripting/ and /scripting/include/ folders.
The following are the calls available in the readyup.inc

Spoiler




Optional Modules:
Spoiler





Known Issues:
This section details errors that I already know about, and that I may or may not (at this time) be looking into. If you come across these errors, please do not post a response based on them, as there's no reason to notify me about something that I'm already well aware of. It's the same as checking to see if your question has been answered before asking the question, and keeps the clutter off the thread.


Code:
3.2.x
    -    Locked End Of Map Saferoom; On the first map of campaigns, the first round, the end of map saferoom door may
        not properly close and lock.
        This issue only occurs if "skip ready up period?" is set to "2" in the game mode config.

v3.1.x
    -    Not enough space on stack
    -    Error encountered while processing a dynamic native
Revision history:
Code:
v3.3.2
     -Ready Up Core:
        +   Added new natives, corrected an issue with the features presented in v3.3.1.
    -    Player Plus Module:
        +    Completely re-written to replace the previous, unstable version. No longer requires config. Will make sure there are a minimum of 4 survivors at all times, while creating a new bot whenever a player joins the survivor team. Team changes are handled through readyup's ReadyUp_FwdChangeTeam(client, team) forward.
    -    Team Manager Module:
        +    Developed to show how modules interact with each other through the use of natives and forwards presented by the core ready up plugin.

v3.3.1
    -    Ready Up Core:
        +   Added "majority ready counter?" and "majority ready timer?" (Refer to included coop.cfg)

v3.2.4
    -    Ready Up Core:
        +   The ready up period will now properly end when the ready up time remaining reaches 0.

v3.2.3
    -    Ready Up Core:
        +    "skip ready up period?" will no longer display messages if set to a value greater than 0.
        +    The game will only start after all players have readied up if "ready up time?" is set to 0.

v3.2.2
    -    Ready Up Core:
        +    Option to destroy or not destroy the start of map safe room door when opened.
            "delete saferoom door on round start?"    "0" (1 to destroy, 0 means to not destroy)

    -    Player Plus Module:
        +    Player health, weapons, etc. will now properly carry over to new levels in Coop game modes.

v3.2.1
    -    Ready Up Core:
        +    "skip readyup period?" has additional functionality. All functionality are as follows:
            "0"    -    Ready Up period performs normally.
            "1"    -    Ready Up period will end when all connecting players have entered the game (untested)
            "2"    -    Ready Up period will end when the first connecting player enters the game.

    -    Friendly Fire Module:
        +    "fire damage limit?" added as an option.
        +    "friendly fire disabled during live round?" replaced with "friendly fire damage restored?"
        +    If "friendly fire damage restored?" is set to 0, players will now be properly punished even for reaching the
        +    appropriate limit.

    -    Bug fixes:
        +    Not enough space on stack
        +    Error encountered while processing a dynamic native
        +    Other miscellaneous issues and annoyances

v3.1.3
    -    Should prevent a (rare) issue where Ready Up is notified of the incorrect game mode.

v3.1.2
    -    Ready Up now properly performs when running in basic mode.
    -    New functions added for modules.
    -    Changed how it parses configs, hopefully for the better.

v3.1.1
    -    No more alpha / beta (private, I know, totally backwards) stages!
    -    Two new modules! Map Rotation & Vote Map. See module section for details.
    -    Many, many, many natives and forwards added.
    -    Some bugs were fixed, some new ones popped up. Fortunately, none affect functionality.

v3.1 alpha
    -    The Official modules have all received updates, correcting the known issues as of this posting.
    -    Lock Saferoom: The end of map door will no longer unlock if there are no survivors.
    -    Official module added: Friendly Fire Prevention / Punishment
    -    Forwards / Natives: Several Added.
    -    Survivors who join dead during pre-game will now be spawned (windows signature missing)
    -    ReadyUp_RegisterCommand and ReadyUp_RemoveCommand allow developers to register custom commands
        that server owners can set the command string of in config files.
    -    Friendly Fire Prevention / Punishment: Corrected an issue that would kill survivors when they reached 1 health
        if they attacked another player, regardless of whether they reached a violation limit or not.
    -    Player Plus: Enforce balance teams now properly functions. If enforcing teams, however, the actual survivors
        required value will still be enforced. However, in a later update, the actual value that will be enforced is 4.
    -    Player Plus: If survivor players are dead during the ready up period, when the ready up period ends, they will be
        spawned. The start of map door is locked until the ready up period ends.

v3.0 alpha
    -    Completely re-written!
    -    Will bump to v3.1 alpha when the set of Official Modules have been completed.

v2.6
    -    Fixed (I think) a bug related to the ready up period rarely triggering mid-round.

v2.54
    -    Added extended module support.

v2.5
    -    Added new global forward, SaferoomLocked(). This forward is called after the plugin locks the
        start of map saferoom door.
    -    The match will no longer begin prior to the ready up phase, if there are less than two players in the server.
    -    Added a new option of tracking the ready up period:
        readyup_periodic_countdown:        Is it enabled?
        readyup_periodic_timeframe:        How often is it displayed?

v2.4
    -    readyup_maxrounds added, which is used to track when the map is "over" so the ready up period does
        not start up when the last round of a map has been played. This is ignored in coop and ignored on finales.
        If you change maps after 1 survival round, your survival config would set this value to 1. In Versus, you set
        the value to 2.
    -    The ReadyUpStart() and ReadyUpEnd() forwards will no longer fire (and their respective functions will not
        activate) if there are no survivor players connected to the server when they activate. Instead, a timer will
        run until a new player connects to the server, or the map ends. If a player connects prior to the map ending
        it will call the ReadyUpStart() function at that time.

v2.3
    -    Added option to display the ready up time remaining in chat; this option requires the readyup_hidehud 1 and
        readyup_loadingplayers_menudisplay 0.
    -    Two new cvars associated with it, see above.

v2.2
    -    Corrected an issue where the ready up period would hang if a player disconnected due to a timeout during
        the ready up period.
    -    The "Ready Up Will Automatically Start In..." timer will now automatically restart if a player connects after
        all clients have loading, assuming its value is still greater than 0. However, players can ready up and start
        the game, even if a player is connecting, as long as all clients had loaded prior to new connections.
    -    Time remaining in the "Ready Up" phase will pause if a new player starts connecting during ready up.
        The timer will resume once all connecting players have loaded, or if the connection timer reaches 0, whichever
        of the two occurs first.

v2.11
    -    Corrected an issue where the ready up period would not end if readyup_freeze_time was set to 0.0.
    -    Corrected a rare issue where the ready up period would sometimes not occur when a new map loaded.
    -    The ready up period should no longer occur when the last round of the map is played before a new map loads.
Attached Files
File Type: zip RUM_v3.3.2.zip (224.2 KB, 3081 views)

Last edited by Skyy; 06-24-2014 at 05:15. Reason: Major updates
Skyy is offline