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\Unlock.cs" />
<Compile Include="Helpers\GUIHelper.cs" />
<Compile Include="Helpers\Render.cs" />
<Compile Include="Helpers\StateHelper.cs" />
<Compile Include="Hooks\Hooks.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_colorpick = false;
bool player_esp_colorpick = false;
bool azazel_esp_colorpick = false;
bool level_70 = false;
bool level_666 = false;
bool change_server_name = false;
bool change_steam_name = false;
bool fly = false;
float fly_speed = 5;
public bool _IsCarryingFirstAidOnLocalCharacter = false;
public bool _IsAutoRespawn = false;
public static bool exp_modifier = false;
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;
public override void OnApplicationStart()
@@ -99,6 +104,66 @@ namespace DevourClient
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
{
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_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;
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 + 220, 150, 20), this._IsAutoRespawn, "Auto-Respawn");
this._IsAutoRespawn = GUI.Toggle(new Rect(Settings.Settings.x + 200, Settings.Settings.y + 190, 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 = GUI.HorizontalSlider(new Rect(Settings.Settings.x + 350, Settings.Settings.y + 70, 100, 10), Load.exp, 1000f, 50000f); //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;
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 + 390, Settings.Settings.y + 70, 100, 10), Load.exp, 1000f, 3000f); //Slider for the fly speed
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"))
{
@@ -134,6 +204,32 @@ namespace DevourClient
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"))
{
flashlight_colorpick = !flashlight_colorpick;

View File

@@ -10,6 +10,8 @@ namespace DevourClient.Settings
public static float x = 0;
public static float y = 0;
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 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)
* Always carrying a medkit
* 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
In order to get all of this working you need to generate the DevourClient.dll file by building the source code.