Small timer fixes. Added cvar zr_roundend_balance_teams. See details.
Added cvar for disabling team balancing on round end (for use with custom team balancer): zr_roundend_balance_teams. Disabling this will cause players to remain on their current team when a new round starts. If zombies win, everyone will remain on the terrorists team. Fixed invalid handle error after a map change. Fixed language code typo in translations. Infection countdown is no longer displayed if the infection delay is just one second.
This commit is contained in:
parent
3be9ce5511
commit
ef175ca488
@ -362,7 +362,7 @@
|
||||
|
||||
"Infect countdown"
|
||||
{
|
||||
"en" "First infection in {1} seconds."
|
||||
"es" "First infection in {1} seconds."
|
||||
}
|
||||
|
||||
// Menu
|
||||
|
@ -361,7 +361,7 @@
|
||||
|
||||
"Infect countdown"
|
||||
{
|
||||
"en" "Første infeksjon om {1} sekunder."
|
||||
"no" "Første infeksjon om {1} sekunder."
|
||||
}
|
||||
|
||||
// Menu
|
||||
|
@ -362,7 +362,7 @@
|
||||
|
||||
"Infect countdown"
|
||||
{
|
||||
"en" "First infection in {1} seconds."
|
||||
"ru" "First infection in {1} seconds."
|
||||
}
|
||||
|
||||
// Menu
|
||||
|
@ -428,6 +428,9 @@ zr_roundend_overlays_zombie "overlays/zr/zombies_win"
|
||||
// Default: "overlays/zr/humans_win"
|
||||
zr_roundend_overlays_human "overlays/zr/humans_win"
|
||||
|
||||
// Balances the team every time the round ends. Disable this if you use something else to balance teams.
|
||||
// Default: "1"
|
||||
zr_roundend_balance_teams "1"
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// Account (module)
|
||||
|
@ -95,6 +95,7 @@ enum CvarsList
|
||||
Handle:CVAR_ROUNDEND_OVERLAY,
|
||||
Handle:CVAR_ROUNDEND_OVERLAY_ZOMBIE,
|
||||
Handle:CVAR_ROUNDEND_OVERLAY_HUMAN,
|
||||
Handle:CVAR_ROUNDEND_BALANCE_TEAMS,
|
||||
Handle:CVAR_INFECT_SPAWNTIME_MIN,
|
||||
Handle:CVAR_INFECT_SPAWNTIME_MAX,
|
||||
Handle:CVAR_INFECT_CONSECUTIVE_BLOCK,
|
||||
@ -369,6 +370,7 @@ CvarsCreate()
|
||||
g_hCvarsList[CVAR_ROUNDEND_OVERLAY] = CreateConVar("zr_roundend_overlay", "1", "Show specified overlay to players depending on winner when the round ends.");
|
||||
g_hCvarsList[CVAR_ROUNDEND_OVERLAY_HUMAN] = CreateConVar("zr_roundend_overlays_human", "overlays/zr/humans_win", "Overlay, relative to \"materials\" folder, to display when humans win the round. [Dependency: zr_roundend_overlay]");
|
||||
g_hCvarsList[CVAR_ROUNDEND_OVERLAY_ZOMBIE] = CreateConVar("zr_roundend_overlays_zombie", "overlays/zr/zombies_win", "Overlay, relative to \"materials\" folder, to display when zombies win the round. [Dependency: zr_roundend_overlay]");
|
||||
g_hCvarsList[CVAR_ROUNDEND_BALANCE_TEAMS] = CreateConVar("zr_roundend_balance_teams", "1", "Balances the team every time the round ends. Disable this if you use something else to balance teams.");
|
||||
|
||||
|
||||
// ===========================
|
||||
|
@ -78,9 +78,10 @@ new bool:bInfectImmune[MAXPLAYERS + 1][2];
|
||||
*/
|
||||
InfectOnMapStart()
|
||||
{
|
||||
// Stop timers if running.
|
||||
ZREndTimer(tInfect);
|
||||
ZREndTimer(tInfectCountdown);
|
||||
// Reset timer handles. Infect timers are invalidated on a map change if
|
||||
// they are still running, so these handles no longer point to valid timers.
|
||||
tInfect = INVALID_HANDLE;
|
||||
tInfectCountdown = INVALID_HANDLE;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -378,7 +379,7 @@ InfectOnRoundFreezeEnd()
|
||||
|
||||
// Check cvar and start a countdown timer if enabled.
|
||||
new bool:countdown = GetConVarBool(g_hCvarsList[CVAR_INFECT_MZOMBIE_COUNTDOWN]);
|
||||
if (countdown)
|
||||
if (countdown && randomtime > 1.0)
|
||||
{
|
||||
// Store the time until infection, and initialize the counter.
|
||||
new Handle:hCountdownData = CreateDataPack();
|
||||
|
@ -185,9 +185,12 @@ RoundEndOnRoundEnd(reason)
|
||||
// Display the overlay to all clients.
|
||||
RoundEndOverlayStart(outcome);
|
||||
|
||||
// Balance teams.
|
||||
// Balance teams if enabled.
|
||||
if (GetConVarBool(g_hCvarsList[CVAR_ROUNDEND_BALANCE_TEAMS]))
|
||||
{
|
||||
RoundEndBalanceTeams();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Convert a round_end reason, to a round winner, or draw.
|
||||
@ -327,9 +330,7 @@ RoundEndTerminateRound(Float:delay, RoundEndOutcome:outcome = Restart)
|
||||
}
|
||||
|
||||
/**
|
||||
* Balances teams
|
||||
*
|
||||
* @param spawn If true, it will respawn player after switching their team.
|
||||
* Balances teams.
|
||||
*/
|
||||
RoundEndBalanceTeams()
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user