diff --git a/README.md b/README.md index 912a0f4e..7222ef2c 100644 --- a/README.md +++ b/README.md @@ -40,7 +40,7 @@ Archive's bin directory contains 2 subdirectories, 'bugfixed' and 'pure' | mp_buytime | 1.5 | 0.0 | - | Designate the desired amount of buy time for each round. (in minutes)
`-1` means no time limit
`0` disable buy | | mp_maxmoney | 16000 | 0 | `999999` | The maximum allowable amount of money in the game | | mp_round_infinite | 0 | 0 | 1 | Flags for fine grained control (choose as many as needed)
`0` disabled
`1` enabled

or flags
`a` block round time round end check
`b` block needed players round end check
`c` block VIP assassination/success round end check
`d` block prison escape round end check
`e` block bomb round end check
`f` block team extermination round end check
`g` block hostage rescue round end check
`h` block VIP assassination/success round time end check
`i` block prison escape round time end check
`j` block bomb round time end check
`k` block hostage rescue round time end check

`Example setting:` "ae" blocks round time and bomb round end checks | -| mp_roundover | 0 | - | - | The round by expired time will be over, if on a map it does not have the scenario of the game.
`0` disabled
`1` enabled | +| mp_roundover | 0 | 0 | 3 | The round by expired time will be over, if on a map it does not have the scenario of the game.
`0` disabled
`1` end of the round with a draw
`2` round end with Terrorists win
`3` round end with Counter-Terrorists win | | mp_round_restart_delay | 5 | - | - | Number of seconds to delay before restarting a round after a win. | | mp_hegrenade_penetration | 0 | 0 | 1 | Disable grenade damage through walls.
`0` disabled
`1` enabled | | mp_nadedrops | 0 | 0 | 2 | Drop a grenade after player death.
`0` disabled
`1` drop first available grenade
`2` drop all grenades | diff --git a/dist/game.cfg b/dist/game.cfg index a4768a2d..0fed04fa 100644 --- a/dist/game.cfg +++ b/dist/game.cfg @@ -51,7 +51,9 @@ mp_round_infinite 0 // The round by expired time will be over, if on a map it does not have the scenario of the game. // 0 - disabled (default behaviour) -// 1 - enabled +// 1 - end of the round with a draw +// 2 - round end with Terrorists win +// 3 - round end with Counter-Terrorists win // // Default value: "0" mp_roundover 0 diff --git a/regamedll/dlls/multiplay_gamerules.cpp b/regamedll/dlls/multiplay_gamerules.cpp index cd7f5b61..a34fe6d2 100644 --- a/regamedll/dlls/multiplay_gamerules.cpp +++ b/regamedll/dlls/multiplay_gamerules.cpp @@ -3017,9 +3017,31 @@ void CHalfLifeMultiplay::CheckRoundTimeExpired() #ifdef REGAMEDLL_ADD else if (roundover.value) { - // round is over - if (!OnRoundEnd_Intercept(WINSTATUS_DRAW, ROUND_GAME_OVER, GetRoundRestartDelay())) - return; + switch ((int)roundover.value) + { + case 1: + default: + { + if (!OnRoundEnd_Intercept(WINSTATUS_DRAW, ROUND_GAME_OVER, GetRoundRestartDelay())) + return; + + break; + } + case 2: + { + if (!OnRoundEnd_Intercept(WINSTATUS_TERRORISTS, ROUND_TERRORISTS_WIN, GetRoundRestartDelay())) + return; + + break; + } + case 3: + { + if (!OnRoundEnd_Intercept(WINSTATUS_CTS, ROUND_CTS_WIN, GetRoundRestartDelay())) + return; + + break; + } + } } #endif