ESP update !

This commit is contained in:
ALittlePatate
2022-08-24 17:10:21 +02:00
parent 952779d6f3
commit 6f4deb0d84
5 changed files with 191 additions and 7 deletions

View File

@@ -95,6 +95,7 @@
<Compile Include="Hacks\Misc.cs" /> <Compile Include="Hacks\Misc.cs" />
<Compile Include="Hacks\Unlock.cs" /> <Compile Include="Hacks\Unlock.cs" />
<Compile Include="Helpers\GUIHelper.cs" /> <Compile Include="Helpers\GUIHelper.cs" />
<Compile Include="Helpers\Render.cs" />
<Compile Include="Helpers\StateHelper.cs" /> <Compile Include="Helpers\StateHelper.cs" />
<Compile Include="Hooks\Hooks.cs" /> <Compile Include="Hooks\Hooks.cs" />
<Compile Include="MelonMain.cs" /> <Compile Include="MelonMain.cs" />

View File

@@ -0,0 +1,81 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using UnityEngine;
namespace DevourClient.Render
{
public class Render
{
public static GUIStyle StringStyle { get; set; } = new GUIStyle(GUI.skin.label);
public static Color Color
{
get { return GUI.color; }
set { GUI.color = value; }
}
public static void DrawString(Vector2 position, string label, bool centered = true)
{
var content = new GUIContent(label);
var size = StringStyle.CalcSize(content);
var upperLeft = centered ? position - size / 2f : position;
GUI.Label(new Rect(upperLeft, size), content);
}
public static Texture2D lineTex;
public static void DrawLine(Vector2 pointA, Vector2 pointB, Color color, float width)
{
Matrix4x4 matrix = GUI.matrix;
if (!lineTex)
lineTex = new Texture2D(1, 1);
Color color2 = GUI.color;
GUI.color = color;
float num = Vector3.Angle(pointB - pointA, Vector2.right);
if (pointA.y > pointB.y)
num = -num;
GUIUtility.ScaleAroundPivot(new Vector2((pointB - pointA).magnitude, width), new Vector2(pointA.x, pointA.y + 0.5f));
GUIUtility.RotateAroundPivot(num, pointA);
GUI.DrawTexture(new Rect(pointA.x, pointA.y, 1f, 1f), lineTex);
GUI.matrix = matrix;
GUI.color = color2;
}
public static void DrawBox(float x, float y, float w, float h, Color color, float thickness)
{
DrawLine(new Vector2(x, y), new Vector2(x + w, y), color, thickness);
DrawLine(new Vector2(x, y), new Vector2(x, y + h), color, thickness);
DrawLine(new Vector2(x + w, y), new Vector2(x + w, y + h), color, thickness);
DrawLine(new Vector2(x, y + h), new Vector2(x + w, y + h), color, thickness);
}
public static void DrawBoxESP(Vector3 footpos, Vector3 headpos, Color color, string playername = "", bool snapline = false, bool esp = true)
{
float height = headpos.y - footpos.y;
float widthOffset = 2f;
float width = height / widthOffset;
if (playername != "" && esp)
{
Render.DrawString(new Vector2((footpos.x - (width / 2)) + 25, (float)Screen.height - footpos.y - height), playername, false);
}
//ESP BOX
if (esp)
{
Render.DrawBox(footpos.x - (width / 2), (float)Screen.height - footpos.y - height, width, height, color, 2f);
}
//Snapline
if (snapline)
{
Render.DrawLine(new Vector2((float)(Screen.width / 2), (float)(Screen.height / 2)), new Vector2(footpos.x, (float)Screen.height - footpos.y), color, 2f);
}
}
}
}

View File

@@ -9,17 +9,22 @@ namespace DevourClient
{ {
bool flashlight_toggle = false; bool flashlight_toggle = false;
bool flashlight_colorpick = false; bool flashlight_colorpick = false;
bool player_esp_colorpick = false;
bool azazel_esp_colorpick = false;
bool level_70 = false; bool level_70 = false;
bool level_666 = false; bool level_666 = false;
bool change_server_name = false; bool change_server_name = false;
bool change_steam_name = false; bool change_steam_name = false;
bool fly = false; bool fly = false;
float fly_speed = 5; float fly_speed = 5;
public bool _IsCarryingFirstAidOnLocalCharacter = false;
public bool _IsAutoRespawn = false; public bool _IsAutoRespawn = false;
public static bool exp_modifier = false; public static bool exp_modifier = false;
public static float exp = 1000f; public static float exp = 1000f;
bool player_esp = false;
bool player_snapline = false;
bool azazel_esp = false;
bool azazel_snapline = false;
bool item_esp = false;
bool spam_message = false; bool spam_message = false;
public override void OnApplicationStart() public override void OnApplicationStart()
@@ -99,6 +104,66 @@ namespace DevourClient
public override void OnGUI() public override void OnGUI()
{ {
if (this.player_esp || this.player_snapline)
{
foreach (NolanBehaviour player in UnityEngine.Object.FindObjectsOfType<NolanBehaviour>() as UnhollowerBaseLib.Il2CppReferenceArray<NolanBehaviour>)
{
if (player != null)
{
Vector3 pivotPos = player.transform.position; //Pivot point NOT at the origin, at the center
Vector3 playerFootPos; playerFootPos.x = pivotPos.x; playerFootPos.z = pivotPos.z; playerFootPos.y = pivotPos.y - 2f; //At the feet
Vector3 playerHeadPos; playerHeadPos.x = pivotPos.x; playerHeadPos.z = pivotPos.z; playerHeadPos.y = pivotPos.y + 2f; //At the head
if (Camera.main == null)
{
continue;
}
Vector3 w2s_footpos = Camera.main.WorldToScreenPoint(playerFootPos);
Vector3 w2s_headpos = Camera.main.WorldToScreenPoint(playerHeadPos);
if (w2s_footpos.z > 0f)
{
//string playername = player.field_Private_PhotonView_0.field_Private_ObjectPublicObInBoStBoHaStObInHaUnique_0.field_Private_String_0;//player.photonView._Controller_k__BackingField.NickName;
if (player.entity.IsOwner)
{
continue;
}
Render.Render.DrawBoxESP(w2s_footpos, w2s_headpos, Settings.Settings.player_esp_color, "", this.player_snapline, this.player_esp);
}
}
}
}
if (this.azazel_esp || this.azazel_snapline)
{
SurvivalAzazelBehaviour survivalAzazel = UnityEngine.Object.FindObjectOfType<SurvivalAzazelBehaviour>();
if (survivalAzazel != null)
{
Vector3 pivotPos = survivalAzazel.transform.position; //Pivot point NOT at the origin, at the center
Vector3 playerFootPos; playerFootPos.x = pivotPos.x; playerFootPos.z = pivotPos.z; playerFootPos.y = pivotPos.y - 2f; //At the feet
Vector3 playerHeadPos; playerHeadPos.x = pivotPos.x; playerHeadPos.z = pivotPos.z; playerHeadPos.y = pivotPos.y + 2f; //At the head
if (Camera.main != null)
{
Vector3 w2s_footpos = Camera.main.WorldToScreenPoint(playerFootPos);
Vector3 w2s_headpos = Camera.main.WorldToScreenPoint(playerHeadPos);
if (w2s_footpos.z > 0f)
{
Render.Render.DrawBoxESP(w2s_footpos, w2s_headpos, Settings.Settings.azazel_esp_color, "Azazel", this.azazel_snapline, this.azazel_esp);
}
}
}
}
if (Settings.Settings.menu_enable) //Si on appuie sur INSERT if (Settings.Settings.menu_enable) //Si on appuie sur INSERT
{ {
GUI.Label(new Rect(300, Settings.Settings.y, 100, 30), "Devour Client"); //Titre du menu GUI.Label(new Rect(300, Settings.Settings.y, 100, 30), "Devour Client"); //Titre du menu
@@ -111,12 +176,17 @@ namespace DevourClient
this.fly = GUI.Toggle(new Rect(Settings.Settings.x + 200, Settings.Settings.y + 100, 150, 20), this.fly, "Fly"); //Checkbox fly this.fly = GUI.Toggle(new Rect(Settings.Settings.x + 200, Settings.Settings.y + 100, 150, 20), this.fly, "Fly"); //Checkbox fly
this.fly_speed = GUI.HorizontalSlider(new Rect(Settings.Settings.x + 200, Settings.Settings.y + 130, 100, 10), this.fly_speed, 5f, 20f); //Slider for the fly speed this.fly_speed = GUI.HorizontalSlider(new Rect(Settings.Settings.x + 200, Settings.Settings.y + 130, 100, 10), this.fly_speed, 5f, 20f); //Slider for the fly speed
GUI.Label(new Rect(Settings.Settings.x + 310, Settings.Settings.y + 125, 100, 30), this.fly_speed.ToString()); //Prints the value of the slider; GUI.Label(new Rect(Settings.Settings.x + 310, Settings.Settings.y + 125, 100, 30), this.fly_speed.ToString()); //Prints the value of the slider;
this._IsCarryingFirstAidOnLocalCharacter = GUI.Toggle(new Rect(Settings.Settings.x + 200, Settings.Settings.y + 190, 150, 20), this._IsCarryingFirstAidOnLocalCharacter, "IsCarryingFirstAid"); this._IsAutoRespawn = GUI.Toggle(new Rect(Settings.Settings.x + 200, Settings.Settings.y + 190, 150, 20), this._IsAutoRespawn, "Auto-Respawn");
this._IsAutoRespawn = GUI.Toggle(new Rect(Settings.Settings.x + 200, Settings.Settings.y + 220, 150, 20), this._IsAutoRespawn, "Auto-Respawn");
Load.exp_modifier = GUI.Toggle(new Rect(Settings.Settings.x + 350, Settings.Settings.y + 40, 150, 20), Load.exp_modifier, "Exp Modifier"); Load.exp_modifier = GUI.Toggle(new Rect(Settings.Settings.x + 390, Settings.Settings.y + 40, 150, 20), Load.exp_modifier, "Exp Modifier");
Load.exp = GUI.HorizontalSlider(new Rect(Settings.Settings.x + 350, Settings.Settings.y + 70, 100, 10), Load.exp, 1000f, 50000f); //Slider for the fly speed Load.exp = GUI.HorizontalSlider(new Rect(Settings.Settings.x + 390, Settings.Settings.y + 70, 100, 10), Load.exp, 1000f, 3000f); //Slider for the fly speed
GUI.Label(new Rect(Settings.Settings.x + 410, Settings.Settings.y + 75, 100, 30), Load.exp.ToString()); //Prints the value of the slider; GUI.Label(new Rect(Settings.Settings.x + 500, Settings.Settings.y + 65, 100, 30), Load.exp.ToString()); //Prints the value of the slider;
this.player_esp = GUI.Toggle(new Rect(Settings.Settings.x + 390, Settings.Settings.y + 100, 150, 20), this.player_esp, "Player ESP");
this.player_snapline = GUI.Toggle(new Rect(Settings.Settings.x + 390, Settings.Settings.y + 130, 150, 20), this.player_snapline, "Player Snapline");
this.azazel_esp = GUI.Toggle(new Rect(Settings.Settings.x + 390, Settings.Settings.y + 190, 150, 20), this.azazel_esp, "Azazel ESP");
this.azazel_snapline = GUI.Toggle(new Rect(Settings.Settings.x + 390, Settings.Settings.y + 220, 150, 20), this.azazel_snapline, "Azazel Snapline");
if (GUI.Button(new Rect(Settings.Settings.x + 10, Settings.Settings.y + 40, 150, 20), "Unlock Achievements")) if (GUI.Button(new Rect(Settings.Settings.x + 10, Settings.Settings.y + 40, 150, 20), "Unlock Achievements"))
{ {
@@ -134,6 +204,32 @@ namespace DevourClient
MelonLogger.Msg("Doors Unlocked !"); MelonLogger.Msg("Doors Unlocked !");
} }
if (GUI.Button(new Rect(Settings.Settings.x + 390, Settings.Settings.y + 250, 150, 20), "Azazel ESP Color"))
{
azazel_esp_colorpick = !azazel_esp_colorpick;
MelonLogger.Msg("azazel_esp_colorpick color picker : " + azazel_esp_colorpick.ToString());
}
if (azazel_esp_colorpick)
{
Color azazel_esp_colorpick_color_input = DevourClient.Helpers.GUIHelper.ColorPick("Azazel ESP Color", Settings.Settings.azazel_esp_color);
Settings.Settings.azazel_esp_color = azazel_esp_colorpick_color_input;
}
if (GUI.Button(new Rect(Settings.Settings.x + 390, Settings.Settings.y + 160, 150, 20), "Player ESP Color"))
{
player_esp_colorpick = !player_esp_colorpick;
MelonLogger.Msg("player_esp_colorpick color picker : " + player_esp_colorpick.ToString());
}
if (player_esp_colorpick)
{
Color player_esp_colorpick_color_input = DevourClient.Helpers.GUIHelper.ColorPick("Player ESP Color", Settings.Settings.player_esp_color);
Settings.Settings.player_esp_color = player_esp_colorpick_color_input;
}
if (GUI.Button(new Rect(Settings.Settings.x + 10, Settings.Settings.y + 130, 150, 20), "Flashlight Color")) if (GUI.Button(new Rect(Settings.Settings.x + 10, Settings.Settings.y + 130, 150, 20), "Flashlight Color"))
{ {
flashlight_colorpick = !flashlight_colorpick; flashlight_colorpick = !flashlight_colorpick;

View File

@@ -10,6 +10,8 @@ namespace DevourClient.Settings
public static float x = 0; public static float x = 0;
public static float y = 0; public static float y = 0;
public static Color flashlight_color = new Color(1.00f, 1.00f, 1.00f, 1); public static Color flashlight_color = new Color(1.00f, 1.00f, 1.00f, 1);
public static Color player_esp_color = new Color(0.00f, 1.00f, 0.00f, 1);
public static Color azazel_esp_color = new Color(1.00f, 0.00f, 0.00f, 1);
public static float speed = 1f; public static float speed = 1f;
public const string message_to_spam = "Deez Nutz"; public const string message_to_spam = "Deez Nutz";
} }

View File

@@ -37,6 +37,10 @@ Everything about spoofing ehre (steam name, server name, level...) will persist
* Random Sound (make your character play a random acting sound) * Random Sound (make your character play a random acting sound)
* Always carrying a medkit * Always carrying a medkit
* Change your exp at the end of the game, changing it is permanant ! * Change your exp at the end of the game, changing it is permanant !
* Player ESP (with a home made color picker)
* Player snaplines (with a home made color picker)
* Azazel ESP (with a home made color picker)
* Azazel snapline (with a home made color picker)
## Installation ## Installation
In order to get all of this working you need to generate the DevourClient.dll file by building the source code. In order to get all of this working you need to generate the DevourClient.dll file by building the source code.