Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file modified addons/sourcemod/plugins/optional/readyup.smx
Binary file not shown.
4 changes: 2 additions & 2 deletions addons/sourcemod/scripting/readyup.sp
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
#undef REQUIRE_PLUGIN
#include <caster_system>

#define PLUGIN_VERSION "10.2.5"
#define PLUGIN_VERSION "10.2.6"

public Plugin myinfo =
{
Expand Down Expand Up @@ -74,7 +74,7 @@ ConVar
// Plugin Cvars
ConVar
// basic
l4d_ready_enabled, l4d_ready_cfg_name, l4d_ready_server_cvar, l4d_ready_max_players,
l4d_ready_enabled, l4d_ready_cfg_name, l4d_ready_server_cvar, l4d_ready_max_players, l4d_ready_autoready,
// game
l4d_ready_disable_spawns, l4d_ready_survivor_freeze,
// sound
Expand Down
5 changes: 5 additions & 0 deletions addons/sourcemod/scripting/readyup/command.inc
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,11 @@ Action Ready_Cmd(int client, int args)

Action Unready_Cmd(int client, int args)
{
if (l4d_ready_autoready.BoolValue)
{
return Plugin_Handled;
}

if (inReadyUp && client)
{
bool hasflag = CheckCommandAccess(client, "sm_ban", ADMFLAG_BAN); // Check for specific admin flag
Expand Down
20 changes: 16 additions & 4 deletions addons/sourcemod/scripting/readyup/player.inc
Original file line number Diff line number Diff line change
Expand Up @@ -22,18 +22,18 @@ bool SetPlayerReady(int client, bool ready)

if (prev && !ready)
{
if (g_hPlayerReadyForward.FunctionCount)
if (g_hPlayerUnreadyForward.FunctionCount)
{
Call_StartForward(g_hPlayerReadyForward);
Call_StartForward(g_hPlayerUnreadyForward);
Call_PushCell(client);
Call_Finish();
}
}
else if (!prev && ready)
{
if (g_hPlayerUnreadyForward.FunctionCount)
if (g_hPlayerReadyForward.FunctionCount)
{
Call_StartForward(g_hPlayerUnreadyForward);
Call_StartForward(g_hPlayerReadyForward);
Call_PushCell(client);
Call_Finish();
}
Expand All @@ -57,6 +57,18 @@ bool SetPlayerHiddenPanel(int client, bool hidden)
void SetButtonTime(int client)
{
buttonTime[client] = GetEngineTime();

int iPassTime = RoundToFloor(GetGameTime() - fStartTimestamp);

if (IsPlayer(client) && inReadyUp && l4d_ready_autoready.BoolValue && iPassTime >= l4d_ready_autoready.IntValue)
{
SetPlayerReady(client, true);

if (CheckFullReady())
{
InitiateLiveCountdown();
}
}
}

#define AFK_DURATION 15.0
Expand Down
5 changes: 3 additions & 2 deletions addons/sourcemod/scripting/readyup/setup.inc
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ void SetupConVars()
l4d_ready_cfg_name = CreateConVar("l4d_ready_cfg_name", "", "Configname to display on the ready-up panel", FCVAR_NOTIFY|FCVAR_PRINTABLEONLY);
l4d_ready_server_cvar = CreateConVar("l4d_ready_server_cvar", "sn_main_name", "ConVar to retrieve the server name for displaying on the ready-up panel", FCVAR_NOTIFY|FCVAR_PRINTABLEONLY);
l4d_ready_max_players = CreateConVar("l4d_ready_max_players", "12", "Maximum number of players to show on the ready-up panel.", FCVAR_NOTIFY, true, 0.0, true, MAXPLAYERS+1.0);

// game
l4d_ready_disable_spawns = CreateConVar("l4d_ready_disable_spawns", "0", "Prevent SI from having spawns during ready-up", FCVAR_NOTIFY, true, 0.0, true, 1.0);
l4d_ready_survivor_freeze = CreateConVar("l4d_ready_survivor_freeze", "1", "Freeze the survivors during ready-up. When unfrozen they are unable to leave the saferoom but can move freely inside", FCVAR_NOTIFY, true, 0.0, true, 1.0);
Expand All @@ -72,7 +72,8 @@ void SetupConVars()
l4d_ready_autostart_min = CreateConVar("l4d_ready_autostart_min", "0.25", "Percent of max players (Versus = 8) in game to allow auto-start to proceed.", FCVAR_NOTIFY, true, 0.0, true, 1.0);
l4d_ready_unbalanced_start = CreateConVar("l4d_ready_unbalanced_start", "0", "Allow game to go live when teams are not full.", FCVAR_NOTIFY, true, 0.0, true, 1.0);
l4d_ready_unbalanced_min = CreateConVar("l4d_ready_unbalanced_min", "2", "Minimum of players in each team to allow a unbalanced start.", FCVAR_NOTIFY, true, 0.0);

l4d_ready_autoready = CreateConVar("l4d_ready_autoready", "0", "Automatically ready up a player after after <value> seconds if they are not afk (0 = disabled).", FCVAR_NOTIFY, true, 0.0);

// game convars
director_no_specials = FindConVar("director_no_specials");
god = FindConVar("god");
Expand Down