Play audio on voice chat and more (#1053)
* feat(VC): audio through voice chat * fix(BlackHole): remove unnecessary cleanup * fix(Formatting): fix formatting for initializer lists * feat(LSC): reimplement LSC * feat(Protections): add (untested) protections for vehicle kick and remote teleport
This commit is contained in:
@ -24,6 +24,7 @@ namespace big
|
||||
ImGui::PushStyleColor(ImGuiCol_Text, ImVec4(0.69f, 0.29f, 0.29f, 1.00f));
|
||||
if (components::nav_button("UNLOAD"_T))
|
||||
{
|
||||
g_fiber_pool->reset();
|
||||
g_fiber_pool->queue_job([] {
|
||||
for (auto& command : g_looped_commands)
|
||||
if (command->is_enabled())
|
||||
|
@ -15,15 +15,13 @@ namespace big
|
||||
{
|
||||
if (ImGui::BeginTabItem("DEBUG_TAB_MISC"_T.data()))
|
||||
{
|
||||
if (components::button("MOV QWORD"))
|
||||
{
|
||||
*static_cast<uint64_t*>(nullptr) = 0;
|
||||
uint64_t i = *static_cast<uint64_t*>(nullptr);
|
||||
}
|
||||
ImGui::Text("Fiber Pool Usage %d/%d", g_fiber_pool->get_used_fibers(), g_fiber_pool->get_total_fibers());
|
||||
|
||||
if (components::button("MOV 0xdead"))
|
||||
ImGui::SameLine();
|
||||
|
||||
if (components::button("Reset"))
|
||||
{
|
||||
*((unsigned int*)0) = 0xDEAD;
|
||||
g_fiber_pool->reset();
|
||||
}
|
||||
|
||||
if (components::button("Dump entrypoints"))
|
||||
|
@ -11,11 +11,9 @@ namespace big
|
||||
{
|
||||
void view::spoofing()
|
||||
{
|
||||
// requires translation
|
||||
ImGui::Checkbox("HIDE_FROM_PLAYER_LIST"_T.data(), &g.spoofing.hide_from_player_list);
|
||||
|
||||
ImGui::Checkbox("Hide From Player List", &g.spoofing.hide_from_player_list);
|
||||
|
||||
components::script_patch_checkbox("Spoof Blip Type", &g.spoofing.spoof_blip);
|
||||
components::script_patch_checkbox("SPOOF_BLIP_TYPE"_T, &g.spoofing.spoof_blip);
|
||||
if (g.spoofing.spoof_blip)
|
||||
{
|
||||
ImGui::SameLine();
|
||||
@ -32,7 +30,7 @@ namespace big
|
||||
}
|
||||
}
|
||||
|
||||
ImGui::Checkbox("Spoof Rank", &g.spoofing.spoof_rank);
|
||||
ImGui::Checkbox("SPOOF_RANK"_T.data(), &g.spoofing.spoof_rank);
|
||||
if (g.spoofing.spoof_rank)
|
||||
{
|
||||
ImGui::SameLine();
|
||||
@ -42,7 +40,7 @@ namespace big
|
||||
}
|
||||
}
|
||||
|
||||
ImGui::Checkbox("Spoof K/D Ratio", &g.spoofing.spoof_kd_ratio);
|
||||
ImGui::Checkbox("SPOOF_KD"_T.data(), &g.spoofing.spoof_kd_ratio);
|
||||
if (g.spoofing.spoof_kd_ratio)
|
||||
{
|
||||
ImGui::SameLine();
|
||||
@ -52,7 +50,7 @@ namespace big
|
||||
}
|
||||
}
|
||||
|
||||
ImGui::Checkbox("Spoof Badsport State", &g.spoofing.spoof_bad_sport);
|
||||
ImGui::Checkbox("SPOOF_BADSPORT"_T.data(), &g.spoofing.spoof_bad_sport);
|
||||
if (g.spoofing.spoof_bad_sport)
|
||||
{
|
||||
ImGui::SameLine();
|
||||
@ -62,14 +60,14 @@ namespace big
|
||||
}
|
||||
}
|
||||
|
||||
ImGui::Checkbox("Spoof Job Points", &g.spoofing.spoof_job_points);
|
||||
ImGui::Checkbox("SPOOF_JOB_POINTS"_T.data(), &g.spoofing.spoof_job_points);
|
||||
if (g.spoofing.spoof_job_points)
|
||||
{
|
||||
ImGui::SameLine();
|
||||
ImGui::InputInt("###jp", &g.spoofing.job_points);
|
||||
}
|
||||
|
||||
ImGui::Checkbox("Spoof Player Model", &g.spoofing.spoof_player_model);
|
||||
ImGui::Checkbox("SPOOF_PLAYER_MODEL"_T.data(), &g.spoofing.spoof_player_model);
|
||||
if (g.spoofing.spoof_player_model)
|
||||
{
|
||||
static char model[32];
|
||||
@ -82,6 +80,7 @@ namespace big
|
||||
g.spoofing.player_model = std::string(model);
|
||||
}
|
||||
|
||||
components::command_checkbox<"vcaudio">();
|
||||
|
||||
components::sub_title("SPOOFING_HIDE_FEATURES"_T);
|
||||
ImGui::Checkbox("SPOOFING_HIDE_GOD_MODE"_T.data(), &g.spoofing.spoof_hide_god);
|
||||
|
@ -1,9 +1,9 @@
|
||||
#include "core/data/command_access_levels.hpp"
|
||||
#include "core/data/language_codes.hpp"
|
||||
#include "core/scr_globals.hpp"
|
||||
#include "natives.hpp"
|
||||
#include "services/player_database/player_database_service.hpp"
|
||||
#include "views/view.hpp"
|
||||
#include "natives.hpp"
|
||||
|
||||
#include <script/globals/GPBD_FM.hpp>
|
||||
#include <script/globals/GPBD_FM_3.hpp>
|
||||
@ -16,9 +16,9 @@ namespace big
|
||||
if (ImGui::TreeNode("INFO"_T.data()))
|
||||
{
|
||||
components::button("Open SC Overlay", [] {
|
||||
int gamerHandle;
|
||||
NETWORK::NETWORK_HANDLE_FROM_PLAYER(g_player_service->get_selected()->id(), &gamerHandle, 13);
|
||||
NETWORK::NETWORK_SHOW_PROFILE_UI(&gamerHandle);
|
||||
uint64_t gamerHandle[13];
|
||||
NETWORK::NETWORK_HANDLE_FROM_PLAYER(g_player_service->get_selected()->id(), (Any*)&gamerHandle, 13);
|
||||
NETWORK::NETWORK_SHOW_PROFILE_UI((Any*)&gamerHandle);
|
||||
});
|
||||
ImGui::Text("PLAYER_INFO_ID"_T.data(), g_player_service->get_selected()->id());
|
||||
|
||||
|
@ -15,9 +15,6 @@ namespace big
|
||||
components::player_command_button<"breakup">(g_player_service->get_selected());
|
||||
ImGui::SameLine();
|
||||
components::command_checkbox<"breakupcheating">();
|
||||
components::disable_unless(std::not_fn(is_session_host), [] {
|
||||
components::player_command_button<"lckick">(g_player_service->get_selected());
|
||||
});
|
||||
|
||||
components::player_command_button<"bailkick">(g_player_service->get_selected());
|
||||
ImGui::SameLine();
|
||||
|
@ -1,5 +1,6 @@
|
||||
#include "script/globals/GPBD_FM_3.hpp"
|
||||
#include "util/scripts.hpp"
|
||||
#include "util/vehicle.hpp"
|
||||
#include "views/view.hpp"
|
||||
|
||||
namespace big
|
||||
|
@ -3,7 +3,7 @@
|
||||
#include "script.hpp"
|
||||
#include "services/vehicle/persist_car_service.hpp"
|
||||
#include "util/mobile.hpp"
|
||||
#include "util/vehicle.hpp"
|
||||
#include "util/teleport.hpp"
|
||||
#include "views/view.hpp"
|
||||
|
||||
namespace big
|
||||
|
@ -1,7 +1,7 @@
|
||||
#include "core/data/speed_units.hpp"
|
||||
#include "fiber_pool.hpp"
|
||||
#include "util/mobile.hpp"
|
||||
#include "util/vehicle.hpp"
|
||||
#include "util/teleport.hpp"
|
||||
#include "views/view.hpp"
|
||||
|
||||
namespace big
|
||||
|
Reference in New Issue
Block a user