menu/settings updated

This commit is contained in:
Jadis0x
2024-05-16 22:12:57 +03:00
parent 1526e262f8
commit edc1061b5d
5 changed files with 141 additions and 124 deletions

View File

@@ -1,7 +1,7 @@
#include "pch-il2cpp.h" #include "pch-il2cpp.h"
#include "Menu.hpp" #include "Menu.hpp"
#include "../main.h" #include "main.h"
#include "../settings/settings.hpp" #include "settings/settings.hpp"
#include "misc/misc.h" #include "misc/misc.h"
@@ -14,8 +14,8 @@ void InitStyle()
auto& Style = ImGui::GetStyle(); auto& Style = ImGui::GetStyle();
Style.WindowRounding = 8.000f; Style.WindowRounding = 0.000f;
Style.FrameRounding = 4.000f; Style.FrameRounding = 0.000f;
Style.Colors[ImGuiCol_WindowBg] = ImColor(0, 0, 0, 240); Style.Colors[ImGuiCol_WindowBg] = ImColor(0, 0, 0, 240);
Style.Colors[ImGuiCol_TitleBg] = ImColor(1, 1, 1, 240); Style.Colors[ImGuiCol_TitleBg] = ImColor(1, 1, 1, 240);
@@ -30,13 +30,17 @@ void InitStyle()
Style.Colors[ImGuiCol_FrameBgHovered] = ImColor(60, 66, 76, 102); Style.Colors[ImGuiCol_FrameBgHovered] = ImColor(60, 66, 76, 102);
Style.Alpha = 0.8f; Style.Alpha = 0.8f;
ImGui::PushStyleVar(ImGuiStyleVar_FramePadding, ImVec2(10.0f, 8.0f));
ImGuiIO& io = ImGui::GetIO(); ImGuiIO& io = ImGui::GetIO();
io.Fonts->AddFontFromFileTTF("C:\\Windows\\Fonts\\tahoma.ttf", 13.000f); io.Fonts->AddFontFromFileTTF("C:\\Windows\\Fonts\\arial.ttf", 14.000f);
} }
void DrawVisualsTab() { void DrawVisualsTab() {
ImGui::Checkbox("Big flashlight", &settings::big_flashlight); ImGui::Checkbox("Unlimited UV", &settings::unlimited_uv);
ImGui::Checkbox("Fullbright", &settings::fullBright);
/*
bool open_flcolor_popup = ImGui::ColorButton("flashlightcolor", ImVec4(settings::flashlight_color[0], settings::flashlight_color[1], settings::flashlight_color[2], settings::flashlight_color[3])); bool open_flcolor_popup = ImGui::ColorButton("flashlightcolor", ImVec4(settings::flashlight_color[0], settings::flashlight_color[1], settings::flashlight_color[2], settings::flashlight_color[3]));
if (open_flcolor_popup) if (open_flcolor_popup)
{ {
@@ -134,86 +138,35 @@ void DrawVisualsTab() {
if (ImGui::BeginPopup("gesppop")) { if (ImGui::BeginPopup("gesppop")) {
ImGui::ColorPicker4("Goat ESP color", (float*)&settings::goat_esp_color); ImGui::ColorPicker4("Goat ESP color", (float*)&settings::goat_esp_color);
ImGui::EndPopup(); ImGui::EndPopup();
} }*/
} }
void DrawEntitiesTab() { void DrawEntitiesTab() {
if (ImGui::Button("TP items to you")) {
//call tp items
}
if (ImGui::Button("Freeze Azazel")) {
//Misc::FreezeAzazel();
}
ImGui::Spacing();
ImGui::Text("Azazel & Demons");
const char* azazel_demons_items[] = { "Sam", "Molly", "Anna", "Zara", "Ghost", "Inmate", "Demon"};
static int entity_current = 0;
ImGui::Combo("##a", &entity_current, azazel_demons_items, IM_ARRAYSIZE(azazel_demons_items));
if (ImGui::Button("Spawn##a")) {
//call spawn function
}
ImGui::Spacing();
ImGui::Text("Items"); ImGui::Text("Items");
const char* items_items[] = { "Hay", "First aid", "Battery", "Gasoline", "Fuse", "Food", "Bleach", "Ritual Book (inactive)", "Ritual Book (active)", "Matchbox", "Egg-1", "Egg-2", "Egg-3", "Egg-4", "Egg-5", "Egg-6", "Egg-7", "Egg-8", "Egg-9", "Egg-10"}; const char* items_items[] = { "Hay", "First aid", "Battery", "Gasoline", "Fuse", "Food", "Bleach", "Bone", "Ritual Book (in-active)", "Ritual Book (active)", "Matchbox", "Egg-1", "Egg-2", "Egg-3", "Egg-4", "Egg-5", "Egg-6", "Egg-7", "Egg-8", "Egg-9", "Egg-10" };
static int item_current = 0; static int item_current = 0;
ImGui::Combo("##i", &item_current, items_items, IM_ARRAYSIZE(items_items)); ImGui::Combo("##i", &item_current, items_items, IM_ARRAYSIZE(items_items));
if (ImGui::Button("Spawn##i")) { if (ImGui::Button("Spawn##i")) {
//print("--> %s\n",items_items[item_current]); Misc::CarryItem(items_items[item_current]);
//Misc::CarryItem(items_items[item_current]);
} }
ImGui::Spacing(); ImGui::Spacing();
ImGui::Text("Animals"); ImGui::Text("Animals");
const char* animals_items[] = { "Rat", "Goat", "Spider"}; const char* animals_items[] = { "Rat", "Goat", "Pig" };
static int animal_current = 0; static int animal_current = 0;
ImGui::Combo("##an", &animal_current, animals_items, IM_ARRAYSIZE(animals_items)); ImGui::Combo("##an", &animal_current, animals_items, IM_ARRAYSIZE(animals_items));
if (ImGui::Button("Spawn##an")) { if (ImGui::Button("Spawn##an")) {
//Misc::SpawnAnimal(animals_items[animal_current]); Misc::CarryAnimal(animals_items[animal_current]);
} }
} }
void DrawMapSpecificTab() { void DrawMapSpecificTab() {
if (ImGui::Button("Instant win")) { if (ImGui::Button("Force Start The Game")) {
//call instant win
}
if (ImGui::Button("Burn a ritual object")) {
//Misc::BurnRitualObj(false);
}
if (ImGui::Button("Burn all ritual objects")) {
//Misc::BurnRitualObj(true);
}
if (ImGui::Button("Force start game")) {
Misc::ForceStart(); Misc::ForceStart();
} }
if (ImGui::Button("Knock out everyone")) { if (ImGui::Button("Instant Win")) {
//Misc::KnockoutPlayers(false); Misc::InstantWin();
}
if (ImGui::Button("knock yourself out")) {
//Misc::KnockoutPlayers(true);
}
if (ImGui::Button("Shoot Everyone (Town)")) {
//Misc::ShootEveryone(true, true);
}
if (ImGui::Button("Shoot Yourself (Town)")) {
//Misc::ShootEveryone(false, true);
}
if (ImGui::Button("Jumpscare Everyone")) {
//Misc::Jumpscare(true);
}
if (ImGui::Button("Skip long interact")) {
//Misc::SkipLongInteract();
} }
} }
@@ -319,41 +272,18 @@ void DrawInspector() {
} }
void DrawMiscTab() { void DrawMiscTab() {
ImGui::Checkbox("Chat spam", &settings::chat_spam); //ImGui::Checkbox("Chat spam", &settings::chat_spam);
ImGui::InputText("Message", &settings::message); //ImGui::InputText("Message", &settings::message);
/*
if (ImGui::Button("Unlock Achievements")) { if (ImGui::Button("Unlock Achievements")) {
//Unlock Achievements //Unlock Achievements
} }
if (ImGui::Button("Unlock Doors")) {
//Misc::UnlockDoors();
}
if (ImGui::Button("Revive Yourself")) {
//Misc::Revive(false);
}
if (ImGui::Button("Revive Everyone")) {
//Misc::Revive(true);
}
if (ImGui::Button("TP Keys")) { if (ImGui::Button("TP Keys")) {
//Misc::TPKeys(); //Misc::TPKeys();
} }
ImGui::Checkbox("Unlock all", &settings::unlock_all);
ImGui::Checkbox("Spoof level", &settings::spoof_level);
ImGui::InputInt("New level", &settings::new_level);
//normalize level
if (settings::new_level > 666) {
settings::new_level = 666;
}
else if (settings::new_level < 0) {
settings::new_level = 0;
}
ImGui::Checkbox("Change Steam name", &settings::steam_name_spoof); ImGui::Checkbox("Change Steam name", &settings::steam_name_spoof);
ImGui::InputText("New name##steam", &settings::new_name); ImGui::InputText("New name##steam", &settings::new_name);
@@ -366,15 +296,22 @@ void DrawMiscTab() {
//Misc::PlayRandomSound(); //Misc::PlayRandomSound();
} }
ImGui::Checkbox("EXP modifier", &settings::exp_modifier);
ImGui::SliderInt("Amount", &settings::new_exp, 0, 5000);
ImGui::Checkbox("Walk in lobby", &settings::walk_in_lobby); ImGui::Checkbox("Walk in lobby", &settings::walk_in_lobby);
ImGui::Checkbox("Auto respawn", &settings::auto_respawn); ImGui::Checkbox("Auto respawn", &settings::auto_respawn);
*/
ImGui::Checkbox("Change player speed", &settings::change_player_speed); ImGui::Checkbox("EXP Modifier", &settings::exp_modifier);
ImGui::SliderInt("Multiplier", &settings::new_speed, 0, 10); ImGui::SliderInt("Amount", &settings::new_exp, 0, 5000);
ImGui::Checkbox("Unlock all", &settings::unlock_all);
ImGui::Checkbox("Disable Long Interact", &settings::disable_longInteract);
ImGui::Checkbox("Azazel Speed", &settings::freeze_azazel);
ImGui::SliderFloat("Multiplier", &settings::new_azazel_speed, 0, 15);
ImGui::Checkbox("Spoof level", &settings::spoof_level);
ImGui::InputInt("New level", &settings::new_level);
#if _DEBUG #if _DEBUG
ImGui::Spacing(); ImGui::Spacing();
@@ -390,10 +327,35 @@ void DrawMiscTab() {
} }
} }
void DrawPlayersTab() {
ImGui::Checkbox("Change player speed", &settings::change_player_speed);
ImGui::SliderInt("Multiplier", &settings::new_speed, 0, 10);
if (ImGui::Button("Revive Players")) {
Misc::Revive(false);
}
if (ImGui::Button("Revive Yourself")) {
Misc::Revive(true);
}
if (ImGui::Button("Send Jumpscare To Players")) {
Misc::Jumpscare();
}
if (ImGui::Button("Kill The Players")) {
Misc::Kill(false);
}
if (ImGui::Button("Kill Yourself")) {
Misc::Kill(true);
}
}
tabs current_tab = tabs::VISUALS; tabs current_tab = tabs::VISUALS;
void DrawMenu(bool open_menu) { void DrawMenu(bool open_menu) {
ImGui::SetNextWindowSize(ImVec2(240.000f, 300.000f), ImGuiCond_Once); ImGui::SetNextWindowSize(ImVec2(240.000f, 300.000f), ImGuiCond_Once);
ImGui::Begin("Devour Client", NULL, 2); ImGui::Begin("DevourClient", NULL, 2);
#if _DEBUG #if _DEBUG
if (inspector) { if (inspector) {
@@ -421,6 +383,11 @@ void DrawMenu(bool open_menu) {
current_tab = tabs::MISC; current_tab = tabs::MISC;
} }
ImGui::SameLine();
if (ImGui::Button("Players", ImVec2(0.000f, 0.000f))) {
current_tab = tabs::MISC;
}
ImGui::Separator(); ImGui::Separator();
switch (current_tab) { switch (current_tab) {
@@ -436,6 +403,9 @@ void DrawMenu(bool open_menu) {
case tabs::MISC: case tabs::MISC:
DrawMiscTab(); DrawMiscTab();
break; break;
case tabs::PLAYERS:
DrawPlayersTab();
break;
default: default:
break; break;
} }

View File

@@ -11,7 +11,8 @@ enum class tabs {
VISUALS, VISUALS,
ENTITIES, ENTITIES,
MAP_SPECIFIC, MAP_SPECIFIC,
MISC MISC,
PLAYERS
}; };
void InitStyle(); void InitStyle();

View File

@@ -12,10 +12,12 @@
#include <chrono> #include <chrono>
#include <thread> #include <thread>
#include "wrapper.h" #include "Wrapper.h"
#include "ClientHelper.h" #include "ClientHelper.h"
#include "hooks/hooks.hpp" #include "hooks/hooks.hpp"
#include "color.hpp"
#include "UnityCore.h"
#include "features/misc/misc.h"
// Set the name of your log file here // Set the name of your log file here
extern const LPCWSTR LOG_FILE = L"DevourClient.txt"; extern const LPCWSTR LOG_FILE = L"DevourClient.txt";
@@ -35,17 +37,36 @@ void Run()
// Initialize thread data - DO NOT REMOVE // Initialize thread data - DO NOT REMOVE
il2cpp_thread_attach(il2cpp_domain_get()); il2cpp_thread_attach(il2cpp_domain_get());
// If you would like to write to a log file, specify the name above and use il2cppi_log_write()
il2cppi_log_write("Initializg..");
// If you would like to output to a new console window, use il2cppi_new_console() to open one and redirect stdout // If you would like to output to a new console window, use il2cppi_new_console() to open one and redirect stdout
il2cppi_new_console(); il2cppi_new_console();
std::cout << dye::green("\n\tDevourClient v2.0\n\t") << __DATE__ << " - " << __TIME__ << std::endl;
std::cout << "\tDevour Version ";
if (app::Application_get_version != nullptr)
std::cout << dye::light_red("v") << dye::light_red(il2cppi_to_string(app::Application_get_version(NULL))) << "\n\n";
else
std::cout << "Unknown\n\n";
std::cout << dye::light_aqua("\tMade with < 3 by patate and Jadis0x.\n");
uint64_t steamUserID = app::SteamUser_GetSteamID(nullptr).m_SteamID;
std::string steamName = il2cppi_to_string(app::SteamFriends_GetPersonaName(nullptr));
std::cout << "[DevourClient]: " << dye::yellow("GitHub: ") << dye::aqua_on_black("https://github.com/ALittlePatate/DevourClient\n");
std::cout << "[DevourClient]: Logged in as " << dye::yellow(steamName) << " (" << steamUserID << ")\n\n";
std::cout << "[DevourClient]: " << dye::aqua("Initializing..\n");
il2cppi_log_write("Initializing..");
if (InitializeHooks()) { if (InitializeHooks()) {
il2cppi_log_write("Hooks initialized"); il2cppi_log_write("Hooks initialized");
std::cout << "[DevourClient]: " << dye::aqua("Hooks initialized.\n");
} }
else { else {
il2cppi_log_write("MH_Initialize failed, quitting..."); il2cppi_log_write("MH_Initialize failed, quitting...");
std::cout << "[DevourClient]: " << dye::aqua("MH_Initialize failed, quitting...\n");
CreateThread(0, 0, EjectThread, 0, 0, 0); //Unhooking CreateThread(0, 0, EjectThread, 0, 0, 0); //Unhooking
return; return;
} }
@@ -54,19 +75,44 @@ void Run()
if (HookDX11()) { if (HookDX11()) {
il2cppi_log_write("DirectX11 hooked"); il2cppi_log_write("DirectX11 hooked");
std::cout << "[DevourClient]: " << dye::aqua("DirectX11 hooked.\n");
} }
else { else {
il2cppi_log_write("DirectX11 hook failed, quitting..."); il2cppi_log_write("DirectX11 hook failed, quitting...");
std::cout << "[DevourClient]: " << dye::aqua("DirectX11 hook failed!quitting...\n");
CreateThread(0, 0, EjectThread, 0, 0, 0); //Unhooking CreateThread(0, 0, EjectThread, 0, 0, 0); //Unhooking
return; return;
} }
std::cout << "[DevourClient]: " << dye::light_green("Done!:)\n");
std::string scene = SceneName();
if (scene == std::string("Menu")) {
app::Menu* horrorMenu = UnityCore::Object<app::Menu>::FindObjectOfType("Menu", "Horror");
if (!horrorMenu)
return;
app::String* str = reinterpret_cast<app::String*>(il2cpp_string_new("Welcome to DevourClient.\n\nAfter ensuring the game is in full screen, press the Q key to activate the menu.\n\n\nYou can disable the cheat by pressing the 'END' key."));
if (str) {
if (app::Menu_ShowMessageModal == nullptr)
return;
app::Menu_ShowMessageModal(horrorMenu, str, nullptr);
}
}
while (true) { while (true) {
if (GetAsyncKeyState(VK_END) & 0x8000 || should_unhook) if (GetAsyncKeyState(VK_END) & 0x8000 || should_unhook)
break; break;
std::this_thread::sleep_for(std::chrono::milliseconds(2000)); if (settings::fullBright)
Misc::FullBright();
std::this_thread::sleep_for(std::chrono::milliseconds(400));
} }
CreateThread(0, 0, EjectThread, 0, 0, 0); CreateThread(0, 0, EjectThread, 0, 0, 0);
} }

View File

@@ -5,7 +5,7 @@ namespace settings {
int height = 1080; int height = 1080;
int width = 1920; int width = 1920;
bool big_flashlight = false; bool fullBright = false;
float flashlight_color[4] = { 255.f, 255.f, 255.f, 255.f }; float flashlight_color[4] = { 255.f, 255.f, 255.f, 255.f };
bool unlimited_uv = false; bool unlimited_uv = false;

View File

@@ -8,7 +8,7 @@ namespace settings {
extern int height; extern int height;
extern int width; extern int width;
extern bool big_flashlight; extern bool fullBright;
extern float flashlight_color[4]; extern float flashlight_color[4];
extern bool unlimited_uv; extern bool unlimited_uv;