mirror of
https://github.com/Mr-X-GTA/YimMenu.git
synced 2025-07-15 23:07:59 +08:00
refactor!: globals (#717)
* refactor(globals): use macro's for to_json/from_json * refactor(globals): switch from global pointer to global instance
This commit is contained in:
@ -24,17 +24,17 @@ namespace big
|
||||
|
||||
g_player_service->iterate([](const player_entry& entry)
|
||||
{
|
||||
if ((g->session.off_radar_all || entry.second->off_radar) && offRadarPlayer == entry.second->id())
|
||||
if ((g.session.off_radar_all || entry.second->off_radar) && offRadarPlayer == entry.second->id())
|
||||
globals::give_remote_otr(entry.second->id());
|
||||
});
|
||||
|
||||
g_player_service->iterate([](const player_entry& entry)
|
||||
{
|
||||
if ((g->session.never_wanted_all || entry.second->never_wanted) && PLAYER::GET_PLAYER_WANTED_LEVEL(entry.second->id()) > 0 && neverWantedPlayer == entry.second->id())
|
||||
if ((g.session.never_wanted_all || entry.second->never_wanted) && PLAYER::GET_PLAYER_WANTED_LEVEL(entry.second->id()) > 0 && neverWantedPlayer == entry.second->id())
|
||||
globals::clear_wanted_player(entry.second->id());
|
||||
});
|
||||
|
||||
if (g->session.semi_godmode_all)
|
||||
if (g.session.semi_godmode_all)
|
||||
{
|
||||
g_pointers->m_give_pickup_rewards(-1, REWARD_HEALTH);
|
||||
g_pointers->m_give_pickup_rewards(-1, REWARD_ARMOUR);
|
||||
|
@ -8,32 +8,32 @@ namespace big
|
||||
{
|
||||
void looped::player_remote_control_vehicle()
|
||||
{
|
||||
if (g->m_remote_controller_vehicle == -1)
|
||||
if (g.m_remote_controller_vehicle == -1)
|
||||
return;
|
||||
|
||||
if (!ENTITY::DOES_ENTITY_EXIST(g->m_remote_controlled_vehicle))
|
||||
if (!ENTITY::DOES_ENTITY_EXIST(g.m_remote_controlled_vehicle))
|
||||
{
|
||||
g->m_remote_controlled_vehicle = -1;
|
||||
g->m_remote_controlled_vehicle = -1;
|
||||
g.m_remote_controlled_vehicle = -1;
|
||||
g.m_remote_controlled_vehicle = -1;
|
||||
return;
|
||||
}
|
||||
|
||||
if (!ENTITY::DOES_ENTITY_EXIST(g->m_remote_controller_vehicle))
|
||||
if (!ENTITY::DOES_ENTITY_EXIST(g.m_remote_controller_vehicle))
|
||||
{
|
||||
g->m_remote_controlled_vehicle = -1;
|
||||
g->m_remote_controlled_vehicle = -1;
|
||||
g.m_remote_controlled_vehicle = -1;
|
||||
g.m_remote_controlled_vehicle = -1;
|
||||
return;
|
||||
}
|
||||
|
||||
if (VEHICLE::IS_VEHICLE_SEAT_FREE(g->m_remote_controller_vehicle, -1, TRUE))
|
||||
if (VEHICLE::IS_VEHICLE_SEAT_FREE(g.m_remote_controller_vehicle, -1, TRUE))
|
||||
{
|
||||
auto controlled = g->m_remote_controlled_vehicle;
|
||||
auto controller = g->m_remote_controller_vehicle;
|
||||
auto controlled = g.m_remote_controlled_vehicle;
|
||||
auto controller = g.m_remote_controller_vehicle;
|
||||
g_fiber_pool->queue_job([controlled, controller]
|
||||
{
|
||||
if (entity::take_control_of(controlled))
|
||||
{
|
||||
ENTITY::SET_ENTITY_COLLISION(g->m_remote_controlled_vehicle, TRUE, TRUE);
|
||||
ENTITY::SET_ENTITY_COLLISION(g.m_remote_controlled_vehicle, TRUE, TRUE);
|
||||
ENTITY::DETACH_ENTITY(controlled, TRUE, TRUE);
|
||||
VEHICLE::SET_VEHICLE_DOORS_LOCKED(controlled, 0);
|
||||
VEHICLE::SET_VEHICLE_DOORS_LOCKED_FOR_ALL_PLAYERS(controlled, FALSE);
|
||||
@ -43,8 +43,8 @@ namespace big
|
||||
});
|
||||
|
||||
|
||||
g->m_remote_controller_vehicle = -1;
|
||||
g->m_remote_controlled_vehicle = -1;
|
||||
g.m_remote_controller_vehicle = -1;
|
||||
g.m_remote_controlled_vehicle = -1;
|
||||
}
|
||||
}
|
||||
};
|
@ -12,9 +12,9 @@ namespace big
|
||||
const auto vehicle = self::veh;
|
||||
const auto ped = self::ped;
|
||||
|
||||
if (!g_player_service->get_selected()->is_valid() || !g->player.spectating)
|
||||
if (!g_player_service->get_selected()->is_valid() || !g.player.spectating)
|
||||
{
|
||||
if (g->player.spectating) g->player.spectating = false;
|
||||
if (g.player.spectating) g.player.spectating = false;
|
||||
|
||||
if (!bReset)
|
||||
{
|
||||
|
@ -6,7 +6,7 @@ namespace big
|
||||
{
|
||||
void looped::self_clean_player()
|
||||
{
|
||||
if (g->self.clean_player) {
|
||||
if (g.self.clean_player) {
|
||||
entity::clean_ped(self::ped);
|
||||
}
|
||||
}
|
||||
|
@ -9,10 +9,10 @@ namespace big
|
||||
bool bLastDanceMode = false;
|
||||
void looped::self_dance_mode()
|
||||
{
|
||||
if (g->self.dance_mode && SCRIPT::GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(RAGE_JOAAT("maintransition")) > 0)
|
||||
g->self.dance_mode = false;
|
||||
if (g.self.dance_mode && SCRIPT::GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(RAGE_JOAAT("maintransition")) > 0)
|
||||
g.self.dance_mode = false;
|
||||
|
||||
if (g->self.dance_mode && g->self.dance_mode != bLastDanceMode)
|
||||
if (g.self.dance_mode && g.self.dance_mode != bLastDanceMode)
|
||||
{
|
||||
scripts::request_script(RAGE_JOAAT("am_mp_nightclub"));
|
||||
if (!scripts::wait_till_loaded(RAGE_JOAAT("am_mp_nightclub")))
|
||||
@ -24,12 +24,12 @@ namespace big
|
||||
if (!thread)
|
||||
return;
|
||||
|
||||
g->m_dance_thread = gta_util::find_script_thread(RAGE_JOAAT("am_mp_nightclub"));
|
||||
g->m_dance_program = gta_util::find_script_program(RAGE_JOAAT("am_mp_nightclub"));
|
||||
g.m_dance_thread = gta_util::find_script_thread(RAGE_JOAAT("am_mp_nightclub"));
|
||||
g.m_dance_program = gta_util::find_script_program(RAGE_JOAAT("am_mp_nightclub"));
|
||||
|
||||
(*g_pointers->m_script_handler_mgr)->attach_thread(g->m_dance_thread);
|
||||
(*g_pointers->m_script_handler_mgr)->attach_thread(g.m_dance_thread);
|
||||
|
||||
g->m_dance_thread->m_context.m_state = rage::eThreadState::unk_3;
|
||||
g.m_dance_thread->m_context.m_state = rage::eThreadState::unk_3;
|
||||
|
||||
// perform initial setup
|
||||
gta_util::execute_as_script(RAGE_JOAAT("am_mp_nightclub"), []
|
||||
@ -43,25 +43,25 @@ namespace big
|
||||
return;
|
||||
}
|
||||
|
||||
if (!g->self.dance_mode && g->self.dance_mode != bLastDanceMode)
|
||||
if (!g.self.dance_mode && g.self.dance_mode != bLastDanceMode)
|
||||
{
|
||||
if (g->m_dance_thread)
|
||||
g->m_dance_thread->kill();
|
||||
if (g.m_dance_thread)
|
||||
g.m_dance_thread->kill();
|
||||
|
||||
g->m_dance_thread = nullptr;
|
||||
g->m_dance_program = nullptr;
|
||||
g.m_dance_thread = nullptr;
|
||||
g.m_dance_program = nullptr;
|
||||
|
||||
bLastDanceMode = false;
|
||||
return;
|
||||
}
|
||||
|
||||
if (g->self.dance_mode && g->m_dance_thread->m_handler)
|
||||
if (g.self.dance_mode && g.m_dance_thread->m_handler)
|
||||
{
|
||||
*script_global(1950102).as<bool*>() = true;
|
||||
misc::set_bit(scr_globals::gpbd_fm_1.at(self::id, scr_globals::size::gpbd_fm_1).at(267).at(310).at(7).as<int*>(), 0);
|
||||
misc::set_bit(scr_globals::gpbd_fm_1.at(self::id, scr_globals::size::gpbd_fm_1).at(267).at(310).at(7).as<int*>(), 1);
|
||||
misc::set_bit(scr_globals::gpbd_fm_1.at(self::id, scr_globals::size::gpbd_fm_1).at(267).at(310).at(7).as<int*>(), 2);
|
||||
scr_functions::dance_loop.call(g->m_dance_thread, g->m_dance_program, {});
|
||||
scr_functions::dance_loop.call(g.m_dance_thread, g.m_dance_program, {});
|
||||
}
|
||||
}
|
||||
}
|
@ -5,7 +5,7 @@ namespace big
|
||||
{
|
||||
void looped::self_fast_respawn()
|
||||
{
|
||||
if (g->self.fast_respawn)
|
||||
if (g.self.fast_respawn)
|
||||
{
|
||||
if(PED::IS_PED_DEAD_OR_DYING(self::ped, true))
|
||||
{
|
||||
|
@ -33,7 +33,7 @@ namespace big
|
||||
{
|
||||
if (g_local_player == nullptr) return;
|
||||
|
||||
if (g->self.free_cam)
|
||||
if (g.self.free_cam)
|
||||
{
|
||||
PAD::DISABLE_ALL_CONTROL_ACTIONS(0);
|
||||
|
||||
@ -48,9 +48,9 @@ namespace big
|
||||
|
||||
const auto vehicle = self::veh;
|
||||
const auto ped = self::ped;
|
||||
if (!g->self.free_cam && !bLastFreeCam) return;
|
||||
if (!g.self.free_cam && !bLastFreeCam) return;
|
||||
|
||||
if (g->self.free_cam && !bLastFreeCam)
|
||||
if (g.self.free_cam && !bLastFreeCam)
|
||||
{
|
||||
cCam = CAM::CREATE_CAM("DEFAULT_SCRIPTED_CAMERA", 0);
|
||||
|
||||
@ -66,7 +66,7 @@ namespace big
|
||||
|
||||
bLastFreeCam = true;
|
||||
}
|
||||
else if (!g->self.free_cam && bLastFreeCam)
|
||||
else if (!g.self.free_cam && bLastFreeCam)
|
||||
{
|
||||
CAM::SET_CAM_ACTIVE(cCam, false);
|
||||
CAM::RENDER_SCRIPT_CAMS(false, true, 500, true, true, 0);
|
||||
|
@ -12,7 +12,7 @@ namespace big
|
||||
return;
|
||||
}
|
||||
|
||||
uint32_t bits = g->self.proof_mask;
|
||||
uint32_t bits = g.self.proof_mask;
|
||||
uint32_t changed_bits = bits ^ last_bits;
|
||||
uint32_t changed_or_enabled_bits = bits | changed_bits;
|
||||
|
||||
|
@ -9,11 +9,11 @@ namespace big
|
||||
|
||||
void looped::self_hud()
|
||||
{
|
||||
const bool bHideRadar = g->self.hide_radar;
|
||||
const bool bHideAmmo = g->self.hide_ammo;
|
||||
const bool bForceShowElement = g->self.force_show_hud_element;
|
||||
const bool bForceShowHUD = g->self.force_show_hud;
|
||||
auto& bHudComponents = g->self.hud_components_states;
|
||||
const bool bHideRadar = g.self.hide_radar;
|
||||
const bool bHideAmmo = g.self.hide_ammo;
|
||||
const bool bForceShowElement = g.self.force_show_hud_element;
|
||||
const bool bForceShowHUD = g.self.force_show_hud;
|
||||
auto& bHudComponents = g.self.hud_components_states;
|
||||
|
||||
if (bHideRadar)
|
||||
{
|
||||
|
@ -9,25 +9,25 @@ namespace big
|
||||
{
|
||||
Ped ped = self::ped;
|
||||
|
||||
bool bInvisibility = g->self.invisibility;
|
||||
bool bInvisibility = g.self.invisibility;
|
||||
|
||||
if (bInvisibility || (!bInvisibility && bInvisibility != bLastInvisibility))
|
||||
{
|
||||
ENTITY::SET_ENTITY_VISIBLE(ped, !g->self.invisibility, 0);
|
||||
ENTITY::SET_ENTITY_VISIBLE(ped, !g.self.invisibility, 0);
|
||||
|
||||
bLastInvisibility = g->self.invisibility;
|
||||
bLastInvisibility = g.self.invisibility;
|
||||
}
|
||||
|
||||
if (NETWORK::NETWORK_IS_SESSION_STARTED())
|
||||
{
|
||||
if (g->self.invisibility && g->self.local_visibility)
|
||||
if (g.self.invisibility && g.self.local_visibility)
|
||||
{
|
||||
NETWORK::SET_ENTITY_LOCALLY_VISIBLE(ped);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (g->self.local_visibility)
|
||||
if (g.self.local_visibility)
|
||||
{
|
||||
ENTITY::SET_ENTITY_VISIBLE(ped, true, 0);
|
||||
}
|
||||
|
@ -7,7 +7,7 @@ namespace big
|
||||
|
||||
void looped::self_mobile_radio()
|
||||
{
|
||||
const bool bMobileRadio = g->self.mobile_radio;
|
||||
const bool bMobileRadio = g.self.mobile_radio;
|
||||
|
||||
if (bMobileRadio)
|
||||
{
|
||||
|
@ -10,7 +10,7 @@ namespace big
|
||||
{
|
||||
if (g_local_player == nullptr) return;
|
||||
|
||||
bool bNoCollsion = g->self.no_collision;
|
||||
bool bNoCollsion = g.self.no_collision;
|
||||
|
||||
if (bNoCollsion)
|
||||
{
|
||||
|
@ -7,13 +7,13 @@ namespace big
|
||||
|
||||
void looped::self_no_ragdoll()
|
||||
{
|
||||
bool bNoRagdoll = g->self.no_ragdoll;
|
||||
bool bNoRagdoll = g.self.no_ragdoll;
|
||||
|
||||
if (bNoRagdoll || (!bNoRagdoll && bNoRagdoll != bLastNoRagdoll))
|
||||
{
|
||||
PED::SET_PED_CAN_RAGDOLL(self::ped, !g->self.no_ragdoll);
|
||||
PED::SET_PED_CAN_RAGDOLL(self::ped, !g.self.no_ragdoll);
|
||||
|
||||
bLastNoRagdoll = g->self.no_ragdoll;
|
||||
bLastNoRagdoll = g.self.no_ragdoll;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -8,7 +8,7 @@ namespace big
|
||||
{
|
||||
if (g_local_player == nullptr) return;
|
||||
|
||||
bool bNoWaterCollsion = g->self.no_water_collision;
|
||||
bool bNoWaterCollsion = g.self.no_water_collision;
|
||||
|
||||
if (bNoWaterCollsion)
|
||||
{
|
||||
|
@ -26,7 +26,7 @@ namespace big
|
||||
|
||||
void looped::self_noclip_disable_control_action()
|
||||
{
|
||||
if (g->self.noclip)
|
||||
if (g.self.noclip)
|
||||
{
|
||||
for (const auto& control : controls)
|
||||
PAD::DISABLE_CONTROL_ACTION(0, static_cast<int>(control), true);
|
||||
@ -35,7 +35,7 @@ namespace big
|
||||
|
||||
void looped::self_noclip()
|
||||
{
|
||||
const auto bNoclip = g->self.noclip;
|
||||
const auto bNoclip = g.self.noclip;
|
||||
|
||||
const auto location = self::pos;
|
||||
const Entity ent = (self::veh != 0 && g_local_player->m_ped_task_flag & (int)ePedTask::TASK_DRIVING) ? self::veh : self::ped;
|
||||
|
@ -5,7 +5,7 @@ namespace big
|
||||
{
|
||||
void looped::self_off_radar()
|
||||
{
|
||||
if (g->self.off_radar)
|
||||
mobile::lester::off_radar(g->self.off_radar);
|
||||
if (g.self.off_radar)
|
||||
mobile::lester::off_radar(g.self.off_radar);
|
||||
}
|
||||
}
|
@ -9,7 +9,7 @@ namespace big
|
||||
|
||||
static bool bLast = false;
|
||||
|
||||
bool b = g->self.never_wanted;
|
||||
bool b = g.self.never_wanted;
|
||||
|
||||
if (b)
|
||||
{
|
||||
@ -25,7 +25,7 @@ namespace big
|
||||
bLast = b;
|
||||
}
|
||||
|
||||
if(g->self.force_wanted_level && !b)
|
||||
g_local_player->m_player_info->m_wanted_level = g->self.wanted_level;
|
||||
if(g.self.force_wanted_level && !b)
|
||||
g_local_player->m_player_info->m_wanted_level = g.self.wanted_level;
|
||||
}
|
||||
}
|
@ -11,7 +11,7 @@ namespace big
|
||||
|
||||
void looped::self_super_run()
|
||||
{
|
||||
if (g->self.super_run && PAD::IS_CONTROL_PRESSED(0, (int)ControllerInputs::INPUT_SPRINT))
|
||||
if (g.self.super_run && PAD::IS_CONTROL_PRESSED(0, (int)ControllerInputs::INPUT_SPRINT))
|
||||
{
|
||||
if (run_speed < run_cap) run_speed += .5f;
|
||||
|
||||
@ -38,7 +38,7 @@ namespace big
|
||||
|
||||
g_local_player->m_player_info->m_run_speed = .7f;
|
||||
}
|
||||
else if (!g->self.super_run && g->self.super_run != super_run_state)
|
||||
else if (!g.self.super_run && g.self.super_run != super_run_state)
|
||||
{
|
||||
g_local_player->m_player_info->m_run_speed = 1.f;
|
||||
}
|
||||
@ -48,6 +48,6 @@ namespace big
|
||||
g_local_player->m_player_info->m_run_speed = 1.f;
|
||||
}
|
||||
|
||||
super_run_state = g->self.super_run;
|
||||
super_run_state = g.self.super_run;
|
||||
}
|
||||
}
|
@ -6,7 +6,7 @@ namespace big
|
||||
{
|
||||
if (g_local_player == nullptr) return;
|
||||
|
||||
if (g->self.unlimited_oxygen)
|
||||
if (g.self.unlimited_oxygen)
|
||||
g_local_player->m_oxygen_info->m_oxygen_time = 0;
|
||||
}
|
||||
}
|
@ -8,7 +8,7 @@ namespace big
|
||||
static bool bLastKickHost = false;
|
||||
void looped::session_auto_kick_host()
|
||||
{
|
||||
bool kick_host = *g_pointers->m_is_session_started && g->session.force_session_host && g->session.kick_host_when_forcing_host;
|
||||
bool kick_host = *g_pointers->m_is_session_started && g.session.force_session_host && g.session.kick_host_when_forcing_host;
|
||||
if (kick_host && !bLastKickHost)
|
||||
{
|
||||
g_player_service->iterate([](auto& plyr)
|
||||
|
@ -10,7 +10,7 @@ namespace big
|
||||
|
||||
void looped::session_force_thunder()
|
||||
{
|
||||
bool used = g->session.force_thunder && *g_pointers->m_is_session_started;
|
||||
bool used = g.session.force_thunder && *g_pointers->m_is_session_started;
|
||||
if (!bLastForceThunderEnabled && used)
|
||||
{
|
||||
if (!STREAMING::IS_PLAYER_SWITCH_IN_PROGRESS() && gta_util::find_script_thread(RAGE_JOAAT("freemode")) && SCRIPT::GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(RAGE_JOAAT("maintransition")) == 0)
|
||||
|
@ -7,15 +7,15 @@ namespace big
|
||||
|
||||
void looped::session_local_time()
|
||||
{
|
||||
if (g->session.override_time)
|
||||
if (g.session.override_time)
|
||||
{
|
||||
if (toggled)
|
||||
{
|
||||
NETWORK::NETWORK_GET_GLOBAL_MULTIPLAYER_CLOCK(&g->session.custom_time.hour, &g->session.custom_time.minute, &g->session.custom_time.second);
|
||||
NETWORK::NETWORK_GET_GLOBAL_MULTIPLAYER_CLOCK(&g.session.custom_time.hour, &g.session.custom_time.minute, &g.session.custom_time.second);
|
||||
toggled = false;
|
||||
}
|
||||
|
||||
NETWORK::NETWORK_OVERRIDE_CLOCK_TIME(g->session.custom_time.hour, g->session.custom_time.minute, g->session.custom_time.second);
|
||||
NETWORK::NETWORK_OVERRIDE_CLOCK_TIME(g.session.custom_time.hour, g.session.custom_time.minute, g.session.custom_time.second);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -12,27 +12,27 @@ namespace big
|
||||
|
||||
void looped::session_pop_multiplier_areas()
|
||||
{
|
||||
bool used = (g->session.disable_traffic || g->session.disable_peds) && *g_pointers->m_is_session_started;
|
||||
bool used = (g.session.disable_traffic || g.session.disable_peds) && *g_pointers->m_is_session_started;
|
||||
if (!bLastPopMultiplierAreasEnabled && used)
|
||||
{
|
||||
if (!STREAMING::IS_PLAYER_SWITCH_IN_PROGRESS() && gta_util::find_script_thread(RAGE_JOAAT("freemode")) && SCRIPT::GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(RAGE_JOAAT("maintransition")) == 0)
|
||||
{
|
||||
gta_util::execute_as_script(RAGE_JOAAT("freemode"), []
|
||||
{
|
||||
pop_multiplier_id = MISC::ADD_POP_MULTIPLIER_SPHERE(1.1f, 1.1f, 1.1f, 15000.0f, g->session.disable_peds ? 0.0f : 1.0f, g->session.disable_traffic ? 0.0f : 1.0f, false, true);
|
||||
pop_multiplier_id = MISC::ADD_POP_MULTIPLIER_SPHERE(1.1f, 1.1f, 1.1f, 15000.0f, g.session.disable_peds ? 0.0f : 1.0f, g.session.disable_traffic ? 0.0f : 1.0f, false, true);
|
||||
|
||||
bLastBlockPeds = g->session.disable_peds;
|
||||
bLastBlockVehs = g->session.disable_traffic;
|
||||
bLastBlockPeds = g.session.disable_peds;
|
||||
bLastBlockVehs = g.session.disable_traffic;
|
||||
bLastPopMultiplierAreasEnabled = true;
|
||||
|
||||
MISC::CLEAR_AREA(1.1f, 1.1f, 1.1f, 19999.9f, true, false, false, true);
|
||||
});
|
||||
}
|
||||
}
|
||||
else if (bLastPopMultiplierAreasEnabled && (g->session.disable_traffic != bLastBlockVehs || g->session.disable_peds != bLastBlockPeds))
|
||||
else if (bLastPopMultiplierAreasEnabled && (g.session.disable_traffic != bLastBlockVehs || g.session.disable_peds != bLastBlockPeds))
|
||||
{
|
||||
bLastBlockPeds = g->session.disable_peds;
|
||||
bLastBlockVehs = g->session.disable_traffic;
|
||||
bLastBlockPeds = g.session.disable_peds;
|
||||
bLastBlockVehs = g.session.disable_traffic;
|
||||
used = false;
|
||||
}
|
||||
|
||||
|
@ -9,7 +9,7 @@ namespace big
|
||||
{
|
||||
void looped::session_randomize_ceo_colors()
|
||||
{
|
||||
if (g->session.randomize_ceo_colors && *g_pointers->m_is_session_started && !STREAMING::IS_PLAYER_SWITCH_IN_PROGRESS() && SCRIPT::GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(RAGE_JOAAT("maintransition")) == 0)
|
||||
if (g.session.randomize_ceo_colors && *g_pointers->m_is_session_started && !STREAMING::IS_PLAYER_SWITCH_IN_PROGRESS() && SCRIPT::GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(RAGE_JOAAT("maintransition")) == 0)
|
||||
{
|
||||
if (auto freemode = gta_util::find_script_thread(RAGE_JOAAT("freemode")); freemode && freemode->m_net_component && freemode->m_net_component->is_local_player_host())
|
||||
{
|
||||
|
@ -11,18 +11,18 @@ namespace big
|
||||
{
|
||||
bool temp_disable_tp = (!*g_pointers->m_is_session_started) && CUTSCENE::IS_CUTSCENE_ACTIVE();
|
||||
|
||||
if ((!g->self.auto_tp || temp_disable_tp) && bLastAutoTP)
|
||||
if ((!g.self.auto_tp || temp_disable_tp) && bLastAutoTP)
|
||||
{
|
||||
MISC::USING_MISSION_CREATOR(false);
|
||||
MISC::ALLOW_MISSION_CREATOR_WARP(false);
|
||||
}
|
||||
|
||||
if (g->self.auto_tp && !temp_disable_tp)
|
||||
if (g.self.auto_tp && !temp_disable_tp)
|
||||
{
|
||||
MISC::USING_MISSION_CREATOR(true);
|
||||
MISC::ALLOW_MISSION_CREATOR_WARP(true);
|
||||
}
|
||||
|
||||
bLastAutoTP = g->self.auto_tp;
|
||||
bLastAutoTP = g.self.auto_tp;
|
||||
}
|
||||
}
|
@ -10,15 +10,15 @@ namespace big
|
||||
bool bLastMissionCreator = false;
|
||||
void looped::system_mission_creator()
|
||||
{
|
||||
if (g->m_mission_creator_thread)
|
||||
if (g.m_mission_creator_thread)
|
||||
{
|
||||
*scr_globals::terminate_creator.as<bool*>() = false;
|
||||
|
||||
if (SCRIPT::GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(RAGE_JOAAT("maintransition")) > 0)
|
||||
{
|
||||
if (g->m_mission_creator_thread)
|
||||
g->m_mission_creator_thread->kill();
|
||||
g->m_mission_creator_thread = nullptr;
|
||||
if (g.m_mission_creator_thread)
|
||||
g.m_mission_creator_thread->kill();
|
||||
g.m_mission_creator_thread = nullptr;
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -8,12 +8,12 @@ namespace big
|
||||
static bool bLastForceHost = false;
|
||||
void looped::system_spoofing()
|
||||
{
|
||||
if (bLastForceHost != g->session.force_session_host && gta_util::get_network()->m_game_session_state == 0)
|
||||
if (bLastForceHost != g.session.force_session_host && gta_util::get_network()->m_game_session_state == 0)
|
||||
{
|
||||
std::uint64_t host_token;
|
||||
g_pointers->m_generate_uuid(&host_token);
|
||||
|
||||
host_token = g->session.force_session_host ? (rand() % 10000) : host_token;
|
||||
host_token = g.session.force_session_host ? (rand() % 10000) : host_token;
|
||||
|
||||
*g_pointers->m_host_token = host_token;
|
||||
|
||||
@ -27,17 +27,17 @@ namespace big
|
||||
if (g_local_player && g_local_player->m_player_info)
|
||||
g_local_player->m_player_info->m_net_player_data.m_host_token = host_token;
|
||||
|
||||
bLastForceHost = g->session.force_session_host;
|
||||
bLastForceHost = g.session.force_session_host;
|
||||
}
|
||||
|
||||
if (g->spoofing.rockstar_id != g->spoofing.applied_spoof_rockstar_id && gta_util::get_network()->m_game_session_state == 0)
|
||||
if (g.spoofing.rockstar_id != g.spoofing.applied_spoof_rockstar_id && gta_util::get_network()->m_game_session_state == 0)
|
||||
{
|
||||
g->spoofing.applied_spoof_rockstar_id = g->spoofing.spoof_rockstar_id;
|
||||
g.spoofing.applied_spoof_rockstar_id = g.spoofing.spoof_rockstar_id;
|
||||
}
|
||||
|
||||
if (g->spoofing.spoof_rockstar_id != g->spoofing.should_spoof_rockstar_id && gta_util::get_network()->m_game_session_state == 0)
|
||||
if (g.spoofing.spoof_rockstar_id != g.spoofing.should_spoof_rockstar_id && gta_util::get_network()->m_game_session_state == 0)
|
||||
{
|
||||
g->spoofing.should_spoof_rockstar_id = g->spoofing.spoof_rockstar_id;
|
||||
g.spoofing.should_spoof_rockstar_id = g.spoofing.spoof_rockstar_id;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -5,6 +5,6 @@ namespace big
|
||||
{
|
||||
void looped::tunables_disable_phone()
|
||||
{
|
||||
*script_global(20366).as<bool*>() = g->tunables.disable_phone; // Who even uses that...
|
||||
*script_global(20366).as<bool*>() = g.tunables.disable_phone; // Who even uses that...
|
||||
}
|
||||
}
|
@ -21,10 +21,10 @@ namespace big
|
||||
static bool started = false;
|
||||
static Vector3 waypoint;
|
||||
|
||||
if (g->vehicle.auto_drive_destination != AutoDriveDestination::STOPPED)
|
||||
if (g.vehicle.auto_drive_destination != AutoDriveDestination::STOPPED)
|
||||
{
|
||||
current_destination = g->vehicle.auto_drive_destination;
|
||||
g->vehicle.auto_drive_destination = AutoDriveDestination::STOPPED;
|
||||
current_destination = g.vehicle.auto_drive_destination;
|
||||
g.vehicle.auto_drive_destination = AutoDriveDestination::STOPPED;
|
||||
changing_driving_styles = true;
|
||||
}
|
||||
|
||||
@ -35,11 +35,11 @@ namespace big
|
||||
g_notification_service->push_warning("Warning", "Please be in a car first then try again.");
|
||||
}
|
||||
else if (
|
||||
current_driving_flag != driving_style_flags[g->vehicle.auto_drive_style] ||
|
||||
current_speed != g->vehicle.auto_drive_speed
|
||||
current_driving_flag != driving_style_flags[g.vehicle.auto_drive_style] ||
|
||||
current_speed != g.vehicle.auto_drive_speed
|
||||
) {
|
||||
current_driving_flag = driving_style_flags[g->vehicle.auto_drive_style];
|
||||
current_speed = g->vehicle.auto_drive_speed;
|
||||
current_driving_flag = driving_style_flags[g.vehicle.auto_drive_style];
|
||||
current_speed = g.vehicle.auto_drive_speed;
|
||||
changing_driving_styles = true;
|
||||
}
|
||||
|
||||
|
@ -10,12 +10,12 @@ namespace big
|
||||
|
||||
if (vehicle && VEHICLE::GET_HAS_ROCKET_BOOST(self::veh))
|
||||
{
|
||||
if (g->vehicle.boost_behavior == eBoostBehaviors::INSTANT_REFIL && (vehicle->m_boost == 0.f || !vehicle->m_boost_state)) // Instant Refill
|
||||
if (g.vehicle.boost_behavior == eBoostBehaviors::INSTANT_REFIL && (vehicle->m_boost == 0.f || !vehicle->m_boost_state)) // Instant Refill
|
||||
{
|
||||
vehicle->m_boost_allow_recharge = true;
|
||||
vehicle->m_boost = 3.f;
|
||||
}
|
||||
else if (g->vehicle.boost_behavior == eBoostBehaviors::INFINITE_BOOST) // Infinite Boost
|
||||
else if (g.vehicle.boost_behavior == eBoostBehaviors::INFINITE_BOOST) // Infinite Boost
|
||||
{
|
||||
vehicle->m_boost_allow_recharge = true;
|
||||
vehicle->m_boost = 3.f;
|
||||
|
@ -29,7 +29,7 @@ namespace big
|
||||
|
||||
void looped::vehicle_drive_on_water()
|
||||
{
|
||||
if (!g->vehicle.drive_on_water || self::veh == 0) {
|
||||
if (!g.vehicle.drive_on_water || self::veh == 0) {
|
||||
drive_on_water_hide_surface();
|
||||
return;
|
||||
}
|
||||
|
@ -14,9 +14,9 @@ namespace big
|
||||
|
||||
Vector3 cam_pos = CAM::GET_GAMEPLAY_CAM_ROT(0);
|
||||
ENTITY::SET_ENTITY_ROTATION(vehicle, cam_pos.x, cam_pos.y, cam_pos.z, 1, true);
|
||||
ENTITY::SET_ENTITY_COLLISION(vehicle, !g->vehicle.fly.no_collision, true);
|
||||
ENTITY::SET_ENTITY_COLLISION(vehicle, !g.vehicle.fly.no_collision, true);
|
||||
|
||||
float locspeed = g->vehicle.fly.speed;
|
||||
float locspeed = g.vehicle.fly.speed;
|
||||
|
||||
if (PAD::IS_CONTROL_PRESSED(0, (int)ControllerInputs::INPUT_VEH_MOVE_UP_ONLY))
|
||||
{
|
||||
@ -26,9 +26,9 @@ namespace big
|
||||
|
||||
if (PAD::IS_CONTROL_PRESSED(2, (int)ControllerInputs::INPUT_VEH_ACCELERATE))
|
||||
{
|
||||
if (g->vehicle.fly.dont_stop)
|
||||
if (g.vehicle.fly.dont_stop)
|
||||
{
|
||||
ENTITY::APPLY_FORCE_TO_ENTITY(vehicle, 1, 0.0, g->vehicle.fly.speed, 0.0, 0.0, 0.0, 0.0, 0, 1, 1, 1, 0, 1);
|
||||
ENTITY::APPLY_FORCE_TO_ENTITY(vehicle, 1, 0.0, g.vehicle.fly.speed, 0.0, 0.0, 0.0, 0.0, 0, 1, 1, 1, 0, 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -38,12 +38,12 @@ namespace big
|
||||
|
||||
if (PAD::IS_CONTROL_PRESSED(2, (int)ControllerInputs::INPUT_VEH_BRAKE))
|
||||
{
|
||||
float lsp = g->vehicle.fly.speed;
|
||||
float lsp = g.vehicle.fly.speed;
|
||||
if (!PAD::IS_CONTROL_PRESSED(0, (int)ControllerInputs::INPUT_VEH_MOVE_UP_ONLY))
|
||||
{
|
||||
lsp = (g->vehicle.fly.speed * 2);
|
||||
lsp = (g.vehicle.fly.speed * 2);
|
||||
}
|
||||
if (g->vehicle.fly.dont_stop)
|
||||
if (g.vehicle.fly.dont_stop)
|
||||
{
|
||||
ENTITY::APPLY_FORCE_TO_ENTITY(vehicle, 1, 0.0, 0 - (lsp), 0.0, 0.0, 0.0, 0.0, 0, 1, 1, 1, 0, 1);
|
||||
}
|
||||
@ -55,12 +55,12 @@ namespace big
|
||||
|
||||
if (PAD::IS_CONTROL_PRESSED(2, (int)ControllerInputs::INPUT_VEH_MOVE_LEFT_ONLY))
|
||||
{
|
||||
float lsp = ((0 - g->vehicle.fly.speed) * 2);
|
||||
float lsp = ((0 - g.vehicle.fly.speed) * 2);
|
||||
if (!PAD::IS_CONTROL_PRESSED(0, (int)ControllerInputs::INPUT_VEH_MOVE_UP_ONLY))
|
||||
{
|
||||
lsp = (0 - g->vehicle.fly.speed);
|
||||
lsp = (0 - g.vehicle.fly.speed);
|
||||
}
|
||||
if (g->vehicle.fly.dont_stop)
|
||||
if (g.vehicle.fly.dont_stop)
|
||||
{
|
||||
ENTITY::APPLY_FORCE_TO_ENTITY(vehicle, 1, (lsp), 0.0, 0.0, 0.0, 0.0, 0.0, 0, 1, 1, 1, 0, 1);
|
||||
}
|
||||
@ -72,12 +72,12 @@ namespace big
|
||||
|
||||
if (PAD::IS_CONTROL_PRESSED(2, (int)ControllerInputs::INPUT_VEH_MOVE_RIGHT_ONLY))
|
||||
{
|
||||
float lsp = g->vehicle.fly.speed;
|
||||
float lsp = g.vehicle.fly.speed;
|
||||
if (!PAD::IS_CONTROL_PRESSED(0, (int)ControllerInputs::INPUT_VEH_MOVE_UP_ONLY))
|
||||
{
|
||||
lsp = (g->vehicle.fly.speed * 2);
|
||||
lsp = (g.vehicle.fly.speed * 2);
|
||||
}
|
||||
if (g->vehicle.fly.dont_stop)
|
||||
if (g.vehicle.fly.dont_stop)
|
||||
{
|
||||
ENTITY::APPLY_FORCE_TO_ENTITY(vehicle, 1, lsp, 0.0, 0.0, 0.0, 0.0, 0.0, 0, 1, 1, 1, 0, 1);
|
||||
}
|
||||
@ -87,17 +87,17 @@ namespace big
|
||||
}
|
||||
}
|
||||
|
||||
if (!g->vehicle.fly.dont_stop && !PAD::IS_CONTROL_PRESSED(2, (int)ControllerInputs::INPUT_VEH_ACCELERATE) && !PAD::IS_CONTROL_PRESSED(2, (int)ControllerInputs::INPUT_VEH_BRAKE))
|
||||
if (!g.vehicle.fly.dont_stop && !PAD::IS_CONTROL_PRESSED(2, (int)ControllerInputs::INPUT_VEH_ACCELERATE) && !PAD::IS_CONTROL_PRESSED(2, (int)ControllerInputs::INPUT_VEH_BRAKE))
|
||||
{
|
||||
VEHICLE::SET_VEHICLE_FORWARD_SPEED(vehicle, 0.0);
|
||||
}
|
||||
|
||||
if (TASK::GET_IS_TASK_ACTIVE(self::ped, 2))
|
||||
{
|
||||
g->vehicle.fly.enabled = false;
|
||||
g.vehicle.fly.enabled = false;
|
||||
VEHICLE::SET_VEHICLE_GRAVITY(vehicle, true);
|
||||
ENTITY::SET_ENTITY_COLLISION(vehicle, true, true);
|
||||
if (g->vehicle.fly.stop_on_exit)
|
||||
if (g.vehicle.fly.stop_on_exit)
|
||||
{
|
||||
VEHICLE::SET_VEHICLE_FORWARD_SPEED(vehicle, 0.0);
|
||||
}
|
||||
@ -107,7 +107,7 @@ namespace big
|
||||
void looped::vehicle_fly()
|
||||
{
|
||||
Vehicle vehicle = self::veh;
|
||||
if (g->vehicle.fly.enabled)
|
||||
if (g.vehicle.fly.enabled)
|
||||
{
|
||||
|
||||
last_fly_tick = true;
|
||||
@ -115,7 +115,7 @@ namespace big
|
||||
if (!vehicle)
|
||||
{
|
||||
g_notification_service->push_warning("Warning", "Please be in a vehicle before enabling vehicle fly.");
|
||||
g->vehicle.fly.enabled = false;
|
||||
g.vehicle.fly.enabled = false;
|
||||
return;
|
||||
}
|
||||
else
|
||||
|
@ -10,7 +10,7 @@ namespace big
|
||||
|
||||
void looped::vehicle_horn_boost()
|
||||
{
|
||||
if (!g->vehicle.horn_boost) return;
|
||||
if (!g.vehicle.horn_boost) return;
|
||||
|
||||
Vehicle vehicle = self::veh;
|
||||
|
||||
|
@ -7,7 +7,7 @@ namespace big
|
||||
|
||||
void looped::vehicle_instant_brake()
|
||||
{
|
||||
if (!g->vehicle.instant_brake) return;
|
||||
if (!g.vehicle.instant_brake) return;
|
||||
|
||||
Vehicle vehicle = self::veh;
|
||||
|
||||
|
@ -5,6 +5,6 @@ namespace big
|
||||
void looped::vehicle_is_targetable()
|
||||
{
|
||||
if (g_local_player && g_local_player->m_vehicle)
|
||||
g_local_player->m_vehicle->m_is_targetable = g->vehicle.is_targetable;
|
||||
g_local_player->m_vehicle->m_is_targetable = g.vehicle.is_targetable;
|
||||
}
|
||||
}
|
@ -5,7 +5,7 @@ namespace big
|
||||
{
|
||||
void looped::vehicle_keep_vehicle_repaired()
|
||||
{
|
||||
if (g->vehicle.keep_vehicle_repaired && VEHICLE::GET_DOES_VEHICLE_HAVE_DAMAGE_DECALS(self::veh)) {
|
||||
if (g.vehicle.keep_vehicle_repaired && VEHICLE::GET_DOES_VEHICLE_HAVE_DAMAGE_DECALS(self::veh)) {
|
||||
vehicle::repair(self::veh);
|
||||
}
|
||||
}
|
||||
|
@ -18,7 +18,7 @@ namespace big
|
||||
busy = true;
|
||||
|
||||
constexpr int hash = RAGE_JOAAT("carmod_shop");
|
||||
if (g->vehicle.ls_customs && g->vehicle.ls_customs == state)
|
||||
if (g.vehicle.ls_customs && g.vehicle.ls_customs == state)
|
||||
{
|
||||
if (
|
||||
auto carmod_shop_thread = gta_util::find_script_thread(hash);
|
||||
@ -26,19 +26,19 @@ namespace big
|
||||
*script_local(carmod_shop_thread, CARMOD_SHOP_STRUCT).at(11).as<int*>() != 4
|
||||
)
|
||||
{
|
||||
g->vehicle.ls_customs = false;
|
||||
g.vehicle.ls_customs = false;
|
||||
|
||||
*script_local(carmod_shop_thread, CARMOD_SHOP_STRUCT).as<int*>() = 1; // cleanup
|
||||
}
|
||||
}
|
||||
|
||||
if (g->vehicle.ls_customs && g->vehicle.ls_customs != state)
|
||||
if (g.vehicle.ls_customs && g.vehicle.ls_customs != state)
|
||||
{
|
||||
Vehicle veh = self::veh;
|
||||
if (!ENTITY::DOES_ENTITY_EXIST(veh) || ENTITY::IS_ENTITY_DEAD(veh, false))
|
||||
{
|
||||
busy = false;
|
||||
g->vehicle.ls_customs = false;
|
||||
g.vehicle.ls_customs = false;
|
||||
|
||||
g_notification_service->push_warning("LS Customs", "You aren't in a vehicle.");
|
||||
|
||||
@ -67,6 +67,6 @@ namespace big
|
||||
}
|
||||
|
||||
busy = false;
|
||||
state = g->vehicle.ls_customs;
|
||||
state = g.vehicle.ls_customs;
|
||||
}
|
||||
}
|
@ -8,7 +8,7 @@ namespace big
|
||||
{
|
||||
if (g_local_player == nullptr || g_local_player->m_vehicle == nullptr) return;
|
||||
|
||||
bool bNoWaterCollsion = g->vehicle.no_water_collision;
|
||||
bool bNoWaterCollsion = g.vehicle.no_water_collision;
|
||||
|
||||
if (bNoWaterCollsion)
|
||||
{
|
||||
|
@ -25,17 +25,17 @@ namespace big
|
||||
static int green = 0;
|
||||
static int blue = 0;
|
||||
|
||||
if (self::veh && g->vehicle.rainbow_paint.type != RainbowPaintType::Off && last_rgb_run_time + delay < std::chrono::system_clock::now())
|
||||
if (self::veh && g.vehicle.rainbow_paint.type != RainbowPaintType::Off && last_rgb_run_time + delay < std::chrono::system_clock::now())
|
||||
{
|
||||
int delay_step = 100;
|
||||
|
||||
if (g->vehicle.rainbow_paint.type == RainbowPaintType::Spasm)
|
||||
if (g.vehicle.rainbow_paint.type == RainbowPaintType::Spasm)
|
||||
{
|
||||
red = rand() % 256;
|
||||
green = rand() % 256;
|
||||
blue = rand() % 256;
|
||||
}
|
||||
else if (g->vehicle.rainbow_paint.type == RainbowPaintType::Fade)
|
||||
else if (g.vehicle.rainbow_paint.type == RainbowPaintType::Fade)
|
||||
{
|
||||
delay_step = 10;
|
||||
|
||||
@ -103,24 +103,24 @@ namespace big
|
||||
|
||||
Vehicle vehicle = self::veh;
|
||||
|
||||
if (g->vehicle.rainbow_paint.primary) {
|
||||
if (g.vehicle.rainbow_paint.primary) {
|
||||
VEHICLE::SET_VEHICLE_CUSTOM_PRIMARY_COLOUR(vehicle, red, green, blue);
|
||||
}
|
||||
if (g->vehicle.rainbow_paint.secondary) {
|
||||
if (g.vehicle.rainbow_paint.secondary) {
|
||||
VEHICLE::SET_VEHICLE_CUSTOM_SECONDARY_COLOUR(vehicle, red, green, blue);
|
||||
}
|
||||
if (g->vehicle.rainbow_paint.neon) {
|
||||
if (g.vehicle.rainbow_paint.neon) {
|
||||
VEHICLE::SET_VEHICLE_NEON_ENABLED(vehicle, 0, 1);
|
||||
VEHICLE::SET_VEHICLE_NEON_ENABLED(vehicle, 1, 1);
|
||||
VEHICLE::SET_VEHICLE_NEON_ENABLED(vehicle, 2, 1);
|
||||
VEHICLE::SET_VEHICLE_NEON_ENABLED(vehicle, 3, 1);
|
||||
VEHICLE::SET_VEHICLE_NEON_COLOUR(vehicle, red, green, blue);
|
||||
}
|
||||
if (g->vehicle.rainbow_paint.smoke) {
|
||||
if (g.vehicle.rainbow_paint.smoke) {
|
||||
VEHICLE::SET_VEHICLE_TYRE_SMOKE_COLOR(vehicle, red, green, blue);
|
||||
}
|
||||
|
||||
delay = std::chrono::milliseconds(((delay_step * 10) + 10) - (g->vehicle.rainbow_paint.speed * delay_step));
|
||||
delay = std::chrono::milliseconds(((delay_step * 10) + 10) - (g.vehicle.rainbow_paint.speed * delay_step));
|
||||
last_rgb_run_time = std::chrono::system_clock::now();
|
||||
}
|
||||
}
|
||||
|
@ -7,15 +7,15 @@ namespace big
|
||||
|
||||
void looped::vehicle_seatbelt()
|
||||
{
|
||||
bool b_seatbelt = g->vehicle.seatbelt;
|
||||
bool b_seatbelt = g.vehicle.seatbelt;
|
||||
|
||||
if (b_seatbelt || (!b_seatbelt && b_seatbelt != b_last_seatbelt))
|
||||
{
|
||||
PED::SET_PED_CONFIG_FLAG(self::ped, 32, g->vehicle.seatbelt);
|
||||
PED::SET_PED_CONFIG_FLAG(self::ped, 32, g.vehicle.seatbelt);
|
||||
|
||||
PED::SET_PED_CAN_BE_KNOCKED_OFF_VEHICLE(self::ped, g->vehicle.seatbelt);
|
||||
PED::SET_PED_CAN_BE_KNOCKED_OFF_VEHICLE(self::ped, g.vehicle.seatbelt);
|
||||
|
||||
b_last_seatbelt = g->vehicle.seatbelt;
|
||||
b_last_seatbelt = g.vehicle.seatbelt;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -7,7 +7,7 @@ namespace big
|
||||
void looped::vehicle_speedo_meter()
|
||||
{
|
||||
if (
|
||||
!g->vehicle.speedo_meter.enabled ||
|
||||
!g.vehicle.speedo_meter.enabled ||
|
||||
self::veh == 0 ||
|
||||
HUD::IS_PAUSE_MENU_ACTIVE() ||
|
||||
HUD::IS_WARNING_MESSAGE_ACTIVE() ||
|
||||
@ -24,10 +24,10 @@ namespace big
|
||||
|
||||
float veh_speed = vehicle::mps_to_speed(
|
||||
ENTITY::GET_ENTITY_SPEED(self::veh),
|
||||
g->vehicle.speed_unit
|
||||
g.vehicle.speed_unit
|
||||
);
|
||||
|
||||
switch (g->vehicle.speed_unit)
|
||||
switch (g.vehicle.speed_unit)
|
||||
{
|
||||
case SpeedUnit::KMPH:
|
||||
strcpy(speed_type, "kmph");
|
||||
@ -41,21 +41,21 @@ namespace big
|
||||
break;
|
||||
}
|
||||
|
||||
sprintf(speed, "%*d", g->vehicle.speedo_meter.left_side ? 0 : char_width, (int)veh_speed);
|
||||
sprintf(speed, "%*d", g.vehicle.speedo_meter.left_side ? 0 : char_width, (int)veh_speed);
|
||||
|
||||
HUD::SET_TEXT_FONT(2);
|
||||
HUD::SET_TEXT_SCALE(.9f, .9f);
|
||||
HUD::SET_TEXT_OUTLINE();
|
||||
HUD::BEGIN_TEXT_COMMAND_DISPLAY_TEXT("STRING");
|
||||
HUD::ADD_TEXT_COMPONENT_SUBSTRING_PLAYER_NAME(speed_type);
|
||||
HUD::END_TEXT_COMMAND_DISPLAY_TEXT(g->vehicle.speedo_meter.x, g->vehicle.speedo_meter.y, 1);
|
||||
HUD::END_TEXT_COMMAND_DISPLAY_TEXT(g.vehicle.speedo_meter.x, g.vehicle.speedo_meter.y, 1);
|
||||
|
||||
HUD::SET_TEXT_FONT(2);
|
||||
HUD::SET_TEXT_SCALE(.9f, .9f);
|
||||
HUD::SET_TEXT_OUTLINE();
|
||||
HUD::BEGIN_TEXT_COMMAND_DISPLAY_TEXT("STRING");
|
||||
HUD::ADD_TEXT_COMPONENT_SUBSTRING_PLAYER_NAME(speed);
|
||||
HUD::END_TEXT_COMMAND_DISPLAY_TEXT(g->vehicle.speedo_meter.x + (g->vehicle.speedo_meter.left_side ? 0 : .003f), g->vehicle.speedo_meter.y + .04f, 1);
|
||||
HUD::END_TEXT_COMMAND_DISPLAY_TEXT(g.vehicle.speedo_meter.x + (g.vehicle.speedo_meter.left_side ? 0 : .003f), g.vehicle.speedo_meter.y + .04f, 1);
|
||||
|
||||
}
|
||||
}
|
@ -81,7 +81,7 @@ inline void set_turn_signals(int signal_state, bool on)
|
||||
{
|
||||
static constexpr int off = 0;
|
||||
|
||||
if (self::veh && big::g->vehicle.turn_signals)
|
||||
if (self::veh && big::g.vehicle.turn_signals)
|
||||
{
|
||||
switch (signal_state)
|
||||
{
|
||||
@ -110,7 +110,7 @@ namespace big
|
||||
void looped::vehicle_turn_signals()
|
||||
{
|
||||
static bool hazzards = false;
|
||||
bool b_turn_signals = g->vehicle.turn_signals;
|
||||
bool b_turn_signals = g.vehicle.turn_signals;
|
||||
|
||||
if (!b_turn_signals && b_turn_signals != b_last_turn_signals)
|
||||
{
|
||||
@ -118,7 +118,7 @@ namespace big
|
||||
VEHICLE::SET_VEHICLE_INDICATOR_LIGHTS(PED::GET_VEHICLE_PED_IS_IN(PLAYER::PLAYER_PED_ID(), false), 1, 0);
|
||||
}
|
||||
|
||||
if (g->vehicle.turn_signals)
|
||||
if (g.vehicle.turn_signals)
|
||||
{
|
||||
static bool ran_once = []
|
||||
{
|
||||
@ -130,12 +130,12 @@ namespace big
|
||||
|
||||
update_key_states();
|
||||
|
||||
if (left_signal_key.state == key_state::just_pressed || g->vehicle.auto_turn_signals && PAD::IS_CONTROL_PRESSED(0, (int)ControllerInputs::INPUT_VEH_MOVE_LEFT_ONLY))
|
||||
if (left_signal_key.state == key_state::just_pressed || g.vehicle.auto_turn_signals && PAD::IS_CONTROL_PRESSED(0, (int)ControllerInputs::INPUT_VEH_MOVE_LEFT_ONLY))
|
||||
{
|
||||
set_turn_signals(signal_state::left, true);
|
||||
}
|
||||
|
||||
if (right_signal_key.state == key_state::just_pressed || g->vehicle.auto_turn_signals && PAD::IS_CONTROL_PRESSED(0, (int)ControllerInputs::INPUT_VEH_MOVE_RIGHT_ONLY))
|
||||
if (right_signal_key.state == key_state::just_pressed || g.vehicle.auto_turn_signals && PAD::IS_CONTROL_PRESSED(0, (int)ControllerInputs::INPUT_VEH_MOVE_RIGHT_ONLY))
|
||||
{
|
||||
set_turn_signals(signal_state::right, true);
|
||||
}
|
||||
@ -145,7 +145,7 @@ namespace big
|
||||
set_turn_signals(signal_state::hazzards, true);
|
||||
hazzards = true;
|
||||
}
|
||||
else if (hazzards_key.state == key_state::just_pressed && hazzards || !g->vehicle.turn_signals)
|
||||
else if (hazzards_key.state == key_state::just_pressed && hazzards || !g.vehicle.turn_signals)
|
||||
{
|
||||
set_turn_signals(signal_state::hazzards, false);
|
||||
hazzards = false;
|
||||
@ -154,7 +154,7 @@ namespace big
|
||||
|
||||
if (PAD::IS_CONTROL_JUST_RELEASED(0, (int)ControllerInputs::INPUT_VEH_MOVE_LEFT_ONLY))
|
||||
{
|
||||
if (g->vehicle.turn_signals)
|
||||
if (g.vehicle.turn_signals)
|
||||
{
|
||||
script::get_current()->yield(1500ms);
|
||||
}
|
||||
@ -163,14 +163,14 @@ namespace big
|
||||
|
||||
if (PAD::IS_CONTROL_JUST_RELEASED(0, (int)ControllerInputs::INPUT_VEH_MOVE_RIGHT_ONLY))
|
||||
{
|
||||
if (g->vehicle.turn_signals)
|
||||
if (g.vehicle.turn_signals)
|
||||
{
|
||||
script::get_current()->yield(1500ms);
|
||||
}
|
||||
set_turn_signals(signal_state::right, false);
|
||||
}
|
||||
|
||||
b_last_turn_signals = g->vehicle.turn_signals;
|
||||
b_last_turn_signals = g.vehicle.turn_signals;
|
||||
|
||||
}
|
||||
}
|
@ -14,7 +14,7 @@ namespace big
|
||||
}
|
||||
|
||||
if (
|
||||
(g->vehicle.god_mode || g->vehicle.proof_collision) &&
|
||||
(g.vehicle.god_mode || g.vehicle.proof_collision) &&
|
||||
g_local_player->m_ped_task_flag & (int)ePedTask::TASK_DRIVING
|
||||
) {
|
||||
g_local_player->m_vehicle->m_deform_god = 0x8C;
|
||||
@ -24,7 +24,7 @@ namespace big
|
||||
g_local_player->m_vehicle->m_deform_god = 0x9C;
|
||||
}
|
||||
|
||||
uint32_t bits = g->vehicle.proof_mask;
|
||||
uint32_t bits = g.vehicle.proof_mask;
|
||||
uint32_t changed_bits = bits ^ last_bits;
|
||||
uint32_t changed_or_enabled_bits = bits | changed_bits;
|
||||
|
||||
|
@ -6,7 +6,7 @@ namespace big
|
||||
{
|
||||
void looped::vehicle_jump()
|
||||
{
|
||||
if (!g->vehicle.vehicle_jump) return;
|
||||
if (!g.vehicle.vehicle_jump) return;
|
||||
|
||||
const auto vehicle = self::veh;
|
||||
|
||||
|
@ -18,7 +18,7 @@ namespace big
|
||||
return;
|
||||
}
|
||||
|
||||
if (g->weapons.ammo_special.toggle) {
|
||||
if (g.weapons.ammo_special.toggle) {
|
||||
CWeaponInfo* weapon_info = g_local_player->m_weapon_manager->m_weapon_info;
|
||||
|
||||
// check if the player changed their weapon
|
||||
@ -39,12 +39,12 @@ namespace big
|
||||
|
||||
// apply ammo type changes to the current weapon
|
||||
eDamageType damage_type = eDamageType::None;
|
||||
eExplosionTag explosion_tag = g->weapons.ammo_special.explosion_tag;
|
||||
eExplosionTag explosion_tag = g.weapons.ammo_special.explosion_tag;
|
||||
eAmmoSpecialType ammo_type = eAmmoSpecialType::None;
|
||||
|
||||
if (explosion_tag == eExplosionTag::DONTCARE) {
|
||||
damage_type = modified_weapon_damage_type;
|
||||
ammo_type = g->weapons.ammo_special.type;
|
||||
ammo_type = g.weapons.ammo_special.type;
|
||||
}
|
||||
else {
|
||||
damage_type = eDamageType::Explosive;
|
||||
|
@ -7,7 +7,7 @@ namespace big
|
||||
{
|
||||
void looped::weapons_cage_gun()
|
||||
{
|
||||
bool bCageGun = g->weapons.custom_weapon == CustomWeapon::CAGE_GUN;
|
||||
bool bCageGun = g.weapons.custom_weapon == CustomWeapon::CAGE_GUN;
|
||||
|
||||
if (bCageGun)
|
||||
{
|
||||
|
@ -19,7 +19,7 @@ namespace big
|
||||
|
||||
void looped::custom_gun_disable_control_action()
|
||||
{
|
||||
bool is_custom_gun_selected = g->weapons.custom_weapon != CustomWeapon::NONE;
|
||||
bool is_custom_gun_selected = g.weapons.custom_weapon != CustomWeapon::NONE;
|
||||
if (is_custom_gun_selected)
|
||||
{
|
||||
for (const auto& control : attack_controls)
|
||||
|
@ -8,7 +8,7 @@ namespace big
|
||||
{
|
||||
void looped::weapons_delete_gun()
|
||||
{
|
||||
bool bCageGun = g->weapons.custom_weapon == CustomWeapon::DELETE_GUN;
|
||||
bool bCageGun = g.weapons.custom_weapon == CustomWeapon::DELETE_GUN;
|
||||
|
||||
if (bCageGun)
|
||||
{
|
||||
|
@ -6,7 +6,7 @@ namespace big
|
||||
{
|
||||
void looped::weapons_force_crosshairs()
|
||||
{
|
||||
if (g->weapons.force_crosshairs) {
|
||||
if (g.weapons.force_crosshairs) {
|
||||
HUD::SHOW_HUD_COMPONENT_THIS_FRAME(static_cast<int>(HudComponents::RETICLE));
|
||||
}
|
||||
}
|
||||
|
@ -15,7 +15,7 @@ namespace big
|
||||
|
||||
void looped::weapons_gravity_gun()
|
||||
{
|
||||
bool is_gravity_gun_selected = g->weapons.custom_weapon == CustomWeapon::GRAVITY_GUN;
|
||||
bool is_gravity_gun_selected = g.weapons.custom_weapon == CustomWeapon::GRAVITY_GUN;
|
||||
constexpr double multiplier = 3.0;
|
||||
|
||||
auto is_zoomed_in = is_gravity_gun_selected && PAD::IS_DISABLED_CONTROL_PRESSED(0, (int)ControllerInputs::INPUT_AIM);
|
||||
|
@ -5,10 +5,10 @@ namespace big
|
||||
{
|
||||
void looped::weapons_increased_damage()
|
||||
{
|
||||
if (g->weapons.increased_damage != 1) {
|
||||
if (g.weapons.increased_damage != 1) {
|
||||
Hash weapon{};
|
||||
WEAPON::GET_CURRENT_PED_WEAPON(self::ped, &weapon, 0);
|
||||
WEAPON::SET_WEAPON_DAMAGE_MODIFIER(weapon, g->weapons.increased_damage);
|
||||
WEAPON::SET_WEAPON_DAMAGE_MODIFIER(weapon, g.weapons.increased_damage);
|
||||
}
|
||||
}
|
||||
}
|
@ -7,13 +7,13 @@ namespace big
|
||||
|
||||
void looped::weapons_infinite_ammo()
|
||||
{
|
||||
bool bInfiniteAmmo = g->weapons.infinite_ammo;
|
||||
bool bInfiniteAmmo = g.weapons.infinite_ammo;
|
||||
|
||||
if (bInfiniteAmmo || (!bInfiniteAmmo && bInfiniteAmmo != bLastInfiniteAmmo))
|
||||
{
|
||||
WEAPON::SET_PED_INFINITE_AMMO(self::ped, g->weapons.infinite_ammo, NULL);
|
||||
WEAPON::SET_PED_INFINITE_AMMO(self::ped, g.weapons.infinite_ammo, NULL);
|
||||
|
||||
bLastInfiniteAmmo = g->weapons.infinite_ammo;
|
||||
bLastInfiniteAmmo = g.weapons.infinite_ammo;
|
||||
}
|
||||
}
|
||||
}
|
@ -7,13 +7,13 @@ namespace big
|
||||
|
||||
void looped::weapons_infinite_mag()
|
||||
{
|
||||
bool bInfiniteMag = g->weapons.infinite_mag;
|
||||
bool bInfiniteMag = g.weapons.infinite_mag;
|
||||
|
||||
if (bInfiniteMag || (!bInfiniteMag && bInfiniteMag != bLastInfiniteMag))
|
||||
{
|
||||
WEAPON::SET_PED_INFINITE_AMMO_CLIP(self::ped, g->weapons.infinite_mag);
|
||||
WEAPON::SET_PED_INFINITE_AMMO_CLIP(self::ped, g.weapons.infinite_mag);
|
||||
|
||||
bLastInfiniteMag = g->weapons.infinite_mag;
|
||||
bLastInfiniteMag = g.weapons.infinite_mag;
|
||||
}
|
||||
}
|
||||
}
|
@ -24,7 +24,7 @@ namespace big
|
||||
|
||||
float get_recoil_value(uint32_t hash)
|
||||
{
|
||||
return g->weapons.no_recoil
|
||||
return g.weapons.no_recoil
|
||||
? 0.f
|
||||
: get_og_recoil_value(hash);
|
||||
}
|
||||
|
@ -24,7 +24,7 @@ namespace big
|
||||
|
||||
float get_spread_value(uint32_t hash)
|
||||
{
|
||||
return g->weapons.no_spread
|
||||
return g.weapons.no_spread
|
||||
? 0.f
|
||||
: get_og_spread_value(hash);
|
||||
}
|
||||
|
@ -8,7 +8,7 @@ namespace big
|
||||
{
|
||||
void looped::weapons_rapid_fire()
|
||||
{
|
||||
if (g->weapons.rapid_fire)
|
||||
if (g.weapons.rapid_fire)
|
||||
{
|
||||
if(!HUD::IS_PAUSE_MENU_ACTIVE() && !g_gui->is_open() && !PED::IS_PED_DEAD_OR_DYING(self::ped, true))
|
||||
{
|
||||
|
@ -7,7 +7,7 @@ namespace big
|
||||
{
|
||||
void looped::weapons_repair_gun()
|
||||
{
|
||||
bool bRepairGun = g->weapons.custom_weapon == CustomWeapon::REPAIR_GUN;
|
||||
bool bRepairGun = g.weapons.custom_weapon == CustomWeapon::REPAIR_GUN;
|
||||
|
||||
if (bRepairGun)
|
||||
{
|
||||
|
@ -9,7 +9,7 @@ namespace big
|
||||
|
||||
void looped::weapons_steal_vehicle_gun()
|
||||
{
|
||||
if (const bool bStealVehicleGun = g->weapons.custom_weapon == CustomWeapon::STEAL_VEHICLE_GUN; bStealVehicleGun)
|
||||
if (const bool bStealVehicleGun = g.weapons.custom_weapon == CustomWeapon::STEAL_VEHICLE_GUN; bStealVehicleGun)
|
||||
{
|
||||
if (PAD::IS_DISABLED_CONTROL_PRESSED(0, (int)ControllerInputs::INPUT_AIM))
|
||||
{
|
||||
|
@ -10,7 +10,7 @@ namespace big
|
||||
|
||||
void looped::weapons_vehicle_gun()
|
||||
{
|
||||
const bool is_vehicle_gun_selected = g->weapons.custom_weapon == CustomWeapon::VEHICLE_GUN;
|
||||
const bool is_vehicle_gun_selected = g.weapons.custom_weapon == CustomWeapon::VEHICLE_GUN;
|
||||
|
||||
const auto time_now = std::chrono::steady_clock::now();
|
||||
|
||||
@ -35,7 +35,7 @@ namespace big
|
||||
location.y += dist * sin(yaw) * cos(pitch);
|
||||
location.z += dist * sin(pitch);
|
||||
Vehicle veh = vehicle::spawn(
|
||||
rage::joaat((const char*)g->weapons.vehicle_gun_model),
|
||||
rage::joaat(g.weapons.vehicle_gun_model.data()),
|
||||
location,
|
||||
ENTITY::GET_ENTITY_HEADING(self::ped)
|
||||
);
|
||||
|
Reference in New Issue
Block a user