feat(gsc): make bots join a server automatically

This commit is contained in:
diamante0018 2025-01-28 08:57:47 +01:00
parent bc0372a249
commit 833e25700c
No known key found for this signature in database
GPG Key ID: F2000F181A4F7C85
3 changed files with 16 additions and 0 deletions

View File

@ -293,6 +293,17 @@ namespace gsc
game::Scr_AddInt(game::environment::is_dedi());
}
void scr_bot_auto_connect_enabled()
{
if (game::environment::is_dedi() && dvars::sv_botsAutoJoin->current.enabled)
{
game::Scr_AddInt(1); // 2 seems to be unused (incomplete GSC/game mode)
return;
}
game::Scr_AddInt(1);
}
const char* get_code_pos(const int index)
{
if (static_cast<unsigned int>(index) >= game::scr_VmPub->outparamcount)
@ -391,6 +402,9 @@ namespace gsc
utils::hook::set<game::BuiltinFunction>(0x1409E6E20, assert_cmd);
utils::hook::set<game::BuiltinFunction>(0x1409E94D0, scr_cmd_is_dedicated_server);
dvars::sv_botsAutoJoin = game::Dvar_RegisterBool("sv_botsAutoJoin", false, game::DVAR_FLAG_NONE, "");
utils::hook::set<game::BuiltinFunction>(0x1409E92F0, scr_bot_auto_connect_enabled);
}
};
}

View File

@ -16,6 +16,7 @@ namespace dvars
game::dvar_t* con_inputCmdMatchColor = nullptr;
game::dvar_t* sv_cheats = nullptr;
game::dvar_t* sv_botsAutoJoin = nullptr;
game::dvar_t* g_playerEjection = nullptr;
game::dvar_t* g_playerCollision = nullptr;

View File

@ -15,6 +15,7 @@ namespace dvars
extern game::dvar_t* con_inputCmdMatchColor;
extern game::dvar_t* sv_cheats;
extern game::dvar_t* sv_botsAutoJoin;
extern game::dvar_t* g_playerCollision;
extern game::dvar_t* g_playerEjection;