diff --git a/.gitignore b/.gitignore index ce11a1d..987ed10 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ build/ .cache -.vs \ No newline at end of file +.vs +out/ \ No newline at end of file diff --git a/src/game/features/players/troll/GivePlayerAllWeapon.cpp b/src/game/features/players/troll/GivePlayerAllWeapon.cpp new file mode 100644 index 0000000..cd90151 --- /dev/null +++ b/src/game/features/players/troll/GivePlayerAllWeapon.cpp @@ -0,0 +1,21 @@ +#include "game/commands/PlayerCommand.hpp" +#include "core/commands/Command.hpp" +#include "game/backend/Self.hpp" +#include "game/gta/data/Weapons.hpp" + + +namespace YimMenu::Features +{ + class GivePlayerAllWeapon : public PlayerCommand + { + using PlayerCommand::PlayerCommand; + + virtual void OnCall(Player player) override + { + for (auto weapon : g_WeaponHashes) + player.GetPed().GiveWeapon(weapon); + } + }; + + static GivePlayerAllWeapon _GivePlayerAllWeapon{"giveplayerallweapon", "GivePlayerAllWeapon", "Give All Weapon the player"}; +} \ No newline at end of file diff --git a/src/game/features/self/DisableCriticalHits.cpp b/src/game/features/self/DisableCriticalHits.cpp new file mode 100644 index 0000000..9d6aeb2 --- /dev/null +++ b/src/game/features/self/DisableCriticalHits.cpp @@ -0,0 +1,24 @@ +#include "core/commands/LoopedCommand.hpp" +#include "game/backend/Self.hpp" +#include "game/gta/Pools.hpp" +#include + +namespace YimMenu::Features +{ + class DisableCriticalHits : public LoopedCommand + { + using LoopedCommand::LoopedCommand; + virtual void OnTick() override + { + PED::SET_PED_SUFFERS_CRITICAL_HITS(Self::GetPed().GetHandle(), FALSE); + } + + virtual void OnDisable() override + { + PED::SET_PED_SUFFERS_CRITICAL_HITS(Self::GetPed().GetHandle(), TRUE); + } + }; + + static DisableCriticalHits _DisableCriticalHits{"disablecriticalhits", "Disable Critical Hits", "Prevent you from getting Critical Hits"}; + +} \ No newline at end of file diff --git a/src/game/features/self/ExplosionRadius.cpp b/src/game/features/self/ExplosionRadius.cpp new file mode 100644 index 0000000..fb1819e --- /dev/null +++ b/src/game/features/self/ExplosionRadius.cpp @@ -0,0 +1,26 @@ +#include "core/commands/LoopedCommand.hpp" +#include "game/backend/Self.hpp" +#include "game/gta/Pools.hpp" +#include +#include "core/commands/FloatCommand.hpp" + +namespace YimMenu::Features +{ + static FloatCommand _ExplosionRadiusScale{"explosionradiusscale", "Weapon Explosion RadiusScale", "Modifying Weapon Explosion RadiusScale", 0.0f, 10.0f, 1.0f}; + + class ExplosionRadius : public LoopedCommand + { + using LoopedCommand::LoopedCommand; + + void OnTick() override + { + Hash weapon; + if (WEAPON::GET_CURRENT_PED_WEAPON(Self::GetPed().GetHandle(), &weapon, 0)) + { + WEAPON::SET_WEAPON_AOE_MODIFIER(weapon, _ExplosionRadiusScale.GetState()); + } + } + }; + + static ExplosionRadius _ExplosionRadius{"explosionradius", "Weapon Explosion Radius", "Modifying Weapon Explosion Radius"}; +} \ No newline at end of file diff --git a/src/game/features/world/InfiniteBoundary.cpp b/src/game/features/world/InfiniteBoundary.cpp new file mode 100644 index 0000000..c7d521e --- /dev/null +++ b/src/game/features/world/InfiniteBoundary.cpp @@ -0,0 +1,24 @@ +#include "core/commands/LoopedCommand.hpp" +#include "game/gta/Pools.hpp" +#include "game/backend/Self.hpp" +#include + +namespace YimMenu::Features +{ + class InfiniteBoundary : public LoopedCommand + { + using LoopedCommand::LoopedCommand; + virtual void OnTick() override + { + PLAYER::EXTEND_WORLD_BOUNDARY_FOR_PLAYER(-1e5, -1e5, -1e5); + PLAYER::EXTEND_WORLD_BOUNDARY_FOR_PLAYER(1e5, 1e5, 1e5); + } + virtual void OnDisable() override + { + PLAYER::RESET_WORLD_BOUNDARY_FOR_PLAYER(); + } + }; + + static InfiniteBoundary Infinitebundary{"infiniteboundary", "Infinite Boundary", "You won't die because of border restrictions."}; + +} \ No newline at end of file diff --git a/src/game/frontend/submenus/Network.cpp b/src/game/frontend/submenus/Network.cpp index cabc44f..1435dad 100644 --- a/src/game/frontend/submenus/Network.cpp +++ b/src/game/frontend/submenus/Network.cpp @@ -83,6 +83,7 @@ namespace YimMenu::Submenus toxicGroup->AddItem(std::make_shared("killexploitall"_J, "Permadeath All")); toxicGroup->AddItem(std::make_shared("explodeall"_J, "Explode All")); toxicGroup->AddItem(std::make_shared("ceokickall"_J, "CEO Kick All")); + toxicGroup->AddItem(std::make_shared("hkickall"_J, "hostkick for all player")); miscGroup->AddItem(std::make_shared("forcethunder"_J)); diff --git a/src/game/frontend/submenus/Player/Troll.cpp b/src/game/frontend/submenus/Player/Troll.cpp index fe124d3..28f9a44 100644 --- a/src/game/frontend/submenus/Player/Troll.cpp +++ b/src/game/frontend/submenus/Player/Troll.cpp @@ -13,6 +13,7 @@ namespace YimMenu::Submenus general->AddItem(std::make_shared("sendsext"_J)); general->AddItem(std::make_shared("sendphantomcar"_J)); general->AddItem(std::make_shared("sendgooch"_J)); + general->AddItem(std::make_shared("giveplayerallweapon"_J)); bounty->AddItem(std::make_shared("bountyamount"_J, "Amount")); bounty->AddItem(std::make_shared("anonymousbounty"_J, "Anonymous")); diff --git a/src/game/frontend/submenus/Self.cpp b/src/game/frontend/submenus/Self.cpp index 7671ba8..8a28e10 100644 --- a/src/game/frontend/submenus/Self.cpp +++ b/src/game/frontend/submenus/Self.cpp @@ -28,6 +28,7 @@ namespace YimMenu::Submenus globalsGroup->AddItem(std::make_shared("formatmoney"_J)); globalsGroup->AddItem(std::make_shared("mobileradio"_J)); globalsGroup->AddItem(std::make_shared("keepplayerclean"_J)); + globalsGroup->AddItem(std::make_shared("disablecriticalhits"_J)); toolsGroup->AddItem(std::make_shared("skipcutscene"_J)); toolsGroup->AddItem(std::make_shared("skipconversation"_J)); diff --git a/src/game/frontend/submenus/Self/Weapons.cpp b/src/game/frontend/submenus/Self/Weapons.cpp index 4f5e00c..3040f94 100644 --- a/src/game/frontend/submenus/Self/Weapons.cpp +++ b/src/game/frontend/submenus/Self/Weapons.cpp @@ -227,6 +227,9 @@ namespace YimMenu::Submenus weaponsGlobalsGroup->AddItem(std::make_shared("weapondamage"_J, std::make_shared("weapondamagescale"_J, std::nullopt, false))); weaponsGlobalsGroup->AddItem(std::make_shared("meleedamage"_J)); weaponsGlobalsGroup->AddItem(std::make_shared("meleedamage"_J, std::make_shared("meleedamagescale"_J, std::nullopt, false))); + weaponsGlobalsGroup->AddItem(std::make_shared("explosionradius"_J)); + weaponsGlobalsGroup->AddItem(std::make_shared("explosionradius"_J, std::make_shared("explosionradiusscale"_J, std::nullopt, false))); + weaponsToolsGroup->AddItem(std::make_shared("giveallweapons"_J)); weaponsToolsGroup->AddItem(std::make_shared("givemaxammo"_J)); diff --git a/src/game/frontend/submenus/World.cpp b/src/game/frontend/submenus/World.cpp index e898b88..2b37f28 100644 --- a/src/game/frontend/submenus/World.cpp +++ b/src/game/frontend/submenus/World.cpp @@ -45,6 +45,7 @@ namespace YimMenu::Submenus otherOpts->AddItem(std::make_shared("PedRiotMode"_J)); otherOpts->AddItem(std::make_shared("CopsDispatch"_J)); otherOpts->AddItem(std::make_shared("enablecreatordevmode"_J)); + otherOpts->AddItem(std::make_shared("infiniteboundary"_J)); main->AddItem(std::move(killPeds)); main->AddItem(std::move(deleteOpts));