Merge pull request #10 from diamante0018/main

Add isBot function
This commit is contained in:
fed 2022-01-06 22:08:45 +01:00 committed by GitHub
commit 10b45027d0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 29 additions and 0 deletions

View File

@ -416,6 +416,22 @@ namespace gsc
return {}; return {};
}); });
method::add("isbot", [](const game::scr_entref_t ent, const function_args& args) -> scripting::script_value
{
if (ent.classnum != 0)
{
throw std::runtime_error("Invalid entity");
}
const auto client = ent.entnum;
if (game::g_entities[client].client == nullptr)
{
throw std::runtime_error("entity is not a player");
}
return game::svs_clients[client].bIsTestClient;
});
utils::hook::jump(0x56C8EB, call_builtin_stub); utils::hook::jump(0x56C8EB, call_builtin_stub);
utils::hook::jump(0x56CBDC, call_builtin_method_stub); utils::hook::jump(0x56CBDC, call_builtin_method_stub);
} }

View File

@ -327,4 +327,15 @@ namespace game
int flags; int flags;
char __pad2[0xEC]; char __pad2[0xEC];
}; };
struct client_s
{
char __pad0[0x41CB2];
unsigned __int16 scriptId; // 269490
int bIsTestClient; // 269492
int serverId; // 269496
char __pad1[0x369DC];
};
static_assert(sizeof(client_s) == 0x78698);
} }

View File

@ -79,6 +79,8 @@ namespace game
WEAK symbol<gentity_s> g_entities{0x1A66E28}; WEAK symbol<gentity_s> g_entities{0x1A66E28};
WEAK symbol<unsigned int> levelEntityId{0x208E1A4}; WEAK symbol<unsigned int> levelEntityId{0x208E1A4};
WEAK symbol<client_s> svs_clients{0x4B5CF90};
namespace plutonium namespace plutonium
{ {
WEAK symbol<std::unordered_map<std::string, std::uint16_t>> function_map_rev{0x20693038}; WEAK symbol<std::unordered_map<std::string, std::uint16_t>> function_map_rev{0x20693038};