2022-12-22 21:23:32 +00:00
|
|
|
#pragma once
|
|
|
|
#include "gta/joaat.hpp"
|
|
|
|
#include "core/enums.hpp"
|
|
|
|
#include "context/command_context.hpp"
|
|
|
|
#include "context/default_command_context.hpp"
|
|
|
|
|
|
|
|
namespace big
|
|
|
|
{
|
|
|
|
class command
|
|
|
|
{
|
|
|
|
protected:
|
|
|
|
std::string m_name;
|
|
|
|
std::string m_label;
|
|
|
|
std::string m_description;
|
|
|
|
std::optional<std::uint8_t> m_num_args;
|
|
|
|
bool m_fiber_pool;
|
|
|
|
|
|
|
|
virtual void execute(const std::vector<std::uint64_t>& args, const std::shared_ptr<command_context> ctx = std::make_shared<default_command_context>()) = 0;
|
|
|
|
virtual std::optional<std::vector<std::uint64_t>> parse_args(const std::vector<std::string>& args, const std::shared_ptr<command_context> ctx = std::make_shared<default_command_context>()) { return std::vector<std::uint64_t>(); };
|
|
|
|
virtual CommandAccessLevel get_access_level() { return CommandAccessLevel::ADMIN; }
|
|
|
|
|
|
|
|
public:
|
|
|
|
command(const std::string& name, const std::string& label, const std::string& description, std::optional<std::uint8_t> num_args, bool fiber_pool = true);
|
Feature Additions, GUI Tweaks, Fixes (#975)
* Added view nearby to view header, moved get_entities function to entities and refactored some code. Also implemented a sphere scale to the blackhole as it can get big
* added delete and kill nearby peds and updated ped header
* added some nearby ped looped commands, and some changes to extend the buttons
* add vehicle options to nearby
* add most ciritcal feature kill enemies
* changes to ignore peds based off of some of maybegreat's suggestions, same with ped_rain, removed loose comment. Updated vehicle.hpp, changed size of vehicle buttons and inlined kill enemies
* fixed a problem where the vehicle options crashed + added color
* updated colors and added on disable for ped_rush
* finished and added vehicle rain feature
* added aimbot and triggerbot, added templating to buttons
* update vehicle rain desc
* added vdistance check, player check, police check, enemy check. Added even more commenting... sue me. 3 toggles added for the checks and slider for dist. Will tweak more later
* switched to goto statements instead of continue, should be done now
* removed delete nearby vehicles
* there was no check in get_entities for our local vehicle
2023-02-25 13:33:16 -07:00
|
|
|
inline const std::string& get_name() { return m_name; }
|
2022-12-22 21:23:32 +00:00
|
|
|
inline const std::string& get_label() { return m_label; }
|
|
|
|
inline const std::string& get_description() { return m_description; }
|
|
|
|
|
|
|
|
void call(const std::vector<std::uint64_t>& args, const std::shared_ptr<command_context> ctx = std::make_shared<default_command_context>());
|
|
|
|
void call(const std::vector<std::string>& args, const std::shared_ptr<command_context> ctx = std::make_shared<default_command_context>());
|
|
|
|
|
|
|
|
static command* get(rage::joaat_t command);
|
|
|
|
|
|
|
|
static void call(rage::joaat_t command, const std::vector<std::uint64_t>& args, const std::shared_ptr<command_context> ctx = std::make_shared<default_command_context>());
|
|
|
|
static void call(rage::joaat_t command, const std::vector<std::string>& args, const std::shared_ptr<command_context> ctx = std::make_shared<default_command_context>());
|
|
|
|
|
|
|
|
static void process(const std::string& text, const std::shared_ptr<command_context> ctx = std::make_shared<default_command_context>());
|
|
|
|
};
|
|
|
|
|
|
|
|
inline std::unordered_map<rage::joaat_t, command*> g_commands;
|
|
|
|
}
|