diff --git a/BigBaseV2/src/function_types.hpp b/BigBaseV2/src/function_types.hpp index 94298957..3122f3f3 100644 --- a/BigBaseV2/src/function_types.hpp +++ b/BigBaseV2/src/function_types.hpp @@ -18,7 +18,7 @@ namespace big::functions using gta_thread_tick = __int64(GtaThread* a1, unsigned int a2); using gta_thread_kill = __int64(GtaThread* a1); - using trigger_script_event = int(int unk0, int64_t* args, int argCount, int bitFlags); + using trigger_script_event = int(int unk0, int* args, int argCount, int bitFlags); using increment_stat_event = bool(uint64_t net_event_struct, int64_t sender, int64_t a3); @@ -44,4 +44,5 @@ namespace big::functions // Net Event Handlers using report_cash_spawn = bool(__int64 creport_cash_spawn_event, CNetGamePlayer* source_player); + using report_myself_event_sender = void(__int64 a1, unsigned int a2, unsigned int a3, unsigned int a4); } diff --git a/BigBaseV2/src/hooking.cpp b/BigBaseV2/src/hooking.cpp index e7e0719e..822025f8 100644 --- a/BigBaseV2/src/hooking.cpp +++ b/BigBaseV2/src/hooking.cpp @@ -58,6 +58,8 @@ namespace big // Report Cash Spawn Event m_report_cash_spawn_event_hook("RCSE", g_pointers->m_report_cash_spawn, &hooks::report_cash_spawn_handler), + // Report Myself Event Sender + m_report_myself_event_sender_hook("RMES", g_pointers->m_report_myself_sender, &hooks::report_myself_event_handler), // Scripted Game Event Hook m_scripted_game_event_hook("SGEH", g_pointers->m_scripted_game_event, &hooks::scripted_game_event) @@ -95,6 +97,7 @@ namespace big m_received_event_hook.enable(); m_report_cash_spawn_event_hook.enable(); + m_report_myself_event_sender_hook.enable(); m_scripted_game_event_hook.enable(); @@ -107,6 +110,7 @@ namespace big m_scripted_game_event_hook.disable(); + m_report_myself_event_sender_hook.disable(); m_report_cash_spawn_event_hook.disable(); m_received_event_hook.disable(); diff --git a/BigBaseV2/src/hooking.hpp b/BigBaseV2/src/hooking.hpp index 3519e131..479c9f55 100644 --- a/BigBaseV2/src/hooking.hpp +++ b/BigBaseV2/src/hooking.hpp @@ -42,6 +42,7 @@ namespace big ); static bool report_cash_spawn_handler(__int64 creport_cash_spawn_event, CNetGamePlayer* source_player); + static void report_myself_event_handler(__int64 a1, unsigned int a2, unsigned int a3, unsigned int a4); static bool scripted_game_event(CScriptedGameEvent* scripted_game_event, CNetGamePlayer* player); }; @@ -83,6 +84,7 @@ namespace big detour_hook m_received_event_hook; detour_hook m_report_cash_spawn_event_hook; + detour_hook m_report_myself_event_sender_hook; detour_hook m_scripted_game_event_hook; }; diff --git a/BigBaseV2/src/hooks/report_myself_event_handler.cpp b/BigBaseV2/src/hooks/report_myself_event_handler.cpp new file mode 100644 index 00000000..4a2942b9 --- /dev/null +++ b/BigBaseV2/src/hooks/report_myself_event_handler.cpp @@ -0,0 +1,12 @@ +#include "hooking.hpp" +#include "natives.hpp" + +namespace big +{ + void hooks::report_myself_event_handler(__int64 a1, unsigned int a2, unsigned int a3, unsigned int a4) + { + LOG(INFO) << "Blocked REPORT_MYSELF_EVENT"; + + return; + } +} \ No newline at end of file diff --git a/BigBaseV2/src/pointers.cpp b/BigBaseV2/src/pointers.cpp index cf05fb06..68d7ce64 100644 --- a/BigBaseV2/src/pointers.cpp +++ b/BigBaseV2/src/pointers.cpp @@ -197,6 +197,12 @@ namespace big { m_ptr_to_handle = ptr.as(); }); + + // Report Myself Event Sender + main_batch.add("RMES", "E8 ? ? ? ? 41 8B 47 0C 39 43 20", [this](memory::handle ptr) + { + m_report_myself_sender = ptr.as(); + }); main_batch.run(memory::module(nullptr)); diff --git a/BigBaseV2/src/pointers.hpp b/BigBaseV2/src/pointers.hpp index 039403bb..f4595cde 100644 --- a/BigBaseV2/src/pointers.hpp +++ b/BigBaseV2/src/pointers.hpp @@ -63,6 +63,7 @@ namespace big // Net Event Handlers functions::report_cash_spawn* m_report_cash_spawn{}; + functions::report_myself_event_sender* m_report_myself_sender{}; }; inline pointers *g_pointers{};