A small side-note: I know you guys are busy, but Ayuto the hint you gave for CollisionHook was perfect, so same as a here a hint would be more than fine!
How to do that can be found here in C++ https://github.com/SlidyBat/sm-ext-o...nsion.cpp#L106 :
Syntax: Select all
class CEventAction
{
public:
CEventAction(const char *ActionData = NULL) { m_iIDStamp = 0; };
string_t m_iTarget; // name of the entity(s) to cause the action in
string_t m_iTargetInput; // the name of the action to fire
string_t m_iParameter; // parameter to send, 0 if none
float m_flDelay; // the number of seconds to wait before firing the action
int m_nTimesToFire; // The number of times to fire this event, or EVENT_FIRE_ALWAYS.
int m_iIDStamp; // unique identifier stamp
static int s_iNextIDStamp;
CEventAction *m_pNext;
// allocates memory from engine.MPool/g_EntityListPool
#if SOURCE_ENGINE == SE_CSGO
static void *operator new(size_t stAllocateBlock)
{
#ifdef PLATFORM_WINDOWS
return g_EntityListPool_Alloc();
#else
return g_EntityListPool_Alloc( g_pEntityListPool );
#endif
}
static void *operator new(size_t stAllocateBlock, int nBlockUse, const char *pFileName, int nLine)
{
#ifdef PLATFORM_WINDOWS
return g_EntityListPool_Alloc();
#else
return g_EntityListPool_Alloc( g_pEntityListPool );
#endif
}
static void operator delete(void *pMem)
{
g_pEntityListPool->Free(pMem);
}
static void operator delete( void *pMem , int nBlockUse, const char *pFileName, int nLine )
{
operator delete(pMem);
}
#endif
DECLARE_SIMPLE_DATADESC();
};
My question is how can this be done in SourcePython? Here are all the signatures for linux:
Code: Select all
"g_EntityListPool"
{
"signature" "CBaseEntity_ConnectOutputToScript"
"read" "216"
"read" "12"
}
"CBaseEntity_ConnectOutputToScript"
{
"library" "server"
"linux" "\x55\x89\xE5\x57\x56\x53\x83\xEC\x4C\x8B\x45\x10\x8B\x5D\x0C"
}
"CUtlMemoryPool_Alloc"
{
"library" "server"
"linux" "\x55\x31\xC0\x89\xE5\x53\x83\xEC\x14\x8B\x5D\x08\x8B\x55\x0C\x39\x13"
}
I appreciate all the help I can get!