All pastes #1741594 Raw Edit

Hook code

public cpp v1 · immutable
#1741594 ·published 2010-01-07 17:12 UTC
rendered paste body
// ===================//  Class structures. // ===================#pragma pack(1)typedef struct	SS_CPlayerPool{	// Data	BOOL		bPlayerConnected[MAX_PLAYERS];		// Methods	bool		IsPlayerConnected(int playerid)	{		if (playerid < 0 || playerid >= MAX_PLAYERS)		{			return false;		}		return (bPlayerConnected[playerid] != 0);	};}SS_CPlayerPool;#pragma pack(1)typedef struct	SS_CServer{	void		*pFirst;	SS_CPlayerPool		*pPlayerPool;}SS_CServer;// ================================//  Our version of the server data // ================================class CServer{public:	// cons		CServer();		SS_CServer *		GetServer()	{		return *m_pServer;	};		SS_CPlayerPool *		GetPlayerPool()	{		return GetServer()->pPlayerPool;	};	private:	SS_CServer **		m_pServer;};// ========================//  Set up the server data // ========================extern logprintf_t	logprintf;// cons	CServer::	CServer(){	switch ((int)logprintf)	{		case ADDR_LOGPRINTF_0303:			m_pServer = ADDR_NETGAME_0303;			break;		default:			logprintf("Error: Unknown server version\n");			return;	}}// ==============================================//  Once all that is set up, using it is trivial // ==============================================extern CServer	gServer;void	MyFunc(int playerid){	if (gServer.GetPlayerPool()->IsPlayerConnected(playerid))	{		// Do something.	}}