diff --git a/reapi/extra/amxmodx/scripting/include/reapi_gamedll.inc b/reapi/extra/amxmodx/scripting/include/reapi_gamedll.inc index 48c9a1b..f125aef 100644 --- a/reapi/extra/amxmodx/scripting/include/reapi_gamedll.inc +++ b/reapi/extra/amxmodx/scripting/include/reapi_gamedll.inc @@ -837,6 +837,13 @@ native rg_get_iteminfo(const ent, ItemInfo:type, any:...); */ native bool:rg_hint_message(const index, const message[], Float:duration = 6.0, bool:bDisplayIfPlayerDead = false, bool:bOverride = false); +/* +* Instantly check win conditions. +* +* @noreturn +*/ +native rg_check_win_conditions(); + /* * Instantly initialize player counts. * diff --git a/reapi/src/natives/natives_misc.cpp b/reapi/src/natives/natives_misc.cpp index d45a6af..35b40fd 100644 --- a/reapi/src/natives/natives_misc.cpp +++ b/reapi/src/natives/natives_misc.cpp @@ -2151,6 +2151,21 @@ cell AMX_NATIVE_CALL rg_hint_message(AMX *amx, cell *params) return pPlayer->CSPlayer()->HintMessageEx(message, args[arg_duration], args[arg_displayIfPlayerDead], args[arg_override]) ? TRUE : FALSE; } +/* +* Instantly check win conditions. +* +* @noreturn +* +* native rg_check_win_conditions(); +*/ +cell AMX_NATIVE_CALL rg_check_win_conditions(AMX *amx, cell *params) +{ + CHECK_GAMERULES(); + + CSGameRules()->CheckWinConditions(); + return TRUE; +} + /* * Instantly initialize player counts. * @@ -2258,6 +2273,7 @@ AMX_NATIVE_INFO Misc_Natives_RG[] = { "rg_hint_message", rg_hint_message }, + { "rg_check_win_conditions", rg_check_win_conditions }, { "rg_initialize_player_counts", rg_initialize_player_counts }, { nullptr, nullptr }