Fix for ESP and Addition of New Functions #65
@@ -137,37 +137,52 @@ void ESP::RunDemonESP() {
|
|||||||
|
|
||||||
std::vector<std::string> demons_c = { "SurvivalDemonBehaviour", "SpiderBehaviour", "GhostBehaviour", "BoarBehaviour", "CorpseBehaviour" };
|
std::vector<std::string> demons_c = { "SurvivalDemonBehaviour", "SpiderBehaviour", "GhostBehaviour", "BoarBehaviour", "CorpseBehaviour" };
|
||||||
|
|
||||||
for (std::string& class_ : demons_c) {
|
// There's might be a better way to do it, but i'm lazy : )
|
||||||
if (SceneName() != "Menu")
|
if (name_demon == "N/A") {
|
||||||
return;
|
for (std::string& class_ : demons_c) {
|
||||||
app::Object_1__Array* ents = Object::FindObjectsOfType(class_.c_str(), "");
|
ents_demon = RefreshEntList(ents_demon, class_.c_str(), "");
|
||||||
if (ents == nullptr)
|
if (ents_demon && ents_demon->max_length > 0) {
|
||||||
continue;
|
name_demon = class_;
|
||||||
|
}
|
||||||
std::string name = class_;
|
}
|
||||||
string_replace(name, "Survival", "");
|
|
||||||
string_replace(name, "Behaviour", "");
|
|
||||||
ComputePositionAndDrawESP(ents, col, false, name);
|
|
||||||
}
|
}
|
||||||
}
|
else {
|
||||||
|
ents_demon = RefreshEntList(ents_demon, name_demon.c_str(), "");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (ents_demon == nullptr) return;
|
||||||
|
|
||||||
|
app::Object_1__Array* ents = ents_demon;
|
||||||
|
std::string name = name_demon;
|
||||||
|
string_replace(name, "Survival", "");
|
||||||
|
string_replace(name, "Behaviour", "");
|
||||||
|
ComputePositionAndDrawESP(ents, col, false, name);
|
||||||
|
}
|
||||||
|
|
||||||
void ESP::RunItemsESP() {
|
void ESP::RunItemsESP() {
|
||||||
ImColor col = ImColor{ settings::item_esp_color[0], settings::item_esp_color[1], settings::item_esp_color[2], settings::item_esp_color[3] };
|
ImColor col = ImColor{ settings::item_esp_color[0], settings::item_esp_color[1], settings::item_esp_color[2], settings::item_esp_color[3] };
|
||||||
|
|
||||||
ents_item = RefreshEntList(ents_item, "SurvivalInteractable");
|
ents_item = RefreshEntList(ents_item, "SurvivalInteractable");
|
||||||
if (ents_item == nullptr) return;
|
if (ents_item != nullptr) {
|
||||||
|
|
||||||
app::Object_1__Array* ents = ents_item;
|
app::Object_1__Array* ents = ents_item;
|
||||||
|
|
||||||
|
|
||||||
if (ents != nullptr || !Object::IsNull(ents->vector[0])) {
|
if (ents != nullptr || !Object::IsNull(ents->vector[0])) {
|
||||||
ComputePositionAndDrawESP(ents, col, true);
|
ComputePositionAndDrawESP(ents, col, true);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (SceneName() != "Menu")
|
|
||||||
return;
|
}
|
||||||
ents = Object::FindObjectsOfType("KeyBehaviour", "");
|
|
||||||
|
void ESP::RunKeyESP() {
|
||||||
|
ImColor col = ImColor{ settings::key_esp_color[0], settings::key_esp_color[1], settings::key_esp_color[2], settings::key_esp_color[3] };
|
||||||
|
|
||||||
|
app::Object_1__Array* ents = ents_key;
|
||||||
|
|
||||||
|
if (ents_key == nullptr) return;
|
||||||
|
|
||||||
if (ents != nullptr || !Object::IsNull(ents->vector[0])) {
|
if (ents != nullptr || !Object::IsNull(ents->vector[0])) {
|
||||||
ComputePositionAndDrawESP(ents, col, false, "Key");
|
ComputePositionAndDrawESP(ents, col, false, "Key");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,7 +8,11 @@ namespace ESP {
|
|||||||
// TEMP FIX #60
|
// TEMP FIX #60
|
||||||
inline app::GameObject__Array* ents_azazel = NULL;
|
inline app::GameObject__Array* ents_azazel = NULL;
|
||||||
inline app::Object_1__Array* ents_item;
|
inline app::Object_1__Array* ents_item;
|
||||||
|
inline app::Object_1__Array* ents_key;
|
||||||
inline app::Object_1__Array* ents_goat;
|
inline app::Object_1__Array* ents_goat;
|
||||||
|
inline app::Object_1__Array* ents_demon;
|
||||||
|
|
||||||
|
inline std::string name_demon = "N/A";
|
||||||
|
|
||||||
inline int time_refresh = 100;
|
inline int time_refresh = 100;
|
||||||
inline int time_counter = 0;
|
inline int time_counter = 0;
|
||||||
@@ -18,6 +22,7 @@ namespace ESP {
|
|||||||
void RunPlayersESP();
|
void RunPlayersESP();
|
||||||
void RunGoatsESP();
|
void RunGoatsESP();
|
||||||
void RunItemsESP();
|
void RunItemsESP();
|
||||||
|
void RunKeyESP();
|
||||||
void RunDemonESP();
|
void RunDemonESP();
|
||||||
void RunAzazelESP();
|
void RunAzazelESP();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -115,6 +115,18 @@ void DrawVisualsTab() {
|
|||||||
ImGui::EndPopup();
|
ImGui::EndPopup();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ImGui::Checkbox("Keys ESP", &settings::key_esp);
|
||||||
|
ImGui::SameLine();
|
||||||
|
bool open_kcolor_popup = ImGui::ColorButton("kespcolor", ImVec4(settings::key_esp_color[0], settings::key_esp_color[1], settings::key_esp_color[2], settings::key_esp_color[3]));
|
||||||
|
if (open_kcolor_popup)
|
||||||
|
{
|
||||||
|
ImGui::OpenPopup("kesppop");
|
||||||
|
}
|
||||||
|
if (ImGui::BeginPopup("kesppop")) {
|
||||||
|
ImGui::ColorPicker4("Key ESP color", (float*)&settings::key_esp_color);
|
||||||
|
ImGui::EndPopup();
|
||||||
|
}
|
||||||
|
|
||||||
ImGui::Checkbox("Demon ESP", &settings::demon_esp);
|
ImGui::Checkbox("Demon ESP", &settings::demon_esp);
|
||||||
ImGui::SameLine();
|
ImGui::SameLine();
|
||||||
bool open_dcolor_popup = ImGui::ColorButton("despcolor", ImVec4(settings::demon_esp_color[0], settings::demon_esp_color[1], settings::demon_esp_color[2], settings::demon_esp_color[3]));
|
bool open_dcolor_popup = ImGui::ColorButton("despcolor", ImVec4(settings::demon_esp_color[0], settings::demon_esp_color[1], settings::demon_esp_color[2], settings::demon_esp_color[3]));
|
||||||
|
|||||||
@@ -97,6 +97,7 @@ void __stdcall hNolanBehaviour_Update(app::NolanBehaviour* __this, MethodInfo* m
|
|||||||
// TEMP FIX #60
|
// TEMP FIX #60
|
||||||
if (SceneName() != "Menu") {
|
if (SceneName() != "Menu") {
|
||||||
ESP::ents_goat = Object::FindObjectsOfType("GoatBehaviour", "");
|
ESP::ents_goat = Object::FindObjectsOfType("GoatBehaviour", "");
|
||||||
|
ESP::ents_key = Object::FindObjectsOfType("KeyInteractable", "");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (settings::spoof_level && IsLocalPlayer(__this)) {
|
if (settings::spoof_level && IsLocalPlayer(__this)) {
|
||||||
@@ -771,17 +772,20 @@ HRESULT __stdcall hookD3D11Present(IDXGISwapChain* pSwapChain, UINT SyncInterval
|
|||||||
if (settings::player_esp)
|
if (settings::player_esp)
|
||||||
ESP::RunPlayersESP();
|
ESP::RunPlayersESP();
|
||||||
|
|
||||||
if (IsInGame() && !IsSequencePlaying()) {
|
if (IsInGame() && !IsSequencePlaying() && SceneName() != "Menu") {
|
||||||
if (settings::goat_esp && SceneName() != "Menu")
|
if (settings::goat_esp)
|
||||||
ESP::RunGoatsESP();
|
ESP::RunGoatsESP();
|
||||||
|
|
||||||
if (settings::item_esp && SceneName() != "Menu")
|
if (settings::item_esp)
|
||||||
ESP::RunItemsESP();
|
ESP::RunItemsESP();
|
||||||
|
|
||||||
|
if (settings::key_esp)
|
||||||
|
ESP::RunKeyESP();
|
||||||
|
|
||||||
if (settings::demon_esp)
|
if (settings::demon_esp)
|
||||||
ESP::RunDemonESP();
|
ESP::RunDemonESP();
|
||||||
|
|
||||||
if (settings::azazel_esp && SceneName() != "Menu")
|
if (settings::azazel_esp)
|
||||||
ESP::RunAzazelESP();
|
ESP::RunAzazelESP();
|
||||||
|
|
||||||
ESP::time_counter += 1;
|
ESP::time_counter += 1;
|
||||||
@@ -791,11 +795,23 @@ HRESULT __stdcall hookD3D11Present(IDXGISwapChain* pSwapChain, UINT SyncInterval
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!IsInGame() && SceneName() == "Menu") {
|
if (!IsInGame() && SceneName() == "Menu") {
|
||||||
if (settings::item_esp) {
|
if (settings::item_esp)
|
||||||
ESP::ents_azazel = nullptr;
|
ESP::ents_item = nullptr;
|
||||||
ESP::ents_item = nullptr;
|
|
||||||
ESP::ents_goat = nullptr;
|
if (settings::goat_esp)
|
||||||
}
|
ESP::ents_goat = nullptr;
|
||||||
|
|
||||||
|
if (settings::azazel_esp)
|
||||||
|
ESP::ents_azazel = nullptr;
|
||||||
|
|
||||||
|
if (settings::key_esp)
|
||||||
|
ESP::ents_key = nullptr;
|
||||||
|
|
||||||
|
if (settings::demon_esp) {
|
||||||
|
ESP::ents_demon = nullptr;
|
||||||
|
ESP::name_demon = "N/A";
|
||||||
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -23,7 +23,7 @@
|
|||||||
|
|
||||||
#include "players/players.h"
|
#include "players/players.h"
|
||||||
|
|
||||||
#define CLIENT_VERSION "4.1"
|
#define CLIENT_VERSION "4.2"
|
||||||
|
|
||||||
// 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";
|
||||||
|
|||||||
@@ -25,6 +25,8 @@ namespace settings {
|
|||||||
float demon_esp_color[4] = { 255.f, 0, 0, 255.f };
|
float demon_esp_color[4] = { 255.f, 0, 0, 255.f };
|
||||||
bool goat_esp = false;
|
bool goat_esp = false;
|
||||||
float goat_esp_color[4] = { 247.f, 156.f, 37.f, 255.f };
|
float goat_esp_color[4] = { 247.f, 156.f, 37.f, 255.f };
|
||||||
|
bool key_esp = false;
|
||||||
|
float key_esp_color[4] = { 251.f,225.f,104.f,255.f };
|
||||||
|
|
||||||
bool chat_spam = false;
|
bool chat_spam = false;
|
||||||
std::string message = "deez nuts";
|
std::string message = "deez nuts";
|
||||||
|
|||||||
@@ -29,6 +29,8 @@ namespace settings {
|
|||||||
extern float demon_esp_color[4];
|
extern float demon_esp_color[4];
|
||||||
extern bool goat_esp;
|
extern bool goat_esp;
|
||||||
extern float goat_esp_color[4];
|
extern float goat_esp_color[4];
|
||||||
|
extern bool key_esp;
|
||||||
|
extern float key_esp_color[4];
|
||||||
extern bool chat_spam;
|
extern bool chat_spam;
|
||||||
extern std::string message;
|
extern std::string message;
|
||||||
extern bool spoof_level;
|
extern bool spoof_level;
|
||||||
|
|||||||
Reference in New Issue
Block a user