2022-05-04 19:16:40 +02:00
# pragma once
# include "views/view.hpp"
namespace big
{
2023-03-01 21:27:15 +00:00
enum class tabs
{
2022-08-10 08:42:34 +08:00
NONE ,
SELF ,
WEAPONS ,
TELEPORT ,
MOBILE ,
VEHICLE ,
HANDLING ,
2022-05-04 19:16:40 +02:00
HANDLING_SEARCH ,
HANDLING_SAVED_PROFILE ,
HANDLING_MY_PROFILES ,
HANDLING_CURRENT_PROFILE ,
2022-06-26 00:14:00 +02:00
LSC ,
2022-08-10 08:42:34 +08:00
SPAWN_VEHICLE ,
2022-07-10 06:33:14 +08:00
PV ,
2022-07-28 20:42:57 +02:00
PERSIST_CAR ,
2022-08-10 08:42:34 +08:00
FUN_VEHICLE ,
WORLD ,
SPAWN_PED ,
2022-10-26 20:27:15 +02:00
TIME_AND_WEATHER ,
2022-12-17 14:47:01 +00:00
CREATOR ,
2023-01-06 23:25:16 +00:00
TRAIN ,
2023-01-15 16:39:57 -05:00
WATER ,
2023-02-08 22:50:26 +01:00
BLACKHOLE ,
2023-02-21 06:20:40 +08:00
MODEL_SWAPPER ,
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
NEARBY ,
2022-08-10 08:42:34 +08:00
NETWORK ,
SESSION ,
2023-01-22 21:57:32 +00:00
MISSIONS ,
2022-05-04 19:16:40 +02:00
SPOOFING ,
2022-11-19 01:49:36 +00:00
PLAYER_DATABASE ,
2022-11-24 21:49:05 +00:00
SESSION_BROWSER ,
2022-08-10 08:42:34 +08:00
SETTINGS ,
2023-01-23 05:57:55 +08:00
STAT_EDITOR ,
2022-08-10 08:42:34 +08:00
CONTEXT_MENU_SETTINGS ,
ESP_SETTINGS ,
GUI_SETTINGS ,
2023-01-09 22:07:48 +01:00
HOTKEY_SETTINGS ,
2023-01-03 16:48:32 +00:00
REACTION_SETTINGS ,
2022-08-10 08:42:34 +08:00
PROTECTION_SETTINGS ,
2023-02-01 19:46:33 +01:00
TRANSLATION_SETTINGS ,
2022-08-10 08:42:34 +08:00
DEBUG ,
PLAYER
2022-05-04 19:16:40 +02:00
} ;
struct navigation_struct
{
2023-03-01 21:27:15 +00:00
const char name [ 32 ] = " " ;
2022-05-04 19:16:40 +02:00
std : : function < void ( ) > func = nullptr ;
2022-08-10 08:42:34 +08:00
std : : map < tabs , navigation_struct > sub_nav { } ;
2022-05-04 19:16:40 +02:00
} ;
class gui_service final
{
std : : vector < tabs > current_tab { } ;
bool switched_view = true ;
2023-03-01 21:27:15 +00:00
std : : map < tabs , navigation_struct > nav = { { tabs : : SELF ,
{ " Self " ,
view : : self ,
{
{ tabs : : WEAPONS , { " Weapons " , view : : weapons } } ,
{ tabs : : MOBILE , { " Mobile " , view : : mobile } } ,
{ tabs : : TELEPORT , { " Teleport " , view : : teleport } } ,
} } } ,
{ tabs : : VEHICLE ,
{ " Vehicle " ,
view : : vehicle ,
{
{ tabs : : HANDLING ,
{ " Handling " ,
view : : handling_current_profile ,
{
{ tabs : : HANDLING_CURRENT_PROFILE , { " Current Profile " , view : : handling_current_profile } } ,
{ tabs : : HANDLING_SAVED_PROFILE , { " Saved Profiles " , view : : handling_saved_profiles } } ,
} } } ,
{ tabs : : LSC , { " LS Customs " , view : : lsc } } ,
{ tabs : : SPAWN_VEHICLE , { " Spawn Vehicle " , view : : spawn_vehicle } } ,
{ tabs : : PV , { " Personal Vehicle " , view : : pv } } ,
{ tabs : : PERSIST_CAR , { " Persist Car " , view : : persist_car } } ,
{ tabs : : FUN_VEHICLE , { " Fun Features " , view : : fun_vehicle } } ,
} } } ,
{ tabs : : WORLD , { " World " , nullptr , { { tabs : : SPAWN_PED , { " Spawn Ped " , view : : spawn_ped } } , { tabs : : TIME_AND_WEATHER , { " Time And Weather " , view : : time_and_weather } } , { tabs : : CREATOR , { " Creator " , view : : creator } } , { tabs : : TRAIN , { " Train " , view : : train } } , { tabs : : WATER , { " Water " , view : : water } } , { tabs : : BLACKHOLE , { " Blackhole " , view : : blackhole } } , { tabs : : MODEL_SWAPPER , { " Model Swapper " , view : : model_swapper } } , { tabs : : NEARBY , { " Nearby " , view : : nearby } } } } } ,
{ tabs : : NETWORK ,
{ " Network " ,
nullptr ,
{
{ tabs : : SPOOFING , { " Spoofing " , view : : spoofing } } ,
{ tabs : : SESSION , { " Session " , view : : session } } ,
{ tabs : : MISSIONS , { " Missions " , view : : missions } } ,
{ tabs : : PLAYER_DATABASE , { " Player Database " , view : : player_database } } ,
{ tabs : : SESSION_BROWSER , { " Session Browser " , view : : session_browser } } ,
} } } ,
{ tabs : : SETTINGS ,
{ " Settings " ,
view : : settings ,
{
{ tabs : : STAT_EDITOR , { " Stat Editor " , view : : stat_editor } } ,
{ tabs : : CONTEXT_MENU_SETTINGS , { " Context Menu " , view : : context_menu_settings } } ,
{ tabs : : ESP_SETTINGS , { " ESP " , view : : esp_settings } } ,
{ tabs : : GUI_SETTINGS , { " GUI " , view : : gui_settings } } ,
{ tabs : : HOTKEY_SETTINGS , { " Hotkeys " , view : : hotkey_settings } } ,
{ tabs : : REACTION_SETTINGS , { " Reactions " , view : : reaction_settings } } ,
{ tabs : : PROTECTION_SETTINGS , { " Protection " , view : : protection_settings } } ,
{ tabs : : TRANSLATION_SETTINGS , { " Translation " , view : : translation_settings } } ,
{ tabs : : DEBUG , { " Debug " , nullptr } } ,
} } } ,
{ tabs : : PLAYER , { " " , view : : view_player } } } ;
2022-05-04 19:16:40 +02:00
public :
gui_service ( ) ;
virtual ~ gui_service ( ) ;
int nav_ctr = 0 ;
navigation_struct * get_selected ( ) ;
2022-08-10 08:42:34 +08:00
std : : vector < tabs > & get_selected_tab ( ) ;
2022-05-04 19:16:40 +02:00
bool has_switched_view ( ) ;
void set_selected ( tabs ) ;
void set_nav_size ( int ) ;
void increment_nav_size ( ) ;
void reset_nav_size ( ) ;
2022-08-10 08:42:34 +08:00
std : : map < tabs , navigation_struct > & get_navigation ( ) ;
2022-05-04 19:16:40 +02:00
} ;
inline gui_service * g_gui_service { } ;
}