GetClientEyeAngles:
PHP Code:
int m_angEyeAngles = -1;
QAngle *GetEyeAngles(CBaseEntity *pEntity)
{
return (QAngle *)(((unsigned char *)pEntity) + m_angEyeAngles);
}
bool Extension::SDK_OnLoad(char *error, size_t maxlength, bool late)
{
gamehelpers->FindSendPropInfo("CCSPlayer", "m_angEyeAngles[0]", &info); //uncomment SMEXT_ENABLE_GAMEHELPERS in the smsdk_config.h
m_angEyeAngles = info.actual_offset;
}
PHP Code:
#include <itoolentity.h>
IServerTools *servertools = NULL;
bool Extension::SDK_OnMetamodLoad(ISmmAPI *ismm, char *error, size_t maxlen, bool late)
{
GET_V_IFACE_ANY(GetServerFactory, servertools, IServerTools, VSERVERTOOLS_INTERFACE_VERSION);
}
servertools::SetKeyValue is the equal to DispatchKey*
Quote:
// entity query
virtual bool GetKeyValue( CBaseEntity *pEntity, const char *szField, char *szValue, int iMaxLen ) = 0;
virtual bool SetKeyValue( CBaseEntity *pEntity, const char *szField, const char *szValue ) = 0;
virtual bool SetKeyValue( CBaseEntity *pEntity, const char *szField, float flValue ) = 0;
virtual bool SetKeyValue( CBaseEntity *pEntity, const char *szField, const Vector &vecValue ) = 0;
|
As to the other functions, I'm pretty sure they are member functions, but to find their offsets first we need to know their base classes.