Additional bot stuff

This commit is contained in:
Amos 2023-01-16 16:54:01 +01:00
parent 68f197dcef
commit 11648d4932
3 changed files with 10 additions and 5 deletions

View File

@ -19,7 +19,7 @@ public:
static void __fastcall OnReceivedSayTextMessage(void* thisptr, int senderId, const char* text, bool isTeamChat);
};
class CServerGameClients
class CServerGameClients // TODO: Reverse..
{
};

View File

@ -1,5 +1,10 @@
#pragma once
//-----------------------------------------------------------------------------
// Forward declarations
//-----------------------------------------------------------------------------
class CClient;
/* ==== CVENGINESERVER ================================================================================================================================================== */
inline CMemory p_IVEngineServer__PersistenceAvailable;
inline auto IVEngineServer__PersistenceAvailable = p_IVEngineServer__PersistenceAvailable.RCast<bool (*)(void* entidx, int clientidx)>();
@ -14,7 +19,7 @@ inline CMemory p_IVEngineServer__GetNumFakeClients;
inline auto IVEngineServer__GetNumFakeClients = p_IVEngineServer__GetNumFakeClients.RCast<int64_t(*)(void)>();
inline CMemory p_IVEngineServer__CreateFakeClient;
inline auto IVEngineServer__CreateFakeClient = p_IVEngineServer__CreateFakeClient.RCast<int64_t(*)(void* es, const char* name, int team)>();
inline auto IVEngineServer__CreateFakeClient = p_IVEngineServer__CreateFakeClient.RCast<CClient*(*)(void* es, const char* name, int team)>();
//inline CMemory p_RunFrameServer;
//inline auto v_RunFrameServer = p_RunFrameServer.RCast<void(*)(double flFrameTime, bool bRunOverlays, bool bUniformUpdate)>();
@ -76,14 +81,14 @@ class HVEngineServer : public IDetour
p_IVEngineServer__IsDedicatedServer = g_GameDll.FindPatternSIMD("0F B6 05 ?? ?? ?? ?? C3 CC CC CC CC CC CC CC CC 48 8B 05 ?? ?? ?? ?? C3 CC CC CC CC CC CC CC CC 40 53");
p_IVEngineServer__GetNumHumanPlayers = g_GameDll.FindPatternSIMD("8B 15 ?? ?? ?? ?? 33 C0 85 D2 7E 24");
p_IVEngineServer__GetNumFakeClients = g_GameDll.FindPatternSIMD("8B 05 ?? ?? ?? ?? 33 C9 85 C0 7E 2D");
p_IVEngineServer__CreateFakeClient = g_GameDll.FindPatternSIMD("48 89 5C 24 ?? 48 89 74 24 ?? 57 48 83 EC 20 48 8B F2 41 8B F8"));
p_IVEngineServer__CreateFakeClient = g_GameDll.FindPatternSIMD("48 89 5C 24 ?? 48 89 74 24 ?? 57 48 83 EC 20 48 8B F2 41 8B F8");
// p_RunFrameServer = g_GameDll.FindPatternSIMD("48 89 5C 24 ?? 57 48 83 EC 30 0F 29 74 24 ?? 48 8D 0D ?? ?? ?? ??");
IVEngineServer__PersistenceAvailable = p_IVEngineServer__PersistenceAvailable.RCast<bool (*)(void*, int)>(); /*3B 15 ?? ?? ?? ?? 7D 33*/
IVEngineServer__IsDedicatedServer = p_IVEngineServer__IsDedicatedServer.RCast<bool (*)(void)>(); /*0F B6 05 ?? ?? ?? ?? C3 CC CC CC CC CC CC CC CC 48 8B 05 ?? ?? ?? ?? C3 CC CC CC CC CC CC CC CC 40 53*/
IVEngineServer__GetNumHumanPlayers = p_IVEngineServer__GetNumHumanPlayers.RCast<int64_t(*)(void)>(); /*8B 15 ?? ?? ?? ?? 33 C0 85 D2 7E 24*/
IVEngineServer__GetNumFakeClients = p_IVEngineServer__GetNumFakeClients.RCast<int64_t(*)(void)>(); /*8B 05 ?? ?? ?? ?? 33 C9 85 C0 7E 2D*/
IVEngineServer__CreateFakeClient = p_IVEngineServer__CreateFakeClient.RCast<int64_t(*)(void*, const char*, int)>();/*48 89 5C 24 ?? 48 89 74 24 ?? 57 48 83 EC 20 48 8B F2 41 8B F8*/
IVEngineServer__CreateFakeClient = p_IVEngineServer__CreateFakeClient.RCast<CClient*(*)(void*, const char*, int)>();/*48 89 5C 24 ?? 48 89 74 24 ?? 57 48 83 EC 20 48 8B F2 41 8B F8*/
// v_RunFrameServer = p_RunFrameServer.RCast<void(*)(double, bool, bool)>(); /*48 89 5C 24 ?? 57 48 83 EC 30 0F 29 74 24 ?? 48 8D 0D ?? ?? ?? ??*/
}
virtual void GetVar(void) const

View File

@ -1247,6 +1247,6 @@ void CC_CreateFakePlayer_f(const CCommand& args)
DevMsg(eDLL_T::SERVER, "usage: sv_addbot name teamid\n");
return;
}
IVEngineServer__CreateFakeClient(nullptr, args.Arg(1), std::stoi(args.Arg(2)));
CClient* pPlayer = IVEngineServer__CreateFakeClient(nullptr, args.Arg(1), std::stoi(args.Arg(2)));
#endif // !CLIENT_DLL
}