From a24e1ffa6e9d07ae88611f8bc718b0c166086684 Mon Sep 17 00:00:00 2001 From: Maddy <59680197+xM4ddy@users.noreply.github.com> Date: Tue, 8 Feb 2022 23:06:33 -0500 Subject: [PATCH] Added Infinite ammo & clip. --- BigBaseV2/src/backend/backend.cpp | 2 ++ BigBaseV2/src/backend/looped/looped.hpp | 2 ++ .../backend/looped/weapons/infinite_ammo.cpp | 21 +++++++++++++++++++ .../backend/looped/weapons/infinite_mag.cpp | 16 ++++++++++++++ BigBaseV2/src/core/globals.hpp | 8 ++++++- BigBaseV2/src/gui/window/main/tab_weapons.cpp | 11 ++++++++++ 6 files changed, 59 insertions(+), 1 deletion(-) create mode 100644 BigBaseV2/src/backend/looped/weapons/infinite_ammo.cpp create mode 100644 BigBaseV2/src/backend/looped/weapons/infinite_mag.cpp diff --git a/BigBaseV2/src/backend/backend.cpp b/BigBaseV2/src/backend/backend.cpp index 429c1285..faa03522 100644 --- a/BigBaseV2/src/backend/backend.cpp +++ b/BigBaseV2/src/backend/backend.cpp @@ -61,6 +61,8 @@ namespace big looped::weapons_steal_vehicle_gun(); looped::weapons_repair_gun(); looped::weapons_vehicle_gun(); + looped::weapons_infinite_ammo(); + looped::weapons_infinite_mag(); }QUEUE_JOB_END_CLAUSE QUEUE_JOB_BEGIN_CLAUSE() diff --git a/BigBaseV2/src/backend/looped/looped.hpp b/BigBaseV2/src/backend/looped/looped.hpp index 7e5f9272..efe5944a 100644 --- a/BigBaseV2/src/backend/looped/looped.hpp +++ b/BigBaseV2/src/backend/looped/looped.hpp @@ -39,5 +39,7 @@ namespace big static void weapons_repair_gun(); static void weapons_steal_vehicle_gun(); static void weapons_vehicle_gun(); + static void weapons_infinite_ammo(); + static void weapons_infinite_mag(); }; } \ No newline at end of file diff --git a/BigBaseV2/src/backend/looped/weapons/infinite_ammo.cpp b/BigBaseV2/src/backend/looped/weapons/infinite_ammo.cpp new file mode 100644 index 00000000..a1c15249 --- /dev/null +++ b/BigBaseV2/src/backend/looped/weapons/infinite_ammo.cpp @@ -0,0 +1,21 @@ +#include "backend/looped/looped.hpp" +#include "core/enums.hpp" +#include "util/entity.hpp" +#include "util/math.hpp" +#include "util/notify.hpp" + +namespace big +{ + void looped::weapons_infinite_ammo() + { + if (g.weapons.infinite_ammo) { + Hash weaponHash; + auto const ped = PLAYER::PLAYER_PED_ID(); + + WEAPON::GET_CURRENT_PED_WEAPON(ped, &weaponHash, 1); + if (weaponHash != RAGE_JOAAT("WEAPON_UNARMED")) { + WEAPON::GIVE_WEAPON_TO_PED(ped, weaponHash, 9999, false, false); + } + } + } +} \ No newline at end of file diff --git a/BigBaseV2/src/backend/looped/weapons/infinite_mag.cpp b/BigBaseV2/src/backend/looped/weapons/infinite_mag.cpp new file mode 100644 index 00000000..14eba0e5 --- /dev/null +++ b/BigBaseV2/src/backend/looped/weapons/infinite_mag.cpp @@ -0,0 +1,16 @@ +#include "backend/looped/looped.hpp" +#include "core/enums.hpp" +#include "util/entity.hpp" +#include "util/math.hpp" +#include "util/notify.hpp" + +namespace big +{ + void looped::weapons_infinite_mag() + { + if (g.weapons.infinite_mag) { + auto const ped = PLAYER::PLAYER_PED_ID(); + WEAPON::SET_PED_INFINITE_AMMO_CLIP(ped, g.weapons.infinite_mag); + } + } +} \ No newline at end of file diff --git a/BigBaseV2/src/core/globals.hpp b/BigBaseV2/src/core/globals.hpp index 5aefb517..5448854e 100644 --- a/BigBaseV2/src/core/globals.hpp +++ b/BigBaseV2/src/core/globals.hpp @@ -116,6 +116,8 @@ struct globals { struct weapons { CustomWeapon custom_weapon = CustomWeapon::NONE; char vehicle_gun_model[12] = "bus"; + bool infinite_ammo {}; + bool infinite_mag {}; }; struct window { @@ -203,6 +205,8 @@ struct globals { this->vehicle.speedo_meter.y = j["vehicle"]["speedo_meter"]["position_y"]; this->weapons.custom_weapon = (CustomWeapon)j["weapons"]["custom_weapon"]; + this->weapons.custom_weapon = j["weapons"]["infinite_ammo"]; + this->weapons.custom_weapon = j["weapons"]["infinite_mag"]; this->window.debug = j["window"]["debug"]; this->window.handling = j["window"]["handling"]; @@ -312,7 +316,9 @@ struct globals { }, { "weapons", { - { "custom_weapon", (int)this->weapons.custom_weapon } + { "custom_weapon", (int)this->weapons.custom_weapon }, + { "infinite_ammo", (int)this->weapons.infinite_ammo }, + { "infinite_mag", (int)this->weapons.infinite_mag } } }, { diff --git a/BigBaseV2/src/gui/window/main/tab_weapons.cpp b/BigBaseV2/src/gui/window/main/tab_weapons.cpp index fd0513ff..4556ae48 100644 --- a/BigBaseV2/src/gui/window/main/tab_weapons.cpp +++ b/BigBaseV2/src/gui/window/main/tab_weapons.cpp @@ -7,6 +7,17 @@ namespace big { if (ImGui::BeginTabItem("Weapons")) { + if (ImGui::TreeNode("Ammo Options")) + { + ImGui::Checkbox("Infinite Ammo", &g.weapons.infinite_ammo); + + ImGui::SameLine(); + + ImGui::Checkbox("Infinite Clip", &g.weapons.infinite_mag); + + ImGui::TreePop(); + } + if (ImGui::TreeNode("Custom Weapons")) { CustomWeapon selected = g.weapons.custom_weapon;