Raised This Month: $ Target: $400
 0% 

[L4D & L4D2] Heartbeat (Revive Fix - Post Revive Options) (1.16) [21-Apr-2024]


  
 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
Author
Silvers
SourceMod Plugin Approver
Join Date: Aug 2010
Location: SpaceX
Plugin ID:
6987
Plugin Version:
1.16
Plugin Category:
Gameplay
Plugin Game:
Left 4 Dead
Plugin Dependencies:
    Servers with this Plugin:
    13 
    Plugin Description:
    Fixes survivor_max_incapacitated_count cvar increased values reverting black and white screen. Also some extra options.
    Old 03-16-2020 , 20:05   [L4D & L4D2] Heartbeat (Revive Fix - Post Revive Options) (1.16) [21-Apr-2024]
    Reply With Quote #1

    Features:
    • Provides more options for both games, such as when the screen should turn black and white and how many revives are allowed.
    • Options to control when the heartbeat sound plays and when survivors should start vocalizing that they're about to die.
    • This plugins cvar l4d_heartbeat_revives overwrites the games survivor_max_incapacitated_count cvar, so set your desired value in this plugins cvar config.
    • Cvar default values of "2" is what the game uses by default.
    • This fixes L4D1 players going from black and white on the 2nd revive to normal color after subsequent revives when increasing the survivor_max_incapacitated_count cvar value.
    • In L4D1 this plugin overwrites and controls "m_currentReviveCount" netprop. Because this variable can no longer be relied on, plugins using that must change to use the 2 natives provided for accurate revive counts.
    • In L4D2 this plugin overwrites and controls "m_bIsOnThirdStrike". This netprop and the one above are used to make players screen black and white.
    • The bug is described here by Dragokas.



    Natives: (for 3rd party revive/respawn style plugins)
    Spoiler




    Thanks:
    • "Dragokas" - For the inspiration and help testing.



    Admin Command:

    PHP Code:
    // Set someone as black and white health status or toggle their state. Usage: sm_heartbeat [#userid|name] [state: 0=Healed. 1=Black and white.]
    sm_heartbeat 



    CVars:

    Saved to l4d_heartbeat.cfg in your servers \cfg\sourcemod\ folder.

    PHP Code:
    // 0=Plugin off, 1=Plugin on.
    l4d_heartbeat_allow "1"

    // Turn on the plugin in these game modes, separate by commas (no spaces). (Empty = all).
    l4d_heartbeat_modes ""

    // Turn off the plugin in these game modes, separate by commas (no spaces). (Empty = none).
    l4d_heartbeat_modes_off ""

    // Turn on the plugin in these game modes. 0=All, 1=Coop, 2=Survival, 4=Versus, 8=Scavenge. Add numbers together.
    l4d_heartbeat_modes_tog "0"

    // 0=Off. 1=Set black and white status when someone is incapped, not after revive.
    l4d_heartbeat_incap "0"

    // How many revives are allowed before a player is killed (wrapper to survivor_max_incapacitated_count cvar).
    l4d_heartbeat_revives "2"

    // How many revives until the black and white screen overlay starts.
    l4d_heartbeat_screen "2"

    // How many revives until the heartbeat sound starts playing.
    l4d_heartbeat_sound "2"

    // How many revives until the player starts vocalizing that they're about to die.
    l4d_heartbeat_vocalize "2"

    // Heartbeat plugin version.
    l4d_heartbeat_version 


    Changes:
    Code:
    1.16 (21-Apr-2024)
        - Fixed revive count increasing by 2 instead of 1 under certain circumstances. Thanks to "S.A.S" for reporting.
    
    1.15 (16-Apr-2024)
        - Removed gamedata method patching the game which created a health bug. Thanks to "S.A.S" for reporting.
        - Fixed issues with "m_isGoingToDie" being set to 0 not damaging the player.
    
    1.14a (26-Mar-2024)
        - Fixed the GameData file for Linux servers. Thanks to "S.A.S" for reporting.
    
    1.14 (12-Mar-2024)
        - Fixed native "Heartbeat_SetRevives" not setting the correct revive count if "reviveLogic" bool was set to false. Thanks to "little_froy" for reporting and testing.
        - Fixed clients not receiving damage from behind when on Easy difficulty, due to "m_isGoingToDie" being est to 0. Thanks to "little_froy" for reporting and testing.
        - Fixed client not in game error. Thanks to "HarryPotter" for reporting.
        - New GameData file required for the plugin to operate.
    
    1.13 (10-Mar-2023)
        - Delayed revive logic by 1 frame to fix settings sometimes not being applied due to self revive plugins. Thanks to "Shao" for reporting.
    
    1.12 (19-Feb-2023)
        - Added cvar "l4d_heartbeat_incap" to set black and white status when someone is incapped, not after revive. Requested by "Jestery".
        - Fixed heartbeat sound being stopped when other players respawn.
    
    1.11 (03-Dec-2022)
        - Plugin now resets the heartbeat sound for spectators.
    
    1.10 (15-Nov-2022)
        - Fixed the revive count not carrying over when switching to/from idle state. Thanks to "NoroHime" for reporting.
    
    1.9 (02-Nov-2022)
        - Fixed screen turning black and white when they're not read to die. Thanks to "Iciaria" for reporting and lots of help testing.
        - Various changes to simplify the code.
    
    1.8 (25-Aug-2022)
        - Changes to fix warnings when compiling on SM 1.11.
        - Fixed native "Heartbeat_GetRevives" return type wrongfully set as void instead of int.
    
    1.7 (31-Mar-2021)
        - Added command "sm_heartbeat" to toggle or specify someone as black and white health status.
    
    1.6 (15-Feb-2021)
        - Fixed heartbeat sound playing when replacing a bot. Thanks to "Endoyurei Shirokuro" for reporting.
    
    1.5 (15-Jul-2020)
        - Added more StopSound calls on player spawn. Thanks to "Endoyurei Shirokuro" for reporting.
    
    1.4 (10-May-2020)
        - Various changes to tidy up code.
    
    1.3 (26-Apr-2020)
        - Added native "Heartbeat_GetRevives" for 3rd party plugins to get a players current incap count.
        - Added native "Heartbeat_SetRevives" for 3rd party plugins to set a players current incap count.
        - Changes to prevent duplicate heartbeat sounds playing.
        - Extra checks to prevent "IsAllowedGameMode" throwing errors.
    
    1.2 (11-Apr-2020)
        - Fixed not resetting the heartbeat sound on player death.
    
    1.1 (01-Apr-2020)
        - Fixed "IsAllowedGameMode" from throwing errors when the "_tog" cvar was changed before MapStart.
    
    1.0 (17-Mar-2020)
        - Initial release.

    Installation:
    1. Click "Get Plugin" and put the .smx file into your servers \addons\sourcemod\plugins\ folder.
    Attached Files
    File Type: sp Get Plugin or Get Source (l4d_heartbeat.sp - 62 views - 26.5 KB)
    __________________

    Last edited by Silvers; 04-21-2024 at 11:14.
    Silvers is offline
     



    Posting Rules
    You may not post new threads
    You may not post replies
    You may not post attachments
    You may not edit your posts

    BB code is On
    Smilies are On
    [IMG] code is On
    HTML code is Off

    Forum Jump


    All times are GMT -4. The time now is 11:33.


    Powered by vBulletin®
    Copyright ©2000 - 2024, vBulletin Solutions, Inc.
    Theme made by Freecode