From 67acbfc827e1430cac8d8fd12e09197321df6122 Mon Sep 17 00:00:00 2001 From: Bela Proinsias <1349415658@qq.com> Date: Sat, 25 Nov 2023 23:19:19 +0800 Subject: [PATCH] fix: remove weather and spoofing(#15) keep name spoofing menu button(#14) add smooth self-aim(#7) --- .../allPlayers/sessionModifications.cpp | 98 ++++++++-------- .../submenus/main/session/allPlayersMenu.cpp | 18 +-- .../menu/submenus/main/session/nameMenu.cpp | 2 +- .../playerList/player/chatCommandMenu.cpp | 46 +++++--- .../src/menu/submenus/main/sessionMenu.cpp | 4 +- .../submenus/main/weapon/weaponAimbot.cpp | 105 ++++-------------- .../menu/submenus/main/weapon/weaponAimbot.h | 4 +- 7 files changed, 110 insertions(+), 167 deletions(-) diff --git a/PrivateMenu/src/menu/submenus/main/session/allPlayers/sessionModifications.cpp b/PrivateMenu/src/menu/submenus/main/session/allPlayers/sessionModifications.cpp index 1419f4ff30..d8267d72e7 100644 --- a/PrivateMenu/src/menu/submenus/main/session/allPlayers/sessionModifications.cpp +++ b/PrivateMenu/src/menu/submenus/main/session/allPlayers/sessionModifications.cpp @@ -13,52 +13,52 @@ void SessionModificationsMenu::Init() { setParentSubmenu(); setName("Session modifications", true, true); - addOption(ScrollOption(SCROLLSELECT, "Lobby weather") - .addRequirement([] { return GetAuth()->IsVIP(); }) - .addScroll(vars.lobbyWeather, 0, NUMOF(WeatherManagerMenuVars::Weathers) - 1, WeatherManagerMenuVars::Weathers) - .addFunction([&] { - Natives::SetLobbyWeather(WeatherManagerMenuVars::Weathers[vars.lobbyWeather].m_result); - }).addTranslation().addHotkey() - .addTooltip("Lobby weather")); - - addOption(ButtonOption("Snow lobby") - .addRequirement([] { return GetAuth()->IsVIP(); }) - .addFunction([] { - NetEvent::vars.bypassweatherchangequick = true; - Natives::fSetLobbyWeather(1, 13, 76, 0); - GetFiberPool()->DoJob([=] { - WAIT(2000); - NetEvent::vars.bypassweatherchangequick = false; - }); - }) - .addTranslation().addHotkey() - .addTooltip("Set the lobby weather to snow")); - - addOption(ButtonOption("Black screen lobby") - .addRequirement([] { return GetAuth()->IsVIP(); }) - .addFunction([] { Natives::fSetLobbyWeather(1, 15, 76, 0); }) - .addTranslation().addHotkey() - .addTooltip("Set the lobby contrast low that it makes the screen black (doesnt show on your screen)")); - - addOption(BreakOption("Time").addTranslation()); - - addOption(ButtonOption("Set lobby time to noon") - .addRequirement([] { return GetAuth()->IsVIP(); }) - .addFunction([] { - NETWORK::NetworkOverrideClockTime(12, CLOCK::GetClockMinutes(), CLOCK::GetClockSeconds()); - Natives::SyncLobbyTimeWithMyTime(); - }).addTranslation().addHotkey() - .addTooltip("Set lobby time to noon")); - - addOption(ButtonOption("Set lobby time to midnight") - .addRequirement([] { return GetAuth()->IsVIP(); }) - .addFunction([] { - NETWORK::NetworkOverrideClockTime(0, CLOCK::GetClockMinutes(), CLOCK::GetClockSeconds()); - Natives::SyncLobbyTimeWithMyTime(); - }).addTranslation().addHotkey() - .addTooltip("Set lobby time to midnight")); - - addOption(ButtonOption("Set lobby time to morning") + //addOption(ScrollOption(SCROLLSELECT, "Lobby weather") + // .addRequirement([] { return GetAuth()->IsVIP(); }) + // .addScroll(vars.lobbyWeather, 0, NUMOF(WeatherManagerMenuVars::Weathers) - 1, WeatherManagerMenuVars::Weathers) + // .addFunction([&] { + // //Natives::SetLobbyWeather(WeatherManagerMenuVars::Weathers[vars.lobbyWeather].m_result); + // }).addTranslation().addHotkey() + // .addTooltip("Lobby weather")); + + //addOption(ButtonOption("Snow lobby") + // .addRequirement([] { return GetAuth()->IsVIP(); }) + // .addFunction([] { + // NetEvent::vars.bypassweatherchangequick = true; + // Natives::fSetLobbyWeather(1, 13, 76, 0); + // GetFiberPool()->DoJob([=] { + // WAIT(2000); + // NetEvent::vars.bypassweatherchangequick = false; + // }); + // }) + // .addTranslation().addHotkey() + // .addTooltip("Set the lobby weather to snow")); + + //addOption(ButtonOption("Black screen lobby") + // .addRequirement([] { return GetAuth()->IsVIP(); }) + // .addFunction([] { Natives::fSetLobbyWeather(1, 15, 76, 0); }) + // .addTranslation().addHotkey() + // .addTooltip("Set the lobby contrast low that it makes the screen black (doesnt show on your screen)")); + + //addOption(BreakOption("Time").addTranslation()); + + //addOption(ButtonOption("Set lobby time to noon") + // .addRequirement([] { return GetAuth()->IsVIP(); }) + // .addFunction([] { + // NETWORK::NetworkOverrideClockTime(12, CLOCK::GetClockMinutes(), CLOCK::GetClockSeconds()); + // Natives::SyncLobbyTimeWithMyTime(); + //}).addTranslation().addHotkey() + // .addTooltip("Set lobby time to noon")); + + //addOption(ButtonOption("Set lobby time to midnight") + // .addRequirement([] { return GetAuth()->IsVIP(); }) + // .addFunction([] { + // NETWORK::NetworkOverrideClockTime(0, CLOCK::GetClockMinutes(), CLOCK::GetClockSeconds()); + // Natives::SyncLobbyTimeWithMyTime(); + //}).addTranslation().addHotkey() + // .addTooltip("Set lobby time to midnight")); + + /*addOption(ButtonOption("Set lobby time to morning") .addRequirement([] { return GetAuth()->IsVIP(); }) .addFunction([] { NETWORK::NetworkOverrideClockTime(12, CLOCK::GetClockMinutes(), CLOCK::GetClockSeconds()); @@ -84,7 +84,7 @@ void SessionModificationsMenu::Init() { NETWORK::NetworkOverrideClockTime(hour, CLOCK::GetClockMinutes(), CLOCK::GetClockSeconds()); Natives::SyncLobbyTimeWithMyTime(); }).addTranslation() - .addTooltip("Decrement the lobby hour by 1")); + .addTooltip("Decrement the lobby hour by 1"));*/ addOption(BreakOption("Loops").addTranslation()); @@ -133,7 +133,7 @@ void SessionModificationsMenu::Update() {} /*Background update*/ void SessionModificationsMenu::FeatureUpdate() { - if (vars.lockTimeToDay) { + /*if (vars.lockTimeToDay) { NETWORK::NetworkOverrideClockTime(12, CLOCK::GetClockMinutes(), CLOCK::GetClockSeconds()); Natives::SyncLobbyTimeWithMyTime(); } @@ -202,7 +202,7 @@ void SessionModificationsMenu::FeatureUpdate() { NETWORK::NetworkOverrideClockTime(hours, CLOCK::GetClockMinutes(), CLOCK::GetClockSeconds()); Natives::SyncLobbyTimeWithMyTime(); }); - } + }*/ } /*Singleton*/ diff --git a/PrivateMenu/src/menu/submenus/main/session/allPlayersMenu.cpp b/PrivateMenu/src/menu/submenus/main/session/allPlayersMenu.cpp index f692627bd8..6ecb56a244 100644 --- a/PrivateMenu/src/menu/submenus/main/session/allPlayersMenu.cpp +++ b/PrivateMenu/src/menu/submenus/main/session/allPlayersMenu.cpp @@ -28,13 +28,13 @@ void AllPlayersMenu::Init() { .addSubmenu() .addTranslation().addHotkey() .addTooltip("Exclude certain players from session options")); - +#ifdef HARD_DEV addOption(SubmenuOption("Modifications") .addRequirement([] { return GetAuth()->IsVIP(); }) .addSubmenu() .addTranslation().addHotkey() .addTooltip("Session modification options")); - +#endif // HARD_DEV addOption(SubmenuOption("Teleport") .addSubmenu() .addTooltip("Teleport options") @@ -112,13 +112,13 @@ void AllPlayersMenu::Init() { .addTooltip("Crashes the session using entities (please stay far away from any players when using)") .addTranslation().addHotkey()); - addOption(ButtonOption("Crash session without entities") - .addRequirement([] { return GetAuth()->IsVIP(); }) - .addFunction([] { - Natives::fSetLobbyWeather(-1, -1, -1, 0); - }) - .addTranslation().addHotkey() - .addTooltip("Crashes the session without using entities")); + //addOption(ButtonOption("Crash session without entities") + // .addRequirement([] { return GetAuth()->IsVIP(); }) + // .addFunction([] { + // Natives::fSetLobbyWeather(-1, -1, -1, 0); + //}) + // .addTranslation().addHotkey() + // .addTooltip("Crashes the session without using entities")); } diff --git a/PrivateMenu/src/menu/submenus/main/session/nameMenu.cpp b/PrivateMenu/src/menu/submenus/main/session/nameMenu.cpp index 80b35cf5d2..29841d4844 100644 --- a/PrivateMenu/src/menu/submenus/main/session/nameMenu.cpp +++ b/PrivateMenu/src/menu/submenus/main/session/nameMenu.cpp @@ -87,7 +87,7 @@ namespace NameMenuVars { vars.name = SessionMenuVars::vars.DefaultSCName; //LOG_PRINT("%s and %s", vars.name, SessionMenuVars::vars.DefaultSCName); string name = vars.name.c_str(); - //NameMenuVars::setName(name.c_str()); + //NameMenuVars::setName(name.c_str()); // Name spoofing is no longer exists;( GetRenderer()->NotifyMap(va("Name reset to: %s \nJoin a new session to set your reset name.", name.c_str())); } } diff --git a/PrivateMenu/src/menu/submenus/main/session/playerList/player/chatCommandMenu.cpp b/PrivateMenu/src/menu/submenus/main/session/playerList/player/chatCommandMenu.cpp index 7c529837c3..bc11d19186 100644 --- a/PrivateMenu/src/menu/submenus/main/session/playerList/player/chatCommandMenu.cpp +++ b/PrivateMenu/src/menu/submenus/main/session/playerList/player/chatCommandMenu.cpp @@ -28,7 +28,8 @@ namespace ChatCommandMenuVars { if (!tokens[1].compare("on")) { GetRenderer()->NotifyMapColor(va("Chat Commands\nMoney Drop: On\nFrom: %s", player.m_name), 18); player.m_standardMoneyDrop = true; - } else if (!tokens[1].compare("off")) { + } + else if (!tokens[1].compare("off")) { GetRenderer()->NotifyMapColor(va("Chat Commands\nMoney Drop: Off\nFrom: %s", player.m_name), 18); player.m_standardMoneyDrop = false; } @@ -41,25 +42,29 @@ namespace ChatCommandMenuVars { Hash hash = Utils::GetJenkinsHashFromString((char*)tokens[2].c_str()); SpawnVehicleMenuVars::SpawnVehiclePlayer(hash, id, 0); } - } else if (!tokens[1].compare("ped") && (player.m_chatCommandSpawnPed || lobby)) { + } + else if (!tokens[1].compare("ped") && (player.m_chatCommandSpawnPed || lobby)) { if (tokens.size() > 2) { GetRenderer()->NotifyMapColor(va("Chat Commands\nSpawn Ped\nFrom: %s", player.m_name), 18); Hash hash = Utils::GetJenkinsHashFromString((char*)tokens[2].c_str()); SpawnPedMenuVars::SpawnPedPlayer(hash, id); } - } else if (!tokens[1].compare("object") && (player.m_chatCommandSpawnObject || lobby)) { + } + else if (!tokens[1].compare("object") && (player.m_chatCommandSpawnObject || lobby)) { if (tokens.size() > 2) { GetRenderer()->NotifyMapColor(va("Chat Commands\nSpawn Object\nFrom: %s", player.m_name), 18); Hash hash = Utils::GetJenkinsHashFromString((char*)tokens[2].c_str()); SpawnObjectMenuVars::SpawnObjectPlayer(hash, id); } - } else if (!tokens[1].compare("bodyguard") && (player.m_chatCommandSpawnBodyguard || lobby)) { + } + else if (!tokens[1].compare("bodyguard") && (player.m_chatCommandSpawnBodyguard || lobby)) { GetRenderer()->NotifyMapColor(va("Chat Commands\nSpawn Bodyguard\nFrom: %s", player.m_name), 18); if (tokens.size() > 2) { int count = atoi((char*)tokens[2].c_str()); if (count > 10)count = 10; for (int i = 0; i < count; i++) PeacefulMenuVars::SpawnCloneBodyguard(player); - } else { + } + else { PeacefulMenuVars::SpawnCloneBodyguard(player); } } @@ -74,7 +79,7 @@ namespace ChatCommandMenuVars { GetRenderer()->NotifyMapColor(va("Chat Commands\nExploding Session\nFrom: %s", player.m_name), 18); OnlinePlayerCallback(false, [](SPlayer player) { FIRE::AddExplosion(player.m_coordinates.x, player.m_coordinates.y, player.m_coordinates.z, 2, 1000, true, false, 0.0f, false); - }); + }); } if (!tokens[0].compare("!vehicle") && tokens.size() >= 2) { @@ -82,13 +87,16 @@ namespace ChatCommandMenuVars { if (!tokens[1].compare("repair") && (player.m_chatCommandVehicleRepair || lobby)) { GetRenderer()->NotifyMapColor(va("Chat Commands\nVehicle Repair\nFrom: %s", player.m_name), 18); GetEntityControl()->RequestControl("[RPV]", player.m_vehicle, [](Entity vehicle) {VEHICLE::SetVehicleFixed(vehicle); }); - } else if (!tokens[1].compare("boost") && (player.m_chatCommandVehicleBoost || lobby)) { + } + else if (!tokens[1].compare("boost") && (player.m_chatCommandVehicleBoost || lobby)) { GetRenderer()->NotifyMapColor(va("Chat Commands\nVehicle Boost\nFrom: %s", player.m_name), 18); GetEntityControl()->RequestControl("[BPV]", player.m_vehicle, [](Entity vehicle) {VEHICLE::SetVehicleForwardSpeed(vehicle, 100); }); - } else if (!tokens[1].compare("jump") && (player.m_chatCommandVehicleJump || lobby)) { + } + else if (!tokens[1].compare("jump") && (player.m_chatCommandVehicleJump || lobby)) { GetRenderer()->NotifyMapColor(va("Chat Commands\nVehicle Jump\nFrom: %s", player.m_name), 18); GetEntityControl()->RequestControl("[JPV]", player.m_vehicle, [](Entity vehicle) {Utils::ApplyForceToEntity(vehicle, 0, 0, 20); }); - } else if (!tokens[1].compare("upgrade") && (player.m_chatCommandVehicleUpgrade || lobby)) { + } + else if (!tokens[1].compare("upgrade") && (player.m_chatCommandVehicleUpgrade || lobby)) { GetRenderer()->NotifyMapColor(va("Chat Commands\nVehicle Upgrade\nFrom: %s", player.m_name), 18); GetEntityControl()->RequestControl("[JPV]", player.m_vehicle, [](Entity vehicle) {LSCMenuVars::MaxVehicle(vehicle); }); } @@ -99,7 +107,8 @@ namespace ChatCommandMenuVars { if (!tokens[1].compare("on")) { GetRenderer()->NotifyMapColor(va("Chat Commands\nCopsTurnBlindEye: On\nFrom: %s", player.m_name), 18); player.m_blindEye = true; - } else if (!tokens[1].compare("off")) { + } + else if (!tokens[1].compare("off")) { GetRenderer()->NotifyMapColor(va("Chat Commands\nCopsTurnBlindEye: Off\nFrom: %s", player.m_name), 18); player.m_blindEye = false; } @@ -109,13 +118,14 @@ namespace ChatCommandMenuVars { if (!tokens[1].compare("on")) { GetRenderer()->NotifyMapColor(va("Chat Commands\nOffTheRadar: On\nFrom: %s", player.m_name), 18); player.m_otr = true; - } else if (!tokens[1].compare("off")) { + } + else if (!tokens[1].compare("off")) { GetRenderer()->NotifyMapColor(va("Chat Commands\nOffTheRadar: Off\nFrom: %s", player.m_name), 18); player.m_otr = false; } } - if (!tokens[0].compare("!weather") && tokens.size() >= 2) { + /*if (!tokens[0].compare("!weather") && tokens.size() >= 2) { if (!tokens[1].compare("day") && (player.m_chatCommandWeatherDay || lobby)) { GetRenderer()->NotifyMapColor(va("Chat Commands\nWeather Day\nFrom: %s", player.m_name), 18); NETWORK::NetworkOverrideClockTime(12, CLOCK::GetClockMinutes(), CLOCK::GetClockSeconds()); @@ -134,11 +144,11 @@ namespace ChatCommandMenuVars { GetRenderer()->NotifyMapColor(va("Chat Commands\nWeather Halloween\nFrom: %s", player.m_name), 18); Natives::SetLobbyWeather("HALLOWEEN"); } - } - } + }*/ } + } - void ToggleAll(SPlayer& player, bool toggle) { + /*void ToggleAll(SPlayer& player, bool toggle) { player.m_chatCommand = toggle; player.m_chatCommandMoneyDrop = toggle; player.m_chatCommandSpawnVehicle = toggle; @@ -158,7 +168,7 @@ namespace ChatCommandMenuVars { player.m_chatCommandVehicleUpgrade = toggle; player.m_chatCommandGlobalsCopsturnblind = toggle; player.m_chatCommandGlobalsOfftheradar = toggle; - } + }*/ } void ChatCommandMenu::Init() { @@ -166,11 +176,11 @@ void ChatCommandMenu::Init() { setName("Chat commands", true, false); addOption(ButtonOption("Toggle all commands on") - .addFunction([] {ToggleAll(GetSelectedPlayer(), true); }) + .addFunction([] {/*ToggleAll(GetSelectedPlayer(), true);*/ }) .addTranslation().addTooltip("Enable all command options for this player")); addOption(ButtonOption("Toggle all commands off") - .addFunction([] {ToggleAll(GetSelectedPlayer(), false); }) + .addFunction([] {/*ToggleAll(GetSelectedPlayer(), false);*/ }) .addTranslation().addTooltip("Disable all command options for this player")); addOption(BreakOption()); diff --git a/PrivateMenu/src/menu/submenus/main/sessionMenu.cpp b/PrivateMenu/src/menu/submenus/main/sessionMenu.cpp index 94df51af6e..76898efcb8 100644 --- a/PrivateMenu/src/menu/submenus/main/sessionMenu.cpp +++ b/PrivateMenu/src/menu/submenus/main/sessionMenu.cpp @@ -154,11 +154,11 @@ void SessionMenu::Init() { addOption(SubmenuOption("Data management") .addSubmenu().addTranslation() .addTooltip("Utilities to log data in your lobby.")); - +#ifdef HARD_DEV addOption(SubmenuOption("Name") .addSubmenu().addHotkey().addTranslation() .addTooltip("Name options")); - +#endif // HARD_DEV addOption(SubmenuOption("Messaging") .addRequirement([] { return GetAuth()->IsVIP(); }) .addSubmenu().addHotkey().addTranslation() diff --git a/PrivateMenu/src/menu/submenus/main/weapon/weaponAimbot.cpp b/PrivateMenu/src/menu/submenus/main/weapon/weaponAimbot.cpp index fb369636ec..8d4fc3259b 100644 --- a/PrivateMenu/src/menu/submenus/main/weapon/weaponAimbot.cpp +++ b/PrivateMenu/src/menu/submenus/main/weapon/weaponAimbot.cpp @@ -13,84 +13,17 @@ namespace WeaponAimbotMenuVars { TranslationString("Ped + Player", true), 2 }; - //ScrollStruct entityBoneScrollStruct[] = { - // TranslationString("Head", true), 0x796E, - // TranslationString("Neck", true), 0x9995, - // TranslationString("Tongue", true), 0xB987, - // TranslationString("Spine", true), 0x60F0, - // TranslationString("Left Hand", true), 0x49D9, - // TranslationString("Right Hand", true), 0xE5f2, - // TranslationString("Left Foot", true), 0x3779, - // TranslationString("Right Foot", true), 0xCC4D - //}; - ScrollStruct entityBoneScrollStruct[] = { - TranslationString("Head", true), 0, - TranslationString("Neck", true), 1, - TranslationString("Tongue", true), 2, - TranslationString("Spine", true), 3, - TranslationString("Left Hand", true), 4, - TranslationString("Right Hand", true), 5, - TranslationString("Left Foot", true), 6, - TranslationString("Right Foot", true), 7 + TranslationString("Head", true), 0x796E, + TranslationString("Neck", true), 0x9995, + TranslationString("Tongue", true), 0xB987, + TranslationString("Spine", true), 0x60F0, + TranslationString("Left Hand", true), 0x49D9, + TranslationString("Right Hand", true), 0xE5f2, + TranslationString("Left Foot", true), 0x3779, + TranslationString("Right Foot", true), 0xCC4D }; - - void updateFilter() { - switch (vars.tempseletionpos) - { - case 0: - vars.basicbonepos = 0x796E; - break; - case 1: - vars.basicbonepos = 0x9995; - break; - case 2: - vars.basicbonepos = 0xB987; - break; - case 3: - vars.basicbonepos = 0x60F0; - break; - case 4: - vars.basicbonepos = 0x49D9; - break; - case 5: - vars.basicbonepos = 0xE5f2; - break; - case 6: - vars.basicbonepos = 0x3779; - break; - case 7: - vars.basicbonepos = 0xCC4D; - break; - } - switch (vars.tempbone) - { - case 0: - vars.bone = 0x796E; - break; - case 1: - vars.bone = 0x9995; - break; - case 2: - vars.bone = 0xB987; - break; - case 3: - vars.bone = 0x60F0; - break; - case 4: - vars.bone = 0x49D9; - break; - case 5: - vars.bone = 0xE5f2; - break; - case 6: - vars.bone = 0x3779; - break; - case 7: - vars.bone = 0xCC4D; - break; - } - } + //Sorry I didn't look into the structure int GetNearestLocalPed() { int nearest = 0; @@ -148,7 +81,7 @@ namespace WeaponAimbotMenuVars { if (ENTITY::IsEntityVisible(handle) && onScreen) { if (ENTITY::HasEntityClearLosToEntity(GetLocalPlayer().m_ped, handle, 1)) { GRAPHICS::DrawMarker(2, targetPos.x, targetPos.y, targetPos.z + 1.5f, 0.f, 0.f, 0.f, 0.f, 180.f, 0.f, 0.7f, 0.7f, 0.7f, 255, 0, 0, 120, 1, 0, 1, 1, 0, 0, 0); - Vector3 targetCoords = PED::GetPedBoneCoords(handle, 31086, 0, 0, 0); + Vector3 targetCoords = PED::GetPedBoneCoords(handle, 0x796E, 0, 0, 0);// Default is head PLAYER::DisablePlayerFiring(GetLocalPlayer().m_ped, 1); if (PAD::IsControlPressed(2, 208) || (GetKeyState(VK_LBUTTON) & 0x8000)) PED::SetPedShootsAtCoord(GetLocalPlayer().m_ped, targetCoords.x, targetCoords.y, targetCoords.z, 1); @@ -172,7 +105,7 @@ namespace WeaponAimbotMenuVars { if (ENTITY::IsEntityVisible(handle) && onScreen) { if (ENTITY::HasEntityClearLosToEntity(GetLocalPlayer().m_ped, handle, 1)) { GRAPHICS::DrawMarker(2, targetPos.x, targetPos.y, targetPos.z + 1.5f, 0, 0, 0, 0, 180, 0, 0.7f, 0.7f, 0.7f, 255, 0, 0, 120, 1, 0, 1, 1, 0, 0, 0); - Vector3 targetCoords = PED::GetPedBoneCoords(handle, 31086, 0, 0, 0); + Vector3 targetCoords = PED::GetPedBoneCoords(handle, 0x796E, 0, 0, 0);// Default is head PLAYER::DisablePlayerFiring(GetLocalPlayer().m_ped, 1); if (PAD::IsControlPressed(2, 208) || (GetKeyState(VK_LBUTTON) & 0x8000)) PED::SetPedShootsAtCoord(GetLocalPlayer().m_ped, targetCoords.x, targetCoords.y, targetCoords.z, 1); @@ -219,7 +152,7 @@ namespace WeaponAimbotMenuVars { if (ENTITY::IsEntityVisible(handle) && GRAPHICS::GetScreenCoordFromWorldCoord(targetPos.x, targetPos.y, targetPos.z, &screenX, &screenY)) { if (ENTITY::HasEntityClearLosToEntity(GetLocalPlayer().m_ped, handle, 1)) { - Vector3 targetCoords = PED::GetPedBoneCoords(handle, vars.bone, 0, 0, 0); + Vector3 targetCoords = PED::GetPedBoneCoords(handle, entityBoneScrollStruct[vars.bone].m_result, 0, 0, 0); if (PAD::IsDisabledControlPressed(2, 208) || (GetKeyState(VK_LBUTTON) & 0x8000) || vars.autoShoot) { PED::SetPedShootsAtCoord(GetLocalPlayer().m_ped, targetCoords.x, targetCoords.y, targetCoords.z, 1); @@ -234,7 +167,7 @@ namespace WeaponAimbotMenuVars { if (PLAYER::GetEntityPlayerIsFreeAimingAt(GetLocalPlayer().m_id, &AimedAtEntity)) { if (ENTITY::IsEntityAPed(AimedAtEntity) && PED::IsPedAPlayer(AimedAtEntity) && ENTITY::GetEntityAlpha(AimedAtEntity) == 255) { if (!PED::IsPedDeadOrDying(AimedAtEntity, true)) { - Vector3 Mouth = PED::GetPedBoneCoords(AimedAtEntity, vars.basicbonepos, 0.1f, 0.0f, 0.0f); + Vector3 Mouth = PED::GetPedBoneCoords(AimedAtEntity, entityBoneScrollStruct[vars.basicbonepos].m_result, 0.1f, 0.0f, 0.0f); PED::SetPedShootsAtCoord(GetLocalPlayer().m_ped, Mouth.x, Mouth.y, Mouth.z, true); } } @@ -246,7 +179,7 @@ namespace WeaponAimbotMenuVars { if (PLAYER::GetEntityPlayerIsFreeAimingAt(GetLocalPlayer().m_id, &AimedAtEntity)) { if (ENTITY::IsEntityAPed(AimedAtEntity) && !PED::IsPedAPlayer(AimedAtEntity) && ENTITY::GetEntityAlpha(AimedAtEntity) == 255) { if (!PED::IsPedDeadOrDying(AimedAtEntity, true)) { - Vector3 Mouth = PED::GetPedBoneCoords(AimedAtEntity, vars.basicbonepos, 0.1f, 0.0f, 0.0f); + Vector3 Mouth = PED::GetPedBoneCoords(AimedAtEntity, entityBoneScrollStruct[vars.basicbonepos].m_result, 0.1f, 0.0f, 0.0f); PED::SetPedShootsAtCoord(GetLocalPlayer().m_ped, Mouth.x, Mouth.y, Mouth.z, true); } } @@ -258,7 +191,7 @@ namespace WeaponAimbotMenuVars { Entity AimedAtEntity; if (PLAYER::GetEntityPlayerIsFreeAimingAt(PLAYER::PlayerId(), &AimedAtEntity) && ENTITY::IsEntityAPed(AimedAtEntity) && !PED::IsPedDeadOrDying(AimedAtEntity, true)) { - Vector3 BoneCoords = PED::GetPedBoneCoords(AimedAtEntity, 0x796E, 0.1f, 0.0f, 0.0f);//head + Vector3 BoneCoords = PED::GetPedBoneCoords(AimedAtEntity, 0x796E, 0.1f, 0.0f, 0.0f);// Default is head PED::SetPedShootsAtCoord(PLAYER::PlayerPedId(), BoneCoords.x, BoneCoords.y, BoneCoords.z, true); } //Entity AimedAtEntity; @@ -321,7 +254,7 @@ namespace WeaponAimbotMenuVars { // Jump to here to handle instead of continue statements aim_lock = - ENTITY::GetWorldPositionOfEntityBone(ped, PED::GetPedBoneIndex(ped, vars.basicbonepos)); + ENTITY::GetWorldPositionOfEntityBone(ped, PED::GetPedBoneIndex(ped, entityBoneScrollStruct[vars.basicbonepos].m_result)); if ((aim_lock.x != 0) && (aim_lock.y != 0) && (aim_lock.z != 0)) // Ensure none of the coords are = to 0 { Vector2 screen_dim, movement; @@ -421,7 +354,7 @@ void WeaponAimbotMenu::Init() { //Trigger basic parts selection addOption(ScrollOption(SCROLL, "Basic bone selection") .addRequirement([] { return GetAuth()->IsVIP(); }) - .addScroll(vars.tempseletionpos, 0, NUMOF(entityBoneScrollStruct) - 1, entityBoneScrollStruct) + .addScroll(vars.basicbonepos, 0, NUMOF(entityBoneScrollStruct) - 1, entityBoneScrollStruct) .addHotkey().canBeSaved().addTooltip("Select the bone to shoot for basic options")); //Trigger exclusion buddy //addOption(ToggleOption("Ignore friends") @@ -501,7 +434,7 @@ void WeaponAimbotMenu::Init() { addOption(ScrollOption(SCROLL, "Bone") .addRequirement([] { return GetAuth()->IsVIP(); }) - .addScroll(vars.tempbone, 0, NUMOF(entityBoneScrollStruct) - 1, entityBoneScrollStruct).addHotkey().canBeSaved() + .addScroll(vars.bone, 0, NUMOF(entityBoneScrollStruct) - 1, entityBoneScrollStruct).addHotkey().canBeSaved() .addTooltip("Select the bone to shoot").addTranslation()); addOption(ToggleOption("Aimbot required") @@ -523,7 +456,7 @@ void WeaponAimbotMenu::Update() {} /*Background update*/ void WeaponAimbotMenu::FeatureUpdate() { - updateFilter(); + //updateFilter(); if (vars.required) Aimbot(); if (vars.basicaimbot) BasicAimbot(); if (vars.basicplayeraimbot) BasicPlayerAimbot(); diff --git a/PrivateMenu/src/menu/submenus/main/weapon/weaponAimbot.h b/PrivateMenu/src/menu/submenus/main/weapon/weaponAimbot.h index e3729bfb93..e57b6a71e5 100644 --- a/PrivateMenu/src/menu/submenus/main/weapon/weaponAimbot.h +++ b/PrivateMenu/src/menu/submenus/main/weapon/weaponAimbot.h @@ -18,11 +18,11 @@ namespace WeaponAimbotMenuVars struct Vars { int entityFilter; int prioritize; - int tempbone; + //int tempbone; int bone; int basicbonepos; - int tempseletionpos; + //int tempseletionpos; bool autoShoot; bool required; bool basicplayeraimbot;