AlliedModders (
-   Coding MM:S Plugins & SM Extensions (
-   -   Solved Hook m_pfnThink (

kadet.89 03-28-2020 14:10

Hook m_pfnThink
I need to hook think function of "dronegun" entity. Inside it's just a prop_phusics with some extra stuff.

PHP Code:

typedef void (CBaseEntity::*VALVE_BASEPTR)(void);
VALVE_BASEPTR srcThinkFunc_;

void CDroneGun::onSpawnPost(void)
srcThinkFunc_ m_pfnThink// m_pfnThink is from CBaseEntity datamap
*(m_pfnThink) = reinterpret_cast<VALVE_BASEPTR>(&CDroneGun::Think);

void CDroneGun::Think()
getBaseEntity()->*srcThinkFunc_)(); // call the original Think function

if(*(m_pfnThink) != reinterpret_cast<VALVE_BASEPTR>(&CDroneGun::Think)) //If the Think function has changed, set up a new "hook"
srcThinkFunc_ m_pfnThink;

m_pfnThink) = reinterpret_cast<VALVE_BASEPTR>(&CDroneGun::Think);

The drone moves and attacks, but "CDroneGun::Think" is never shown, what am I doing wrong?

All times are GMT -4. The time now is 16:21.

Powered by vBulletin®
Copyright ©2000 - 2021, vBulletin Solutions, Inc.