mirror of
https://github.com/Mr-X-GTA/YimMenu.git
synced 2026-10-11 09:48:03 +08:00
* remove(replay): remove replay interface * fix(context_menu): better console controls * feat(protections): improve protections * feat(protections): actually fix parachute crash * feat(protections): kick rejoin * feat(context_menu): more context menu stuff
38 lines
1.0 KiB
C++
38 lines
1.0 KiB
C++
#include "hooking.hpp"
|
|
#include "util/notify.hpp"
|
|
|
|
#include <netsync/nodes/task/ClonedTakeOffPedVariationInfo.hpp>
|
|
|
|
namespace big
|
|
{
|
|
constexpr uint32_t valid_parachute_models[] = {
|
|
RAGE_JOAAT("p_parachute_s"),
|
|
RAGE_JOAAT("vw_p_para_bag_vine_s"),
|
|
RAGE_JOAAT("reh_p_para_bag_reh_s_01a"),
|
|
RAGE_JOAAT("xm_prop_x17_scuba_tank"),
|
|
RAGE_JOAAT("lts_p_para_bag_pilot2_s"),
|
|
RAGE_JOAAT("lts_p_para_bag_lts_s"),
|
|
RAGE_JOAAT("p_para_bag_tr_s_01a"),
|
|
RAGE_JOAAT("p_para_bag_xmas_s"),
|
|
};
|
|
|
|
bool is_valid_parachute_model(rage::joaat_t hash)
|
|
{
|
|
for (auto& model : valid_parachute_models)
|
|
if (model == hash)
|
|
return true;
|
|
|
|
return false;
|
|
}
|
|
|
|
void hooks::serialize_take_off_ped_variation_task(ClonedTakeOffPedVariationInfo* info, rage::CSyncDataBase* serializer)
|
|
{
|
|
g_hooking->get_original<hooks::serialize_take_off_ped_variation_task>()(info, serializer);
|
|
if (!is_valid_parachute_model(info->m_prop_hash))
|
|
{
|
|
notify::crash_blocked(g.m_syncing_player, "invalid parachute");
|
|
info->m_prop_hash = 0;
|
|
}
|
|
}
|
|
}
|