ESP update !
This commit is contained in:
@@ -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" />
|
||||||
|
|||||||
81
DevourClient/Helpers/Render.cs
Normal file
81
DevourClient/Helpers/Render.cs
Normal 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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -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;
|
||||||
|
|||||||
@@ -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";
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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.
|
||||||
|
|||||||
Reference in New Issue
Block a user