/** * Force a round to end whatever the conditions. * * Here all the possibilities of this native, * to avoid further questions : * * // Time is up / round draw. * * TerminateRound( RoundEndType_Timer ); * TerminateRound( RoundEndType_Draw ); * * // One of the team has been exterminated. * * TerminateRound( RoundEndType_TeamExtermination, TeamWinning_Terrorist ); * TerminateRound( RoundEndType_TeamExtermination, TeamWinning_Ct ); * * // The current map objective of the team has been completed. * * TerminateRound( RoundEndType_Objective, TeamWinning_Terrorist ); * TerminateRound( RoundEndType_Objective, TeamWinning_Ct ); * * // The provided map objective of the team has been completed. (will work only if the related entity is present) * * TerminateRound( RoundEndType_Objective, TeamWinning_Terrorist, MapType_VipAssasination ); * TerminateRound( RoundEndType_Objective, TeamWinning_Terrorist, MapType_Bomb ); * TerminateRound( RoundEndType_Objective, TeamWinning_Terrorist, MapType_PrisonEscape ); * TerminateRound( RoundEndType_Objective, TeamWinning_Ct, MapType_VipAssasination ); * TerminateRound( RoundEndType_Objective, TeamWinning_Ct, MapType_Bomb ); * TerminateRound( RoundEndType_Objective, TeamWinning_Ct, MapType_Hostage ); * TerminateRound( RoundEndType_Objective, TeamWinning_Ct, MapType_PrisonEscape ); * * @param roundEndType The round end type you want to force. * @param teamWinning The team winning if the round type end is either team extermination or objective. * @param mapType The map type if there are severals objectives on the map. */ native TerminateRound( const roundEndType, const teamWinning = TeamWinning_None, const mapType = MapType_AutoDetect );
and in his other plugin infinite round there's a forward call
Spoiler
PHP Code:
enum RoundEndType ( <<= 1 ) { RoundEndType_RoundTimeExpired = 1, // a 1 RoundEndType_BombExploded, // b 2 RoundEndType_BombDefused, // c 4 RoundEndType_HostagesRescued, // d 8 RoundEndType_VipEscaped, // e 16 RoundEndType_VipAssassinated, // f 32 RoundEndType_TerroristWin, // g 64 RoundEndType_CTWin, // h 128 RoundEndType_RoundDraw, // i 256 RoundEndType_TerroristsEscaped, // j 512 RoundEndType_CTsPreventEscape, // k 1024 }; // * 2047
/** * @brief Called when a round ends. * * @note You can block a round end happening by returning PLUGIN_HANDLED. * Blocking from the forward supercedes always the ir_block_roundend cvar value. * * @param type The type of round end. See RoundEndType constants. */ forward OnRoundEnd( const RoundEndType:type );
there's an issue when calling the TerminateRound native, the OnRoundEnd forward doesn't get called...
That wasnt the problem at all in fact in terminate round function didn't inform the round ending which wasn't calling roundwinconditions so would infinite round be able to catch the call..