From 35b4bb0a3cb653fe8b162353e3a522f2b6412488 Mon Sep 17 00:00:00 2001 From: GLoOoccK <155241167+GLoOoccK@users.noreply.github.com> Date: Mon, 19 May 2025 09:05:44 -0300 Subject: [PATCH 1/7] Update hook_callback.cpp --- reapi/src/hook_callback.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/reapi/src/hook_callback.cpp b/reapi/src/hook_callback.cpp index fdb723e4..91de718b 100644 --- a/reapi/src/hook_callback.cpp +++ b/reapi/src/hook_callback.cpp @@ -1786,6 +1786,16 @@ void CBasePlayer_TakeDamageImpulse(IReGameHook_CBasePlayer_TakeDamageImpulse *ch callVoidForward(RG_CBasePlayer_TakeDamageImpulse, original, indexOfEdict(pthis->pev), indexOfEdict(pAttacker->pev), flKnockbackForce, flVelModifier); } +void CSGameRules_PlayerGotItem(IReGameHook_CSGameRules_PlayerGotItem *chain, CBasePlayer *pPlayer, CItem *pItem) +{ + auto original = [chain](int _pPlayer, int _pItem) + { + chain->callNext(getPrivate(_pPlayer), getPrivate(_pItem)); + }; + + callVoidForward(RG_CSGameRules_PlayerGotItem, original, indexOfEdict(pPlayer->pev), indexOfEdict(pItem->pev)); +} + /* * VTC functions */ From 3b84b2482bf18ef37519d3a88f77e6e2cb9780ce Mon Sep 17 00:00:00 2001 From: GLoOoccK <155241167+GLoOoccK@users.noreply.github.com> Date: Mon, 19 May 2025 09:07:27 -0300 Subject: [PATCH 2/7] Update regamedll_api.h --- reapi/include/cssdk/dlls/regamedll_api.h | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/reapi/include/cssdk/dlls/regamedll_api.h b/reapi/include/cssdk/dlls/regamedll_api.h index 62273fe6..2f3ca4cf 100644 --- a/reapi/include/cssdk/dlls/regamedll_api.h +++ b/reapi/include/cssdk/dlls/regamedll_api.h @@ -40,7 +40,7 @@ #include #define REGAMEDLL_API_VERSION_MAJOR 5 -#define REGAMEDLL_API_VERSION_MINOR 30 +#define REGAMEDLL_API_VERSION_MINOR 31 // CBasePlayer::Spawn hook typedef IHookChainClass IReGameHook_CBasePlayer_Spawn; @@ -638,6 +638,10 @@ typedef IHookChainRegistryClass IReGameHookRegistry_CBa typedef IHookChainClass IReGameHook_CBasePlayer_TakeDamageImpulse; typedef IHookChainRegistryClass IReGameHookRegistry_CBasePlayer_TakeDamageImpulse; +// CHalfLifeMultiplay::PlayerGotItem hook +typedef IHookChain IReGameHook_CSGameRules_PlayerGotItem; +typedef IHookChainRegistry IReGameHookRegistry_CSGameRules_PlayerGotItem; + class IReGameHookchains { public: virtual ~IReGameHookchains() {} @@ -802,6 +806,7 @@ class IReGameHookchains { virtual IReGameHookRegistry_CBasePlayer_RemoveAllItems *CBasePlayer_RemoveAllItems() = 0; virtual IReGameHookRegistry_CBasePlayer_UpdateStatusBar *CBasePlayer_UpdateStatusBar() = 0; virtual IReGameHookRegistry_CBasePlayer_TakeDamageImpulse *CBasePlayer_TakeDamageImpulse() = 0; + virtual IReGameHookRegistry_CSGameRules_PlayerGotItem *CSGameRules_PlayerGotItem() = 0; }; struct ReGameFuncs_t { From 0d417814ba93f05b60f542eff3916b2491dbb7fc Mon Sep 17 00:00:00 2001 From: GLoOoccK <155241167+GLoOoccK@users.noreply.github.com> Date: Mon, 19 May 2025 09:08:19 -0300 Subject: [PATCH 3/7] Update hook_list.h --- reapi/src/hook_list.h | 1 + 1 file changed, 1 insertion(+) diff --git a/reapi/src/hook_list.h b/reapi/src/hook_list.h index 1cdb7bb4..f5f6c363 100644 --- a/reapi/src/hook_list.h +++ b/reapi/src/hook_list.h @@ -310,6 +310,7 @@ enum GamedllFunc_CSGameRules RG_CSGameRules_TeamStacked, RG_CSGameRules_PlayerGotWeapon, RG_CSGameRules_SendDeathMessage, + RG_CSGameRules_PlayerGotItem, // [...] }; From 3d906b737f0db5e3352e1b0243e1a0bb295b3f31 Mon Sep 17 00:00:00 2001 From: GLoOoccK <155241167+GLoOoccK@users.noreply.github.com> Date: Mon, 19 May 2025 09:09:03 -0300 Subject: [PATCH 4/7] Update hook_list.cpp --- reapi/src/hook_list.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/reapi/src/hook_list.cpp b/reapi/src/hook_list.cpp index cb8bd17e..8f060857 100644 --- a/reapi/src/hook_list.cpp +++ b/reapi/src/hook_list.cpp @@ -250,6 +250,7 @@ hook_t hooklist_gamerules[] = { DLL(CSGameRules_TeamStacked), DLL(CSGameRules_PlayerGotWeapon), DLL(CSGameRules_SendDeathMessage), + DLL(CSGameRules_PlayerGotItem), }; hook_t hooklist_grenade[] = { From d275a9ab18ac48b5170f92777c39a0aa5cc030cb Mon Sep 17 00:00:00 2001 From: GLoOoccK <155241167+GLoOoccK@users.noreply.github.com> Date: Mon, 19 May 2025 09:10:00 -0300 Subject: [PATCH 5/7] Update hook_callback.h --- reapi/src/hook_callback.h | 1 + 1 file changed, 1 insertion(+) diff --git a/reapi/src/hook_callback.h b/reapi/src/hook_callback.h index 1065997a..dc2a42ed 100644 --- a/reapi/src/hook_callback.h +++ b/reapi/src/hook_callback.h @@ -576,6 +576,7 @@ void CBasePlayer_RemoveAllItems(IReGameHook_CBasePlayer_RemoveAllItems *chain, C void CSGameRules_SendDeathMessage(IReGameHook_CSGameRules_SendDeathMessage *chain, CBaseEntity *pKiller, CBasePlayer *pVictim, CBasePlayer *pAssister, entvars_t *pevInflictor, const char *killerWeaponName, int iDeathMessageFlags, int iRarityOfKill); void CBasePlayer_UpdateStatusBar(IReGameHook_CBasePlayer_UpdateStatusBar *chain, CBasePlayer *pthis); void CBasePlayer_TakeDamageImpulse(IReGameHook_CBasePlayer_TakeDamageImpulse *chain, CBasePlayer *pthis, CBasePlayer *pAttacker, float flKnockbackForce, float flVelModifier); +void CSGameRules_PlayerGotItem(IReGameHook_CSGameRules_PlayerGotItem *chain, CBasePlayer *pPlayer, CItem *pItem); /* * VTC functions From fbb447db55ac843984568be91bad68e819ef6b55 Mon Sep 17 00:00:00 2001 From: GLoOoccK <155241167+GLoOoccK@users.noreply.github.com> Date: Mon, 19 May 2025 09:15:22 -0300 Subject: [PATCH 6/7] Update version.h --- reapi/version/version.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reapi/version/version.h b/reapi/version/version.h index d3e8b9db..3838a2f8 100644 --- a/reapi/version/version.h +++ b/reapi/version/version.h @@ -6,5 +6,5 @@ #pragma once #define VERSION_MAJOR 5 -#define VERSION_MINOR 29 +#define VERSION_MINOR 30 #define VERSION_MAINTENANCE 0 From b7f6f53a94c4a5e9d7fbe3e8551922dcaa3a2a71 Mon Sep 17 00:00:00 2001 From: GLoOoccK <155241167+GLoOoccK@users.noreply.github.com> Date: Mon, 19 May 2025 09:27:13 -0300 Subject: [PATCH 7/7] Update reapi_gamedll_const.inc --- .../extra/amxmodx/scripting/include/reapi_gamedll_const.inc | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/reapi/extra/amxmodx/scripting/include/reapi_gamedll_const.inc b/reapi/extra/amxmodx/scripting/include/reapi_gamedll_const.inc index 82749cb4..144f92b7 100644 --- a/reapi/extra/amxmodx/scripting/include/reapi_gamedll_const.inc +++ b/reapi/extra/amxmodx/scripting/include/reapi_gamedll_const.inc @@ -1272,6 +1272,12 @@ enum GamedllFunc_CSGameRules * Params: (const pKiller, const pVictim, const pAssister, const pevInflictor, const killerWeaponName[], const DeathMessageFlags:iDeathMessageFlags, const KillRarity:iRarityOfKill) */ RG_CSGameRules_SendDeathMessage, + + /* + * Description: Called when a player picks up an item. + * Params: (const pPlayer, const pItem) + */ + RG_CSGameRules_PlayerGotItem, }; /**