fix(Hotkey): Fast run and Freecam not working (#1242)

* fix(noclip): not working properly in single player

Fixes #1178
This commit is contained in:
Andreas Maerten
2023-04-15 22:34:39 +02:00
committed by GitHub
parent 080ffeb647
commit 8a9c6a22c0
4 changed files with 22 additions and 17 deletions

View File

@ -21,7 +21,6 @@ namespace big
virtual void on_tick() override virtual void on_tick() override
{ {
if (g_orbital_drone_service.initialized()) if (g_orbital_drone_service.initialized())
return; return;
@ -35,7 +34,7 @@ namespace big
if (m_entity != ent) if (m_entity != ent)
{ {
ENTITY::FREEZE_ENTITY_POSITION(m_entity, false); ENTITY::FREEZE_ENTITY_POSITION(m_entity, false);
ENTITY::SET_ENTITY_COLLISION(m_entity, true, true); ENTITY::SET_ENTITY_COLLISION(m_entity, true, false);
m_entity = ent; m_entity = ent;
} }

View File

@ -11,23 +11,26 @@ namespace big
{ {
hotkey_service::hotkey_service() hotkey_service::hotkey_service()
{ {
register_hotkey("waypoint", g.settings.hotkeys.teleport_waypoint, RAGE_JOAAT("waypointtp")); // ordered alphabetically to more easily see if a certain hotkey is present
register_hotkey("objective", g.settings.hotkeys.teleport_objective, RAGE_JOAAT("objectivetp"));
register_hotkey("noclip", g.settings.hotkeys.noclip, RAGE_JOAAT("noclip"));
register_hotkey("bringpv", g.settings.hotkeys.bringvehicle, RAGE_JOAAT("bringpv"));
register_hotkey("invis", g.settings.hotkeys.invis, RAGE_JOAAT("invis"));
register_hotkey("heal", g.settings.hotkeys.heal, RAGE_JOAAT("heal"));
register_hotkey("fillsnacks", g.settings.hotkeys.fill_inventory, RAGE_JOAAT("fillsnacks"));
register_hotkey("skipcutscene", g.settings.hotkeys.skip_cutscene, RAGE_JOAAT("skipcutscene"));
register_hotkey("superjump", g.settings.hotkeys.superjump, RAGE_JOAAT("superjump"));
register_hotkey("beastjump", g.settings.hotkeys.beastjump, RAGE_JOAAT("beastjump")); register_hotkey("beastjump", g.settings.hotkeys.beastjump, RAGE_JOAAT("beastjump"));
register_hotkey("invisveh", g.settings.hotkeys.invisveh, RAGE_JOAAT("invisveh")); register_hotkey("bringpv", g.settings.hotkeys.bringvehicle, RAGE_JOAAT("bringpv"));
register_hotkey("localinvisveh", g.settings.hotkeys.localinvisveh, RAGE_JOAAT("localinvisveh")); register_hotkey("quicksearch", g.settings.hotkeys.cmd_excecutor, RAGE_JOAAT("cmdexecutor"));
register_hotkey("fastrun", g.settings.hotkeys.teleport_waypoint, RAGE_JOAAT("fastrun"));
register_hotkey("fastquit", g.settings.hotkeys.fast_quit, RAGE_JOAAT("fastquit")); register_hotkey("fastquit", g.settings.hotkeys.fast_quit, RAGE_JOAAT("fastquit"));
register_hotkey("fillammo", g.settings.hotkeys.fill_ammo, RAGE_JOAAT("fillammo")); register_hotkey("fillammo", g.settings.hotkeys.fill_ammo, RAGE_JOAAT("fillammo"));
register_hotkey("quicksearch", g.settings.hotkeys.cmd_excecutor, RAGE_JOAAT("cmdexecutor")); register_hotkey("fillsnacks", g.settings.hotkeys.fill_inventory, RAGE_JOAAT("fillsnacks"));
register_hotkey("freecam", g.settings.hotkeys.teleport_waypoint, RAGE_JOAAT("freecam"));
register_hotkey("heal", g.settings.hotkeys.heal, RAGE_JOAAT("heal"));
register_hotkey("invis", g.settings.hotkeys.invis, RAGE_JOAAT("invis"));
register_hotkey("invisveh", g.settings.hotkeys.invisveh, RAGE_JOAAT("invisveh"));
register_hotkey("localinvisveh", g.settings.hotkeys.localinvisveh, RAGE_JOAAT("localinvisveh"));
register_hotkey("noclip", g.settings.hotkeys.noclip, RAGE_JOAAT("noclip"));
register_hotkey("objective", g.settings.hotkeys.teleport_objective, RAGE_JOAAT("objectivetp"));
register_hotkey("repairpv", g.settings.hotkeys.repairpv, RAGE_JOAAT("repairpv")); register_hotkey("repairpv", g.settings.hotkeys.repairpv, RAGE_JOAAT("repairpv"));
register_hotkey("skipcutscene", g.settings.hotkeys.skip_cutscene, RAGE_JOAAT("skipcutscene"));
register_hotkey("superjump", g.settings.hotkeys.superjump, RAGE_JOAAT("superjump"));
register_hotkey("vehiclecontroller", g.settings.hotkeys.open_vehicle_controller, RAGE_JOAAT("vehiclecontrol")); register_hotkey("vehiclecontroller", g.settings.hotkeys.open_vehicle_controller, RAGE_JOAAT("vehiclecontrol"));
register_hotkey("waypoint", g.settings.hotkeys.teleport_waypoint, RAGE_JOAAT("waypointtp"));
g_renderer->add_wndproc_callback([this](HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam) { g_renderer->add_wndproc_callback([this](HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam) {
wndproc(static_cast<eKeyState>(msg), wparam); wndproc(static_cast<eKeyState>(msg), wparam);

View File

@ -72,6 +72,9 @@ namespace big::entity
inline bool take_control_of(Entity ent, int timeout = 300) inline bool take_control_of(Entity ent, int timeout = 300)
{ {
if (!*g_pointers->m_gta.m_is_session_started)
return true;
auto hnd = g_pointers->m_gta.m_handle_to_ptr(ent); auto hnd = g_pointers->m_gta.m_handle_to_ptr(ent);
if (!hnd || !hnd->m_net_object || !*g_pointers->m_gta.m_is_session_started) if (!hnd || !hnd->m_net_object || !*g_pointers->m_gta.m_is_session_started)

View File

@ -30,11 +30,11 @@ namespace big
g_hotkey_service->update_hotkey("skipcutscene", g.settings.hotkeys.skip_cutscene); g_hotkey_service->update_hotkey("skipcutscene", g.settings.hotkeys.skip_cutscene);
if (ImGui::Hotkey("Toggle Freecam", &g.settings.hotkeys.freecam)) if (ImGui::Hotkey("Toggle Freecam", &g.settings.hotkeys.freecam))
g_hotkey_service->update_hotkey("freecam", g.settings.hotkeys.freecam); g_hotkey_service->update_hotkey("freecam", g.settings.hotkeys.freecam);
if (ImGui::Hotkey("Toggle fastrun", &g.settings.hotkeys.superrun)) if (ImGui::Hotkey("Toggle Fastrun", &g.settings.hotkeys.superrun))
g_hotkey_service->update_hotkey("fastrun", g.settings.hotkeys.superrun); g_hotkey_service->update_hotkey("fastrun", g.settings.hotkeys.superrun);
if (ImGui::Hotkey("Toggle superjump", &g.settings.hotkeys.superjump)) if (ImGui::Hotkey("Toggle Superjump", &g.settings.hotkeys.superjump))
g_hotkey_service->update_hotkey("superjump", g.settings.hotkeys.superjump); g_hotkey_service->update_hotkey("superjump", g.settings.hotkeys.superjump);
if (ImGui::Hotkey("Toggle beastjump", &g.settings.hotkeys.beastjump)) if (ImGui::Hotkey("Toggle Beastjump", &g.settings.hotkeys.beastjump))
g_hotkey_service->update_hotkey("beastjump", g.settings.hotkeys.beastjump); g_hotkey_service->update_hotkey("beastjump", g.settings.hotkeys.beastjump);
if (ImGui::Hotkey("Toggle Vehicle Invisibility", &g.settings.hotkeys.invisveh)) if (ImGui::Hotkey("Toggle Vehicle Invisibility", &g.settings.hotkeys.invisveh))
g_hotkey_service->update_hotkey("invisveh", g.settings.hotkeys.invisveh); g_hotkey_service->update_hotkey("invisveh", g.settings.hotkeys.invisveh);