95 lines
2.3 KiB
C++
95 lines
2.3 KiB
C++
![]() |
#include "core/data/custom_weapons.hpp"
|
||
|
#include "fiber_pool.hpp"
|
||
|
#include "gta/Weapons.h"
|
||
|
#include "script.hpp"
|
||
|
#include "core/data/special_ammo_types.hpp"
|
||
|
#include "views/view.hpp"
|
||
|
|
||
|
namespace big
|
||
|
{
|
||
|
void view::weapons() {
|
||
|
components::small_text("Ammo");
|
||
|
ImGui::Checkbox("Infinite Ammo", &g->weapons.infinite_ammo);
|
||
|
|
||
|
ImGui::SameLine();
|
||
|
|
||
|
ImGui::Checkbox("Infinite Clip", &g->weapons.infinite_mag);
|
||
|
|
||
|
ImGui::Checkbox("Enable Special Ammo", &g->weapons.ammo_special.toggle);
|
||
|
|
||
|
eAmmoSpecialType selected_ammo = g->weapons.ammo_special.type;
|
||
|
|
||
|
if (ImGui::BeginCombo("Ammo Special", SPECIAL_AMMOS[(int)selected_ammo].name))
|
||
|
{
|
||
|
for (const auto& special_ammo : SPECIAL_AMMOS)
|
||
|
{
|
||
|
if (ImGui::Selectable(special_ammo.name, special_ammo.type == selected_ammo))
|
||
|
g->weapons.ammo_special.type = special_ammo.type;
|
||
|
|
||
|
if (special_ammo.type == selected_ammo)
|
||
|
ImGui::SetItemDefaultFocus();
|
||
|
}
|
||
|
|
||
|
ImGui::EndCombo();
|
||
|
}
|
||
|
|
||
|
ImGui::Separator();
|
||
|
|
||
|
components::small_text("Misc");
|
||
|
|
||
|
ImGui::Checkbox("Force Crosshairs", &g->weapons.force_crosshairs);
|
||
|
|
||
|
ImGui::SameLine();
|
||
|
|
||
|
ImGui::Checkbox("No Recoil", &g->weapons.no_recoil);
|
||
|
|
||
|
ImGui::SameLine();
|
||
|
|
||
|
ImGui::Checkbox("No Spread", &g->weapons.no_spread);
|
||
|
|
||
|
if (ImGui::Button("Get All Weapons"))
|
||
|
{
|
||
|
QUEUE_JOB_BEGIN_CLAUSE()
|
||
|
{
|
||
|
for (auto const& weapon : weapon_list) {
|
||
|
WEAPON::GIVE_DELAYED_WEAPON_TO_PED(PLAYER::PLAYER_PED_ID(), weapon, 9999, false);
|
||
|
}
|
||
|
WEAPON::GIVE_DELAYED_WEAPON_TO_PED(PLAYER::PLAYER_PED_ID(), -72657034, 0, true);
|
||
|
}
|
||
|
QUEUE_JOB_END_CLAUSE
|
||
|
}
|
||
|
|
||
|
ImGui::SliderFloat("Damage Multiplier", &g->weapons.increased_damage, 1.f, 10.f, "%.1f");
|
||
|
|
||
|
ImGui::Separator();
|
||
|
|
||
|
components::small_text("Custom Weapons");
|
||
|
|
||
|
CustomWeapon selected = g->weapons.custom_weapon;
|
||
|
|
||
|
if (ImGui::BeginCombo("Weapon", custom_weapons[(int)selected].name))
|
||
|
{
|
||
|
for (const custom_weapon& weapon : custom_weapons)
|
||
|
{
|
||
|
if (ImGui::Selectable(weapon.name, weapon.id == selected))
|
||
|
{
|
||
|
g->weapons.custom_weapon = weapon.id;
|
||
|
}
|
||
|
|
||
|
if (weapon.id == selected)
|
||
|
ImGui::SetItemDefaultFocus();
|
||
|
}
|
||
|
|
||
|
ImGui::EndCombo();
|
||
|
}
|
||
|
|
||
|
switch (selected)
|
||
|
{
|
||
|
case CustomWeapon::VEHICLE_GUN:
|
||
|
ImGui::Text("Shooting Model:");
|
||
|
ImGui::InputText("##vehicle_gun_model", g->weapons.vehicle_gun_model, 12);
|
||
|
|
||
|
break;
|
||
|
}
|
||
|
}
|
||
|
}
|