Added entity proofs (#304)
This commit is contained in:
parent
60911e657b
commit
51d03c8883
@ -3,17 +3,19 @@
|
|||||||
|
|
||||||
namespace big
|
namespace big
|
||||||
{
|
{
|
||||||
static bool bLastGodMode = false;
|
static uint32_t lastProofBits = 0;
|
||||||
|
|
||||||
void looped::self_godmode()
|
void looped::self_godmode() {
|
||||||
{
|
if (g_local_player != nullptr) {
|
||||||
bool bGodMode = g->self.godmode;
|
uint32_t proofBits = g->self.proof_mask;
|
||||||
|
uint32_t changedProofBits = proofBits ^ lastProofBits;
|
||||||
|
uint32_t changedOrEnabledProofBits = proofBits | changedProofBits;
|
||||||
|
|
||||||
if (bGodMode || (!bGodMode && bGodMode != bLastGodMode))
|
if (changedOrEnabledProofBits) {
|
||||||
{
|
uint32_t unchangedBits = g_local_player->m_damage_bits & ~changedOrEnabledProofBits;
|
||||||
ENTITY::SET_ENTITY_INVINCIBLE(self::ped, g->self.godmode);
|
g_local_player->m_damage_bits = unchangedBits | proofBits;
|
||||||
|
lastProofBits = proofBits;
|
||||||
bLastGodMode = g->self.godmode;
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -1,196 +1,209 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
namespace big
|
namespace big
|
||||||
{
|
{
|
||||||
enum class CustomWeapon
|
enum class CustomWeapon
|
||||||
{
|
{
|
||||||
NONE,
|
NONE,
|
||||||
CAGE_GUN,
|
CAGE_GUN,
|
||||||
DELETE_GUN,
|
DELETE_GUN,
|
||||||
GRAVITY_GUN,
|
GRAVITY_GUN,
|
||||||
STEAL_VEHICLE_GUN,
|
STEAL_VEHICLE_GUN,
|
||||||
REPAIR_GUN,
|
REPAIR_GUN,
|
||||||
VEHICLE_GUN
|
VEHICLE_GUN
|
||||||
};
|
};
|
||||||
|
|
||||||
enum class ContextEntityType : uint8_t
|
enum class ContextEntityType : uint8_t
|
||||||
{
|
{
|
||||||
NONE = 0,
|
NONE = 0,
|
||||||
PED = 1 << 0,
|
PED = 1 << 0,
|
||||||
PLAYER = 1 << 1,
|
PLAYER = 1 << 1,
|
||||||
VEHICLE = 1 << 2,
|
VEHICLE = 1 << 2,
|
||||||
OBJECT = 1 << 3,
|
OBJECT = 1 << 3,
|
||||||
SHARED = 1 << 4
|
SHARED = 1 << 4
|
||||||
};
|
};
|
||||||
|
|
||||||
enum class eEntityType
|
enum class eEntityType
|
||||||
{
|
{
|
||||||
UNK_0,
|
UNK_0,
|
||||||
UNK_1,
|
UNK_1,
|
||||||
UNK_2,
|
UNK_2,
|
||||||
UNK_3,
|
UNK_3,
|
||||||
UNK_4,
|
UNK_4,
|
||||||
VEHICLE,
|
VEHICLE,
|
||||||
PED,
|
PED,
|
||||||
};
|
};
|
||||||
|
|
||||||
enum class eTransitionState
|
enum class eTransitionState
|
||||||
{
|
{
|
||||||
TRANSITION_STATE_EMPTY,
|
TRANSITION_STATE_EMPTY,
|
||||||
TRANSITION_STATE_SP_SWOOP_UP,
|
TRANSITION_STATE_SP_SWOOP_UP,
|
||||||
TRANSITION_STATE_MP_SWOOP_UP,
|
TRANSITION_STATE_MP_SWOOP_UP,
|
||||||
TRANSITION_STATE_CREATOR_SWOOP_UP,
|
TRANSITION_STATE_CREATOR_SWOOP_UP,
|
||||||
TRANSITION_STATE_PRE_HUD_CHECKS,
|
TRANSITION_STATE_PRE_HUD_CHECKS,
|
||||||
TRANSITION_STATE_WAIT_HUD_EXIT,
|
TRANSITION_STATE_WAIT_HUD_EXIT,
|
||||||
TRANSITION_STATE_WAIT_FOR_SUMMON,
|
TRANSITION_STATE_WAIT_FOR_SUMMON,
|
||||||
TRANSITION_STATE_SP_SWOOP_DOWN,
|
TRANSITION_STATE_SP_SWOOP_DOWN,
|
||||||
TRANSITION_STATE_MP_SWOOP_DOWN,
|
TRANSITION_STATE_MP_SWOOP_DOWN,
|
||||||
TRANSITION_STATE_CANCEL_JOINING,
|
TRANSITION_STATE_CANCEL_JOINING,
|
||||||
TRANSITION_STATE_RETRY_LOADING,
|
TRANSITION_STATE_RETRY_LOADING,
|
||||||
TRANSITION_STATE_RETRY_LOADING_SLOT_1,
|
TRANSITION_STATE_RETRY_LOADING_SLOT_1,
|
||||||
TRANSITION_STATE_RETRY_LOADING_SLOT_2,
|
TRANSITION_STATE_RETRY_LOADING_SLOT_2,
|
||||||
TRANSITION_STATE_RETRY_LOADING_SLOT_3,
|
TRANSITION_STATE_RETRY_LOADING_SLOT_3,
|
||||||
TRANSITION_STATE_RETRY_LOADING_SLOT_4,
|
TRANSITION_STATE_RETRY_LOADING_SLOT_4,
|
||||||
TRANSITION_STATE_WAIT_ON_INVITE,
|
TRANSITION_STATE_WAIT_ON_INVITE,
|
||||||
TRANSITION_STATE_PREJOINING_FM_SESSION_CHECKS,
|
TRANSITION_STATE_PREJOINING_FM_SESSION_CHECKS,
|
||||||
TRANSITION_STATE_LOOK_FOR_FRESH_JOIN_FM,
|
TRANSITION_STATE_LOOK_FOR_FRESH_JOIN_FM,
|
||||||
TRANSITION_STATE_LOOK_TO_JOIN_ANOTHER_SESSION_FM,
|
TRANSITION_STATE_LOOK_TO_JOIN_ANOTHER_SESSION_FM,
|
||||||
TRANSITION_STATE_CONFIRM_FM_SESSION_JOINING,
|
TRANSITION_STATE_CONFIRM_FM_SESSION_JOINING,
|
||||||
TRANSITION_STATE_WAIT_JOIN_FM_SESSION,
|
TRANSITION_STATE_WAIT_JOIN_FM_SESSION,
|
||||||
TRANSITION_STATE_CREATION_ENTER_SESSION,
|
TRANSITION_STATE_CREATION_ENTER_SESSION,
|
||||||
TRANSITION_STATE_PRE_FM_LAUNCH_SCRIPT,
|
TRANSITION_STATE_PRE_FM_LAUNCH_SCRIPT,
|
||||||
TRANSITION_STATE_FM_TEAMFULL_CHECK,
|
TRANSITION_STATE_FM_TEAMFULL_CHECK,
|
||||||
TRANSITION_STATE_START_FM_LAUNCH_SCRIPT,
|
TRANSITION_STATE_START_FM_LAUNCH_SCRIPT,
|
||||||
TRANSITION_STATE_FM_TRANSITION_CREATE_PLAYER,
|
TRANSITION_STATE_FM_TRANSITION_CREATE_PLAYER,
|
||||||
TRANSITION_STATE_IS_FM_AND_TRANSITION_READY,
|
TRANSITION_STATE_IS_FM_AND_TRANSITION_READY,
|
||||||
TRANSITION_STATE_FM_SWOOP_DOWN,
|
TRANSITION_STATE_FM_SWOOP_DOWN,
|
||||||
TRANSITION_STATE_POST_BINK_VIDEO_WARP,
|
TRANSITION_STATE_POST_BINK_VIDEO_WARP,
|
||||||
TRANSITION_STATE_FM_FINAL_SETUP_PLAYER,
|
TRANSITION_STATE_FM_FINAL_SETUP_PLAYER,
|
||||||
TRANSITION_STATE_MOVE_FM_TO_RUNNING_STATE,
|
TRANSITION_STATE_MOVE_FM_TO_RUNNING_STATE,
|
||||||
TRANSITION_STATE_FM_HOW_TO_TERMINATE,
|
TRANSITION_STATE_FM_HOW_TO_TERMINATE,
|
||||||
TRANSITION_STATE_START_CREATOR_PRE_LAUNCH_SCRIPT_CHECK,
|
TRANSITION_STATE_START_CREATOR_PRE_LAUNCH_SCRIPT_CHECK,
|
||||||
TRANSITION_STATE_START_CREATOR_LAUNCH_SCRIPT,
|
TRANSITION_STATE_START_CREATOR_LAUNCH_SCRIPT,
|
||||||
TRANSITION_STATE_CREATOR_TRANSITION_CREATE_PLAYER,
|
TRANSITION_STATE_CREATOR_TRANSITION_CREATE_PLAYER,
|
||||||
TRANSITION_STATE_IS_CREATOR_AND_TRANSITION_READY,
|
TRANSITION_STATE_IS_CREATOR_AND_TRANSITION_READY,
|
||||||
TRANSITION_STATE_CREATOR_SWOOP_DOWN,
|
TRANSITION_STATE_CREATOR_SWOOP_DOWN,
|
||||||
TRANSITION_STATE_CREATOR_FINAL_SETUP_PLAYER,
|
TRANSITION_STATE_CREATOR_FINAL_SETUP_PLAYER,
|
||||||
TRANSITION_STATE_MOVE_CREATOR_TO_RUNNING_STATE,
|
TRANSITION_STATE_MOVE_CREATOR_TO_RUNNING_STATE,
|
||||||
TRANSITION_STATE_PREJOINING_TESTBED_SESSION_CHECKS,
|
TRANSITION_STATE_PREJOINING_TESTBED_SESSION_CHECKS,
|
||||||
TRANSITION_STATE_LOOK_FOR_FRESH_JOIN_TESTBED,
|
TRANSITION_STATE_LOOK_FOR_FRESH_JOIN_TESTBED,
|
||||||
TRANSITION_STATE_LOOK_FOR_FRESH_HOST_TESTBED,
|
TRANSITION_STATE_LOOK_FOR_FRESH_HOST_TESTBED,
|
||||||
TRANSITION_STATE_LOOK_TO_JOIN_ANOTHER_SESSION_TESTBED,
|
TRANSITION_STATE_LOOK_TO_JOIN_ANOTHER_SESSION_TESTBED,
|
||||||
TRANSITION_STATE_LOOK_TO_HOST_SESSION_TESTBED,
|
TRANSITION_STATE_LOOK_TO_HOST_SESSION_TESTBED,
|
||||||
TRANSITION_STATE_CONFIRM_TESTBED_SESSION_JOINING,
|
TRANSITION_STATE_CONFIRM_TESTBED_SESSION_JOINING,
|
||||||
TRANSITION_STATE_WAIT_JOIN_TESTBED_SESSION,
|
TRANSITION_STATE_WAIT_JOIN_TESTBED_SESSION,
|
||||||
TRANSITION_STATE_START_TESTBED_LAUNCH_SCRIPT,
|
TRANSITION_STATE_START_TESTBED_LAUNCH_SCRIPT,
|
||||||
TRANSITION_STATE_TESTBED_TRANSITION_CREATE_PLAYER,
|
TRANSITION_STATE_TESTBED_TRANSITION_CREATE_PLAYER,
|
||||||
TRANSITION_STATE_IS_TESTBED_AND_TRANSITION_READY,
|
TRANSITION_STATE_IS_TESTBED_AND_TRANSITION_READY,
|
||||||
TRANSITION_STATE_TESTBED_SWOOP_DOWN,
|
TRANSITION_STATE_TESTBED_SWOOP_DOWN,
|
||||||
TRANSITION_STATE_TESTBED_FINAL_SETUP_PLAYER,
|
TRANSITION_STATE_TESTBED_FINAL_SETUP_PLAYER,
|
||||||
TRANSITION_STATE_MOVE_TESTBED_TO_RUNNING_STATE,
|
TRANSITION_STATE_MOVE_TESTBED_TO_RUNNING_STATE,
|
||||||
TRANSITION_STATE_TESTBED_HOW_TO_TERMINATE,
|
TRANSITION_STATE_TESTBED_HOW_TO_TERMINATE,
|
||||||
TRANSITION_STATE_QUIT_CURRENT_SESSION_PROMPT,
|
TRANSITION_STATE_QUIT_CURRENT_SESSION_PROMPT,
|
||||||
TRANSITION_STATE_WAIT_FOR_TRANSITION_SESSION_TO_SETUP,
|
TRANSITION_STATE_WAIT_FOR_TRANSITION_SESSION_TO_SETUP,
|
||||||
TRANSITION_STATE_TERMINATE_SP,
|
TRANSITION_STATE_TERMINATE_SP,
|
||||||
TRANSITION_STATE_WAIT_TERMINATE_SP,
|
TRANSITION_STATE_WAIT_TERMINATE_SP,
|
||||||
TRANSITION_STATE_KICK_TERMINATE_SESSION,
|
TRANSITION_STATE_KICK_TERMINATE_SESSION,
|
||||||
TRANSITION_STATE_TERMINATE_SESSION,
|
TRANSITION_STATE_TERMINATE_SESSION,
|
||||||
TRANSITION_STATE_WAIT_TERMINATE_SESSION,
|
TRANSITION_STATE_WAIT_TERMINATE_SESSION,
|
||||||
TRANSITION_STATE_TERMINATE_SESSION_AND_HOLD,
|
TRANSITION_STATE_TERMINATE_SESSION_AND_HOLD,
|
||||||
TRANSITION_STATE_TERMINATE_SESSION_AND_MOVE_INTO_HOLDING_STATE,
|
TRANSITION_STATE_TERMINATE_SESSION_AND_MOVE_INTO_HOLDING_STATE,
|
||||||
TRANSITION_STATE_TEAM_SWAPPING_CHECKS,
|
TRANSITION_STATE_TEAM_SWAPPING_CHECKS,
|
||||||
TRANSITION_STATE_RETURN_TO_SINGLEPLAYER,
|
TRANSITION_STATE_RETURN_TO_SINGLEPLAYER,
|
||||||
TRANSITION_STATE_WAIT_FOR_SINGLEPLAYER_TO_START,
|
TRANSITION_STATE_WAIT_FOR_SINGLEPLAYER_TO_START,
|
||||||
TRANSITION_STATE_WAITING_FOR_EXTERNAL_TERMINATION_CALL,
|
TRANSITION_STATE_WAITING_FOR_EXTERNAL_TERMINATION_CALL,
|
||||||
TRANSITION_STATE_TERMINATE_MAINTRANSITION,
|
TRANSITION_STATE_TERMINATE_MAINTRANSITION,
|
||||||
TRANSITION_STATE_WAIT_FOR_DIRTY_LOAD_CONFIRM,
|
TRANSITION_STATE_WAIT_FOR_DIRTY_LOAD_CONFIRM,
|
||||||
TRANSITION_STATE_DLC_INTRO_BINK,
|
TRANSITION_STATE_DLC_INTRO_BINK,
|
||||||
TRANSITION_STATE_MAX = INT_MAX
|
TRANSITION_STATE_MAX = INT_MAX
|
||||||
};
|
};
|
||||||
|
|
||||||
enum eVehicleFlags
|
enum eVehicleFlags
|
||||||
{
|
{
|
||||||
TRIGGER_SPAWN_TOGGLE = 1 << 0,
|
TRIGGER_SPAWN_TOGGLE = 1 << 0,
|
||||||
DESTROYED = 1 << 1,
|
DESTROYED = 1 << 1,
|
||||||
HAS_INSURANCE = 1 << 2,
|
HAS_INSURANCE = 1 << 2,
|
||||||
UNK0 = 1 << 3,
|
UNK0 = 1 << 3,
|
||||||
IMPOUNDED = 1 << 6,
|
IMPOUNDED = 1 << 6,
|
||||||
UNK1 = 1 << 10,
|
UNK1 = 1 << 10,
|
||||||
SPAWN_AT_MORS_MUTUAL = 1 << 11,
|
SPAWN_AT_MORS_MUTUAL = 1 << 11,
|
||||||
UNK2 = 1 << 16
|
UNK2 = 1 << 16
|
||||||
};
|
};
|
||||||
|
|
||||||
enum class ePedTask
|
enum class ePedTask
|
||||||
{
|
{
|
||||||
TASK_NONE,
|
TASK_NONE,
|
||||||
TASK_FOOT = 1 << 4,
|
TASK_FOOT = 1 << 4,
|
||||||
TASK_UNK = 1 << 5,
|
TASK_UNK = 1 << 5,
|
||||||
TASK_DRIVING = 1 << 6
|
TASK_DRIVING = 1 << 6
|
||||||
};
|
};
|
||||||
|
|
||||||
enum class eRemoteEvent
|
enum class eRemoteEvent
|
||||||
{
|
{
|
||||||
Bounty = 1294995624,
|
Bounty = 1294995624,
|
||||||
CeoBan = -764524031,
|
CeoBan = -764524031,
|
||||||
CeoKick = 248967238,
|
CeoKick = 248967238,
|
||||||
CeoMoney = 1890277845,
|
CeoMoney = 1890277845,
|
||||||
ClearWantedLevel = -91354030,
|
ClearWantedLevel = -91354030,
|
||||||
Crash = -1386010354,
|
Crash = -1386010354,
|
||||||
FakeDeposit = 677240627,
|
FakeDeposit = 677240627,
|
||||||
ForceMission = 2020588206,
|
ForceMission = 2020588206,
|
||||||
GtaBanner = 1572255940,
|
GtaBanner = 1572255940,
|
||||||
MCTeleport = 962740265,
|
MCTeleport = 962740265,
|
||||||
NetworkBail = 1228916411,
|
NetworkBail = 1228916411,
|
||||||
PersonalVehicleDestroyed = 802133775,
|
PersonalVehicleDestroyed = 802133775,
|
||||||
RemoteOffradar = -391633760,
|
RemoteOffradar = -391633760,
|
||||||
RotateCam = 801199324,
|
RotateCam = 801199324,
|
||||||
SendToCutscene = 1068259786,
|
SendToCutscene = 1068259786,
|
||||||
SendToIsland = -621279188,
|
SendToIsland = -621279188,
|
||||||
SendToCayo = 1463943751,
|
SendToCayo = 1463943751,
|
||||||
SoundSpam = 1132878564,
|
SoundSpam = 1132878564,
|
||||||
Spectate = -1113591308,
|
Spectate = -1113591308,
|
||||||
Teleport = 603406648,
|
Teleport = 603406648,
|
||||||
TransactionError = -1704141512,
|
TransactionError = -1704141512,
|
||||||
VehicleKick = 578856274,
|
VehicleKick = 578856274,
|
||||||
Unknown1 = -145306724,
|
Unknown1 = -145306724,
|
||||||
Unknown2 = -581037897,
|
Unknown2 = -581037897,
|
||||||
Unknown3 = 1757755807,
|
Unknown3 = 1757755807,
|
||||||
Unknown4 = 436475575,
|
Unknown4 = 436475575,
|
||||||
Unknown5 = 990606644,
|
Unknown5 = 990606644,
|
||||||
Unknown6 = 69874647,
|
Unknown6 = 69874647,
|
||||||
|
|
||||||
SEC3 = -2113023004,
|
SEC3 = -2113023004,
|
||||||
SEC6 = 704979198,
|
SEC6 = 704979198,
|
||||||
SEC7 = -1715193475,
|
SEC7 = -1715193475,
|
||||||
SEC8 = 1258808115,
|
SEC8 = 1258808115,
|
||||||
SEC9 = 2112408256,
|
SEC9 = 2112408256,
|
||||||
SEC10 = 998716537,
|
SEC10 = 998716537,
|
||||||
SEC11 = 163598572,
|
SEC11 = 163598572,
|
||||||
SEC12 = -1970125962,
|
SEC12 = -1970125962,
|
||||||
SEC13 = -1056683619,
|
SEC13 = -1056683619,
|
||||||
Spaghettios = -393294520,
|
Spaghettios = -393294520,
|
||||||
ForceMission2 = -1525161016,
|
ForceMission2 = -1525161016,
|
||||||
SHKick = -786546101
|
SHKick = -786546101
|
||||||
};
|
};
|
||||||
|
|
||||||
enum class eSessionType
|
enum class eSessionType
|
||||||
{
|
{
|
||||||
JOIN_PUBLIC,
|
JOIN_PUBLIC,
|
||||||
NEW_PUBLIC,
|
NEW_PUBLIC,
|
||||||
CLOSED_CREW,
|
CLOSED_CREW,
|
||||||
CREW,
|
CREW,
|
||||||
CLOSED_FRIENDS = 6,
|
CLOSED_FRIENDS = 6,
|
||||||
FIND_FRIEND = 9,
|
FIND_FRIEND = 9,
|
||||||
SOLO,
|
SOLO,
|
||||||
INVITE_ONLY,
|
INVITE_ONLY,
|
||||||
JOIN_CREW,
|
JOIN_CREW,
|
||||||
LEAVE_ONLINE = -1
|
LEAVE_ONLINE = -1
|
||||||
};
|
};
|
||||||
|
|
||||||
enum class SpeedoMeter
|
enum class SpeedoMeter
|
||||||
{
|
{
|
||||||
DISABLED,
|
DISABLED,
|
||||||
KMH,
|
KMH,
|
||||||
MPH
|
MPH
|
||||||
};
|
};
|
||||||
}
|
|
||||||
|
enum class eEntityProofs : uint32_t
|
||||||
|
{
|
||||||
|
BULLET = 1 << 4,
|
||||||
|
FIRE = 1 << 5,
|
||||||
|
COLLISION = 1 << 6,
|
||||||
|
MELEE = 1 << 7,
|
||||||
|
GOD = 1 << 8,
|
||||||
|
EXPLOSION = 1 << 11,
|
||||||
|
STEAM = 1 << 15,
|
||||||
|
DROWN = 1 << 16,
|
||||||
|
WATER = 1 << 24,
|
||||||
|
};
|
||||||
|
}
|
@ -142,6 +142,16 @@ namespace big
|
|||||||
bool off_radar = false;
|
bool off_radar = false;
|
||||||
bool super_run = false;
|
bool super_run = false;
|
||||||
int wanted_level = 0;
|
int wanted_level = 0;
|
||||||
|
|
||||||
|
bool proof_bullet = false;
|
||||||
|
bool proof_fire = false;
|
||||||
|
bool proof_collision = false;
|
||||||
|
bool proof_melee = false;
|
||||||
|
bool proof_explosion = false;
|
||||||
|
bool proof_steam = false;
|
||||||
|
bool proof_drown = false;
|
||||||
|
bool proof_water = false;
|
||||||
|
uint32_t proof_mask = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct session
|
struct session
|
||||||
|
@ -7,35 +7,32 @@ namespace big
|
|||||||
void view::self() {
|
void view::self() {
|
||||||
components::button("Suicide", [] {
|
components::button("Suicide", [] {
|
||||||
ENTITY::SET_ENTITY_HEALTH(self::ped, 0, 0);
|
ENTITY::SET_ENTITY_HEALTH(self::ped, 0, 0);
|
||||||
});
|
});
|
||||||
|
|
||||||
ImGui::SameLine();
|
ImGui::SameLine();
|
||||||
|
|
||||||
components::button("Heal", [] {
|
components::button("Heal", [] {
|
||||||
ENTITY::SET_ENTITY_HEALTH(self::ped, PED::GET_PED_MAX_HEALTH(self::ped), 0);
|
ENTITY::SET_ENTITY_HEALTH(self::ped, PED::GET_PED_MAX_HEALTH(self::ped), 0);
|
||||||
PED::SET_PED_ARMOUR(self::ped, PLAYER::GET_PLAYER_MAX_ARMOUR(self::id));
|
PED::SET_PED_ARMOUR(self::ped, PLAYER::GET_PLAYER_MAX_ARMOUR(self::id));
|
||||||
});
|
});
|
||||||
|
|
||||||
ImGui::SameLine();
|
ImGui::SameLine();
|
||||||
|
|
||||||
components::button("Skip Cutscene", [] {
|
components::button("Skip Cutscene", [] {
|
||||||
CUTSCENE::STOP_CUTSCENE_IMMEDIATELY();
|
CUTSCENE::STOP_CUTSCENE_IMMEDIATELY();
|
||||||
});
|
});
|
||||||
|
|
||||||
static char model[32];
|
static char model[32];
|
||||||
components::input_text_with_hint("Model Name###player_ped_model", "Player Model Name", model, sizeof(model), ImGuiInputTextFlags_EnterReturnsTrue, []
|
components::input_text_with_hint("Model Name###player_ped_model", "Player Model Name", model, sizeof(model), ImGuiInputTextFlags_EnterReturnsTrue, [] {
|
||||||
{
|
|
||||||
g_fiber_pool->queue_job([] {
|
g_fiber_pool->queue_job([] {
|
||||||
const Hash hash = rage::joaat(model);
|
const Hash hash = rage::joaat(model);
|
||||||
|
|
||||||
for (uint8_t i = 0; !STREAMING::HAS_MODEL_LOADED(hash) && i < 100; i++)
|
for (uint8_t i = 0; !STREAMING::HAS_MODEL_LOADED(hash) && i < 100; i++) {
|
||||||
{
|
|
||||||
STREAMING::REQUEST_MODEL(hash);
|
STREAMING::REQUEST_MODEL(hash);
|
||||||
|
|
||||||
script::get_current()->yield();
|
script::get_current()->yield();
|
||||||
}
|
}
|
||||||
if (!STREAMING::HAS_MODEL_LOADED(hash))
|
if (!STREAMING::HAS_MODEL_LOADED(hash)) {
|
||||||
{
|
|
||||||
g_notification_service->push_error("Self", "Failed to spawn model, did you give an incorrect model ? ");
|
g_notification_service->push_error("Self", "Failed to spawn model, did you give an incorrect model ? ");
|
||||||
|
|
||||||
return;
|
return;
|
||||||
@ -45,8 +42,8 @@ namespace big
|
|||||||
PED::SET_PED_DEFAULT_COMPONENT_VARIATION(self::ped);
|
PED::SET_PED_DEFAULT_COMPONENT_VARIATION(self::ped);
|
||||||
script::get_current()->yield();
|
script::get_current()->yield();
|
||||||
STREAMING::SET_MODEL_AS_NO_LONGER_NEEDED(hash);
|
STREAMING::SET_MODEL_AS_NO_LONGER_NEEDED(hash);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
|
||||||
|
|
||||||
ImGui::Separator();
|
ImGui::Separator();
|
||||||
|
|
||||||
@ -73,8 +70,7 @@ namespace big
|
|||||||
ImGui::BeginGroup();
|
ImGui::BeginGroup();
|
||||||
|
|
||||||
ImGui::Checkbox("Invisibility", &g->self.invisibility);
|
ImGui::Checkbox("Invisibility", &g->self.invisibility);
|
||||||
if (g->self.invisibility)
|
if (g->self.invisibility) {
|
||||||
{
|
|
||||||
ImGui::Checkbox("Locally Visible", &g->self.local_visibility);
|
ImGui::Checkbox("Locally Visible", &g->self.local_visibility);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -82,7 +78,7 @@ namespace big
|
|||||||
|
|
||||||
components::button("Clean Player", [] {
|
components::button("Clean Player", [] {
|
||||||
entity::clean_ped(self::ped);
|
entity::clean_ped(self::ped);
|
||||||
});
|
});
|
||||||
|
|
||||||
ImGui::EndGroup();
|
ImGui::EndGroup();
|
||||||
|
|
||||||
@ -96,8 +92,99 @@ namespace big
|
|||||||
{
|
{
|
||||||
ImGui::Checkbox("Force Wanted Level", &g->self.force_wanted_level);
|
ImGui::Checkbox("Force Wanted Level", &g->self.force_wanted_level);
|
||||||
ImGui::Text("Wanted Level");
|
ImGui::Text("Wanted Level");
|
||||||
if (ImGui::SliderInt("###wanted_level", &g->self.wanted_level, 0, 5) && !g->self.force_wanted_level)
|
if (
|
||||||
|
ImGui::SliderInt("###wanted_level", &g->self.wanted_level, 0, 5) &&
|
||||||
|
!g->self.force_wanted_level &&
|
||||||
|
g_local_player != nullptr
|
||||||
|
) {
|
||||||
g_local_player->m_player_info->m_wanted_level = g->self.wanted_level;
|
g_local_player->m_player_info->m_wanted_level = g->self.wanted_level;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
ImGui::Separator();
|
||||||
|
|
||||||
|
components::small_text("Proofs");
|
||||||
|
|
||||||
|
if (ImGui::Button("Check all")) {
|
||||||
|
g->self.proof_bullet = true;
|
||||||
|
g->self.proof_fire = true;
|
||||||
|
g->self.proof_collision = true;
|
||||||
|
g->self.proof_melee = true;
|
||||||
|
g->self.proof_explosion = true;
|
||||||
|
g->self.proof_steam = true;
|
||||||
|
g->self.proof_drown = true;
|
||||||
|
g->self.proof_water = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
ImGui::SameLine();
|
||||||
|
|
||||||
|
if (ImGui::Button("Uncheck all")) {
|
||||||
|
g->self.proof_bullet = false;
|
||||||
|
g->self.proof_fire = false;
|
||||||
|
g->self.proof_collision = false;
|
||||||
|
g->self.proof_melee = false;
|
||||||
|
g->self.proof_explosion = false;
|
||||||
|
g->self.proof_steam = false;
|
||||||
|
g->self.proof_drown = false;
|
||||||
|
g->self.proof_water = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
ImGui::BeginGroup();
|
||||||
|
|
||||||
|
ImGui::Checkbox("Bullet", &g->self.proof_bullet);
|
||||||
|
ImGui::Checkbox("Fire", &g->self.proof_fire);
|
||||||
|
|
||||||
|
ImGui::EndGroup();
|
||||||
|
ImGui::SameLine();
|
||||||
|
ImGui::BeginGroup();
|
||||||
|
|
||||||
|
ImGui::Checkbox("Collision", &g->self.proof_collision);
|
||||||
|
ImGui::Checkbox("Melee", &g->self.proof_melee);
|
||||||
|
|
||||||
|
ImGui::EndGroup();
|
||||||
|
ImGui::SameLine();
|
||||||
|
ImGui::BeginGroup();
|
||||||
|
|
||||||
|
ImGui::Checkbox("Explosion", &g->self.proof_explosion);
|
||||||
|
ImGui::Checkbox("Steam", &g->self.proof_steam);
|
||||||
|
|
||||||
|
ImGui::EndGroup();
|
||||||
|
ImGui::SameLine();
|
||||||
|
ImGui::BeginGroup();
|
||||||
|
|
||||||
|
ImGui::Checkbox("Drown", &g->self.proof_drown);
|
||||||
|
ImGui::Checkbox("Water", &g->self.proof_water);
|
||||||
|
|
||||||
|
ImGui::EndGroup();
|
||||||
|
|
||||||
|
g->self.proof_mask = 0;
|
||||||
|
if (g->self.godmode) {
|
||||||
|
g->self.proof_mask |= static_cast<int>(eEntityProofs::GOD);
|
||||||
|
} else {
|
||||||
|
if (g->self.proof_bullet) {
|
||||||
|
g->self.proof_mask |= static_cast<int>(eEntityProofs::BULLET);
|
||||||
|
}
|
||||||
|
if (g->self.proof_fire) {
|
||||||
|
g->self.proof_mask |= static_cast<int>(eEntityProofs::FIRE);
|
||||||
|
}
|
||||||
|
if (g->self.proof_collision) {
|
||||||
|
g->self.proof_mask |= static_cast<int>(eEntityProofs::COLLISION);
|
||||||
|
}
|
||||||
|
if (g->self.proof_melee) {
|
||||||
|
g->self.proof_mask |= static_cast<int>(eEntityProofs::MELEE);
|
||||||
|
}
|
||||||
|
if (g->self.proof_explosion) {
|
||||||
|
g->self.proof_mask |= static_cast<int>(eEntityProofs::EXPLOSION);
|
||||||
|
}
|
||||||
|
if (g->self.proof_steam) {
|
||||||
|
g->self.proof_mask |= static_cast<int>(eEntityProofs::STEAM);
|
||||||
|
}
|
||||||
|
if (g->self.proof_drown) {
|
||||||
|
g->self.proof_mask |= static_cast<int>(eEntityProofs::DROWN);
|
||||||
|
}
|
||||||
|
if (g->self.proof_water) {
|
||||||
|
g->self.proof_mask |= static_cast<int>(eEntityProofs::WATER);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user