diff --git a/src/game/features/players/toxic/Ragdoll.cpp b/src/game/features/players/toxic/Ragdoll.cpp deleted file mode 100644 index 0e24eb0a..00000000 --- a/src/game/features/players/toxic/Ragdoll.cpp +++ /dev/null @@ -1,21 +0,0 @@ -#include "core/frontend/Notifications.hpp" -#include "game/commands/PlayerCommand.hpp" -#include "game/features/Features.hpp" -#include "game/rdr/Natives.hpp" - - -namespace YimMenu::Features -{ - - class Ragdoll : public PlayerCommand - { - using PlayerCommand::PlayerCommand; - - virtual void OnCall(Player player) override - { - PED::SET_PED_TO_RAGDOLL(PLAYER::GET_PLAYER_PED(player.GetId()), 5000, 5000, 0, true, true, nullptr); - } - }; - - static Ragdoll _Ragdoll{"ragdoll", "Ragdoll", "Ragdolls the player for 5 seconds"}; -} \ No newline at end of file diff --git a/src/game/features/self/Drunk.cpp b/src/game/features/self/Drunk.cpp index 1607d953..deeb0e8c 100644 --- a/src/game/features/self/Drunk.cpp +++ b/src/game/features/self/Drunk.cpp @@ -10,12 +10,6 @@ namespace YimMenu::Features { using LoopedCommand::LoopedCommand; - virtual void OnEnable() override - { - Notifications::Show("Drunk", "You are now drunk!", NotificationType::Success); - } - - virtual void OnTick() override { AUDIO::SET_PED_IS_DRUNK(Self::PlayerPed, true); @@ -24,9 +18,11 @@ namespace YimMenu::Features virtual void OnDisable() override { - AUDIO::SET_PED_IS_DRUNK(Self::PlayerPed, false); - PED::_SET_PED_DRUNKNESS(Self::PlayerPed, false, 0.0f); - Notifications::Show("Drunk", "You are now sober!", NotificationType::Success); + if (PED::_GET_PED_DRUNKNESS(Self::PlayerPed)) + { + AUDIO::SET_PED_IS_DRUNK(Self::PlayerPed, false); + PED::_SET_PED_DRUNKNESS(Self::PlayerPed, false, 0.0f); + } } }; diff --git a/src/game/features/self/NPCIgnore.cpp b/src/game/features/self/NPCIgnore.cpp index c9d5a718..44c1d6de 100644 --- a/src/game/features/self/NPCIgnore.cpp +++ b/src/game/features/self/NPCIgnore.cpp @@ -10,12 +10,6 @@ namespace YimMenu::Features { using LoopedCommand::LoopedCommand; - virtual void OnEnable() override - { - Notifications::Show("NPC Ignore", "You are now ignored!", NotificationType::Success); - } - - virtual void OnTick() override { PLAYER::SET_EVERYONE_IGNORE_PLAYER(Self::Id, true); @@ -24,7 +18,6 @@ namespace YimMenu::Features virtual void OnDisable() override { PLAYER::SET_EVERYONE_IGNORE_PLAYER(Self::Id, false); - Notifications::Show("NPC Ignore", "You are no longer ignored!", NotificationType::Success); } }; diff --git a/src/game/frontend/submenus/Network.cpp b/src/game/frontend/submenus/Network.cpp index fb812e11..206edcc8 100644 --- a/src/game/frontend/submenus/Network.cpp +++ b/src/game/frontend/submenus/Network.cpp @@ -1,20 +1,23 @@ #include "Network.hpp" + #include "core/commands/Commands.hpp" #include "core/commands/HotkeySystem.hpp" #include "core/commands/LoopedCommand.hpp" #include "game/features/Features.hpp" #include "game/frontend/items/Items.hpp" + namespace YimMenu::Submenus { Network::Network() : Submenu::Submenu("Network") { - auto session = std::make_shared("Session"); - auto spoofing = std::make_shared("Spoofing"); + auto session = std::make_shared("Session"); + auto spoofing = std::make_shared("Spoofing"); session->AddItem(std::make_shared("explodeall"_J)); session->AddItem(std::make_shared("maxhonorall"_J)); session->AddItem(std::make_shared("minhonorall"_J)); + session->AddItem(std::make_shared("blockalltelemetry"_J)); spoofing->AddItem(std::make_shared("hidegod"_J)); AddCategory(std::move(session)); AddCategory(std::move(spoofing)); diff --git a/src/game/frontend/submenus/Players.cpp b/src/game/frontend/submenus/Players.cpp index e9b607a0..9a2549d0 100644 --- a/src/game/frontend/submenus/Players.cpp +++ b/src/game/frontend/submenus/Players.cpp @@ -8,10 +8,10 @@ #include "util/network.hpp" #include "util/teleport.hpp" - #include + // remove after testing #include "core/frontend/Notifications.hpp" #include "game/backend/FiberPool.hpp" @@ -193,7 +193,6 @@ namespace YimMenu::Submenus toxic->AddItem(std::make_shared("offensive"_J)); toxic->AddItem(std::make_shared("maxhonor"_J)); toxic->AddItem(std::make_shared("minhonor"_J)); - toxic->AddItem(std::make_shared("ragdoll"_J)); toxic->AddItem(std::make_shared([] { if (ImGui::Button("Test")) diff --git a/src/game/hooks/Anticheat/SendMetric.cpp b/src/game/hooks/Anticheat/SendMetric.cpp index cd52ca48..6b660952 100644 --- a/src/game/hooks/Anticheat/SendMetric.cpp +++ b/src/game/hooks/Anticheat/SendMetric.cpp @@ -1,4 +1,5 @@ #include "core/commands/BoolCommand.hpp" +#include "core/commands/Commands.hpp" #include "core/hooking/DetourHook.hpp" #include "game/hooks/Hooks.hpp" #include "unordered_set" @@ -6,9 +7,11 @@ #include #include + namespace YimMenu::Features { BoolCommand _LogMetrics("logmetrics", "Log Metrics", "Log game telemetry"); + BoolCommand _BlockAllTelemetry("blockalltelemetry", "Block All Telemetry", "Block all game telemetry"); } namespace YimMenu::Hooks @@ -29,6 +32,12 @@ namespace YimMenu::Hooks if (Features::_LogMetrics.GetState()) LOG(INFO) << "METRIC: " << metric_name << "; DATA: " << serializer.GetBuffer(); + + if (Features::_BlockAllTelemetry.GetState()) + { + return true; + } + return BaseHook::Get>()->Original()(manager, metric); } } \ No newline at end of file diff --git a/src/util/SpawnPed.cpp b/src/util/SpawnPed.cpp index 57d88281..0e474655 100644 --- a/src/util/SpawnPed.cpp +++ b/src/util/SpawnPed.cpp @@ -10,7 +10,6 @@ namespace YimMenu { FiberPool::Push([=] { Hash model = MISC::GET_HASH_KEY(model_name.c_str()); - LOG(INFO) << "FOUND HASH"; if (STREAMING::IS_MODEL_IN_CDIMAGE(model) && STREAMING::IS_MODEL_VALID(model)) { if (!STREAMING::HAS_MODEL_LOADED(model)) @@ -19,9 +18,9 @@ namespace YimMenu ScriptMgr::Yield(); } - Vector3 coords = ENTITY::GET_OFFSET_FROM_ENTITY_IN_WORLD_COORDS(playerPed, 0.0, 3.0, -0.3); - auto ped = PED::CREATE_PED(model, coords.x, coords.y, coords.z, static_cast(rand() % 360), 0, 0, 0, 0); - + Vector3 coords = ENTITY::GET_OFFSET_FROM_ENTITY_IN_WORLD_COORDS(playerPed, 0.0, 3.0, -0.3); + float playerRotation = ENTITY::GET_ENTITY_ROTATION(playerPed, 2).x; + auto ped = PED::CREATE_PED(model, coords.x, coords.y, coords.z, playerRotation, 0, 0, 0, 0); ScriptMgr::Yield(); PED::_SET_RANDOM_OUTFIT_VARIATION(ped, true); @@ -29,7 +28,6 @@ namespace YimMenu ENTITY::SET_ENTITY_VISIBLE(ped, true); STREAMING::SET_MODEL_AS_NO_LONGER_NEEDED(model); NETWORK::NETWORK_REGISTER_ENTITY_AS_NETWORKED(ped); - NETWORK::NETWORK_SET_ENTITY_ONLY_EXISTS_FOR_PARTICIPANTS(ped, false); int id = NETWORK::PED_TO_NET(ped); if (NETWORK::NETWORK_DOES_NETWORK_ID_EXIST(id))