diff --git a/src/core/enums.hpp b/src/core/enums.hpp index c7201d7e..27a6a237 100644 --- a/src/core/enums.hpp +++ b/src/core/enums.hpp @@ -177,6 +177,7 @@ namespace big MarkPlayerAsBeast = -2001677186, // GB_BOSSBST xref == PLAYER... global (sadly doesn't actually turn people into the beast) KickFromInterior = 1454834612, // ENTITY::SET_ENTITY_HEALTH(PLAYER::PLAYER_PED_ID(), PED::GET_PED_MAX_HEALTH(PLAYER::PLAYER_PED_ID()), false) InteriorControl = 1268038438, // eventData.f_3 != _INVALID_PLAYER_INDEX_0() + SMS = 1519903406, Crash = -904555865, // SET_NO_LOADING_SCREEN, xref it Crash2 = 1775863255, diff --git a/src/core/globals.hpp b/src/core/globals.hpp index deb0f09b..6fa1ffe1 100644 --- a/src/core/globals.hpp +++ b/src/core/globals.hpp @@ -142,12 +142,13 @@ namespace big pair teleport_to_warehouse{}; pair start_activity{}; pair null_function_kick{}; + pair send_sms{}; NLOHMANN_DEFINE_TYPE_INTRUSIVE(script_event_handler, bounty, ceo_ban, ceo_kick, clear_wanted_level, crash, fake_deposit, force_mission, force_teleport, gta_banner, mc_teleport, network_bail, personal_vehicle_destroyed, remote_off_radar, rotate_cam, send_to_cutscene, send_to_location, sound_spam, spectate, switch_player_model, transaction_error, - tse_freeze, tse_sender_mismatch, vehicle_kick, teleport_to_warehouse, start_activity, null_function_kick) + tse_freeze, tse_sender_mismatch, vehicle_kick, teleport_to_warehouse, start_activity, null_function_kick, send_sms) } script_event_handler{}; pair gta_thread_kill{}; @@ -217,13 +218,14 @@ namespace big bool vehicle_kick = true; bool teleport_to_warehouse = true; bool start_activity = true; + bool send_sms = true; NLOHMANN_DEFINE_TYPE_INTRUSIVE(script_events, bounty, ceo_ban, ceo_kick, ceo_money, clear_wanted_level, crash, fake_deposit, force_mission, force_teleport, gta_banner, mc_teleport, network_bail, personal_vehicle_destroyed, remote_off_radar, rotate_cam, send_to_cutscene, send_to_location, sound_spam, spectate, switch_player_model, transaction_error, - vehicle_kick, teleport_to_warehouse, start_activity) + vehicle_kick, teleport_to_warehouse, start_activity, send_sms) } script_events{}; bool script_host_kick = true; diff --git a/src/hooks/protections/script_event_handler.cpp b/src/hooks/protections/script_event_handler.cpp index b622a0a4..e5e05b2c 100644 --- a/src/hooks/protections/script_event_handler.cpp +++ b/src/hooks/protections/script_event_handler.cpp @@ -322,6 +322,7 @@ namespace big break; } case eRemoteEvent::InteriorControl: + { int interior = (int)args[2]; if (interior < 0 || interior > 161) // the upper bound will change after an update { @@ -334,6 +335,15 @@ namespace big } break; } + case eRemoteEvent::SMS: + if (g.protections.script_events.send_sms) + { + format_string(player_name, "Send SMS", notify.send_sms.log, notify.send_sms.notify); + + return true; + } + break; + } // detect pasted menus setting args[1] to something other than PLAYER_ID() if (*(int*)&args[1] != player->m_player_id && player->m_player_id != -1) diff --git a/src/views/settings/view_notification_settings.cpp b/src/views/settings/view_notification_settings.cpp index 281ee697..c25a1b8f 100644 --- a/src/views/settings/view_notification_settings.cpp +++ b/src/views/settings/view_notification_settings.cpp @@ -18,7 +18,7 @@ namespace big draw_pair_option("Terminate", g.notifications.gta_thread_kill); draw_pair_option("Start", g.notifications.gta_thread_start); - + components::sub_title("Network Player Manager"); ImGui::Text("Player Join"); @@ -96,10 +96,11 @@ namespace big draw_pair_option("Teleport To Warehouse", script_event_handler.teleport_to_warehouse); draw_pair_option("Start Activity", script_event_handler.start_activity); draw_pair_option("Null Function Kick", script_event_handler.null_function_kick); + draw_pair_option("Send SMS", script_event_handler.send_sms); ImGui::EndGroup(); components::sub_title("Other"); - + draw_pair_option("Reports", g.notifications.reports); draw_pair_option("Transaction Error / Rate Limit", g.notifications.transaction_rate_limit); draw_pair_option("Mismatch sync type", g.notifications.mismatch_sync_type); diff --git a/src/views/settings/view_protection_settings.cpp b/src/views/settings/view_protection_settings.cpp index c2e03e77..3928bf9b 100644 --- a/src/views/settings/view_protection_settings.cpp +++ b/src/views/settings/view_protection_settings.cpp @@ -43,6 +43,7 @@ namespace big ImGui::BeginGroup(); ImGui::Checkbox("Teleport To Warehouse", &g.protections.script_events.teleport_to_warehouse); ImGui::Checkbox("Start Activity", &g.protections.script_events.start_activity); + ImGui::Checkbox("Send SMS", &g.protections.script_events.send_sms); components::script_patch_checkbox("Script Host Kick", &g.protections.script_host_kick); ImGui::Checkbox("RID Join", &g.protections.rid_join); if (ImGui::IsItemHovered())