From Valve Developer Community
Jump to: navigation, search

Half-Life 2




// Normally, when the engine calls ClientPutInServer, it calls a global function in the game DLL
// by the same name. Use this to override the function that it calls. This is used for bots.
typedef CBasePlayer* (*ClientPutInServerOverrideFn)( edict_t *pEdict, const char *playername );

void ClientPutInServerOverride( ClientPutInServerOverrideFn fn );


Define the new function to call when a client joins a server. A similarly named function is used in the "..\src\game\server\client.h" header, and defined in "..\src\game\server\client.cpp". This function as defined in "..\src\game\server\client.cpp" spawns the "CHL2_Player" player in the game.

To do: Write some more on the implications of using this function. Verify accuracy, too.