7 Commits
1.0 ... 2.0

Author SHA1 Message Date
ALittlePatate
00b2d67939 Updated for the Town Update ! 2022-03-25 21:11:34 +01:00
ALittlePatate
820a8889a8 Ehh, the .gitignore wasn't good enough :/ 2022-03-25 21:00:52 +01:00
ALittlePatate
34a57c3928 Delete DesignTimeResolveAssemblyReferencesInput.cache 2022-03-25 21:00:14 +01:00
ALittlePatate
9ddecf0f68 Delete .NETFramework,Version=v4.7.2.AssemblyAttributes.cs 2022-03-25 21:00:03 +01:00
ALittlePatate
f1b931c9b0 The Town Update ! 2022-03-25 20:57:42 +01:00
ALittlePatate
9348dc3c02 fix : typo 2021-11-01 23:22:58 +01:00
ALittlePatate
a89599ea5a Fix: typo 2021-11-01 21:25:43 +01:00
10 changed files with 201 additions and 52 deletions

4
.gitignore vendored Normal file
View File

@@ -0,0 +1,4 @@
#Visual studio stuff
.vs
DevourClient/bin
DevourClient/obj

View File

@@ -31,49 +31,60 @@
<WarningLevel>4</WarningLevel> <WarningLevel>4</WarningLevel>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<Reference Include="0Harmony, Version=2.9.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>D:\Jeux\steamapps\common\Devour\MelonLoader\0Harmony.dll</HintPath>
</Reference>
<Reference Include="Assembly-CSharp"> <Reference Include="Assembly-CSharp">
<HintPath>..\..\..\..\..\..\Program Files (x86)\Steam\steamapps\common\Devour\MelonLoader\Managed\Assembly-CSharp.dll</HintPath> <HintPath>D:\Jeux\steamapps\common\Devour\MelonLoader\Managed\Assembly-CSharp.dll</HintPath>
</Reference> </Reference>
<Reference Include="bolt, Version=0.0.0.0, Culture=neutral, processorArchitecture=MSIL"> <Reference Include="bolt, Version=0.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion> <SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\..\..\..\Program Files (x86)\Steam\steamapps\common\Devour\MelonLoader\Managed\bolt.dll</HintPath> <HintPath>D:\Jeux\steamapps\common\Devour\MelonLoader\Managed\bolt.dll</HintPath>
</Reference> </Reference>
<Reference Include="bolt.user, Version=0.0.0.0, Culture=neutral, processorArchitecture=MSIL"> <Reference Include="bolt.user, Version=0.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion> <SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\..\..\..\Program Files (x86)\Steam\steamapps\common\Devour\MelonLoader\Managed\bolt.user.dll</HintPath> <HintPath>D:\Jeux\steamapps\common\Devour\MelonLoader\Managed\bolt.user.dll</HintPath>
</Reference> </Reference>
<Reference Include="Il2Cppmscorlib"> <Reference Include="Il2Cppmscorlib">
<HintPath>..\..\..\..\..\..\Program Files (x86)\Steam\steamapps\common\Devour\MelonLoader\Managed\Il2Cppmscorlib.dll</HintPath> <HintPath>D:\Jeux\steamapps\common\Devour\MelonLoader\Managed\Il2Cppmscorlib.dll</HintPath>
</Reference> </Reference>
<Reference Include="MelonLoader"> <Reference Include="MelonLoader">
<HintPath>..\..\..\..\..\..\Program Files (x86)\Steam\steamapps\common\Devour\MelonLoader\MelonLoader.dll</HintPath> <HintPath>D:\Jeux\steamapps\common\Devour\MelonLoader\MelonLoader.dll</HintPath>
</Reference>
<Reference Include="Opsive.UltimateCharacterController, Version=0.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>D:\Jeux\steamapps\common\Devour\MelonLoader\Managed\Opsive.UltimateCharacterController.dll</HintPath>
</Reference> </Reference>
<Reference Include="PresentationCore" /> <Reference Include="PresentationCore" />
<Reference Include="UnhollowerBaseLib"> <Reference Include="UnhollowerBaseLib">
<HintPath>..\..\..\..\..\..\Program Files (x86)\Steam\steamapps\common\Devour\MelonLoader\Dependencies\Il2CppAssemblyGenerator\Il2CppAssemblyUnhollower\UnhollowerBaseLib.dll</HintPath> <HintPath>D:\Jeux\steamapps\common\Devour\MelonLoader\Dependencies\Il2CppAssemblyGenerator\Il2CppAssemblyUnhollower\UnhollowerBaseLib.dll</HintPath>
</Reference> </Reference>
<Reference Include="UnhollowerRuntimeLib"> <Reference Include="UnhollowerRuntimeLib">
<HintPath>..\..\..\..\..\..\Program Files (x86)\Steam\steamapps\common\Devour\MelonLoader\Dependencies\Il2CppAssemblyGenerator\Il2CppAssemblyUnhollower\UnhollowerRuntimeLib.dll</HintPath> <HintPath>D:\Jeux\steamapps\common\Devour\MelonLoader\Dependencies\Il2CppAssemblyGenerator\Il2CppAssemblyUnhollower\UnhollowerRuntimeLib.dll</HintPath>
</Reference> </Reference>
<Reference Include="UnityEngine"> <Reference Include="UnityEngine">
<HintPath>..\..\..\..\..\..\Program Files (x86)\Steam\steamapps\common\Devour\MelonLoader\Managed\UnityEngine.dll</HintPath> <HintPath>D:\Jeux\steamapps\common\Devour\MelonLoader\Managed\UnityEngine.dll</HintPath>
</Reference> </Reference>
<Reference Include="UnityEngine.CoreModule"> <Reference Include="UnityEngine.CoreModule">
<HintPath>..\..\..\..\..\..\Program Files (x86)\Steam\steamapps\common\Devour\MelonLoader\Managed\UnityEngine.CoreModule.dll</HintPath> <HintPath>D:\Jeux\steamapps\common\Devour\MelonLoader\Managed\UnityEngine.CoreModule.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.HotReloadModule">
<HintPath>D:\Jeux\steamapps\common\Devour\MelonLoader\Managed\UnityEngine.HotReloadModule.dll</HintPath>
</Reference> </Reference>
<Reference Include="UnityEngine.IMGUIModule"> <Reference Include="UnityEngine.IMGUIModule">
<HintPath>..\..\..\..\..\..\Program Files (x86)\Steam\steamapps\common\Devour\MelonLoader\Managed\UnityEngine.IMGUIModule.dll</HintPath> <HintPath>D:\Jeux\steamapps\common\Devour\MelonLoader\Managed\UnityEngine.IMGUIModule.dll</HintPath>
</Reference> </Reference>
<Reference Include="UnityEngine.InputLegacyModule, Version=0.0.0.0, Culture=neutral, processorArchitecture=MSIL"> <Reference Include="UnityEngine.InputLegacyModule, Version=0.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion> <SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\..\..\..\Program Files (x86)\Steam\steamapps\common\Devour\MelonLoader\Managed\UnityEngine.InputLegacyModule.dll</HintPath> <HintPath>D:\Jeux\steamapps\common\Devour\MelonLoader\Managed\UnityEngine.InputLegacyModule.dll</HintPath>
</Reference> </Reference>
<Reference Include="UnityEngine.InputModule"> <Reference Include="UnityEngine.InputModule">
<HintPath>..\..\..\..\..\..\Program Files (x86)\Steam\steamapps\common\Devour\MelonLoader\Managed\UnityEngine.InputModule.dll</HintPath> <HintPath>D:\Jeux\steamapps\common\Devour\MelonLoader\Managed\UnityEngine.InputModule.dll</HintPath>
</Reference> </Reference>
<Reference Include="UnityEngine.UI, Version=0.0.0.0, Culture=neutral, processorArchitecture=MSIL"> <Reference Include="UnityEngine.UI, Version=0.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion> <SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\..\..\..\Program Files (x86)\Steam\steamapps\common\Devour\MelonLoader\Managed\UnityEngine.UI.dll</HintPath> <HintPath>D:\Jeux\steamapps\common\Devour\MelonLoader\Managed\UnityEngine.UI.dll</HintPath>
</Reference> </Reference>
<Reference Include="WindowsBase" /> <Reference Include="WindowsBase" />
</ItemGroup> </ItemGroup>
@@ -85,6 +96,7 @@
<Compile Include="Hacks\Unlock.cs" /> <Compile Include="Hacks\Unlock.cs" />
<Compile Include="Helpers\GUIHelper.cs" /> <Compile Include="Helpers\GUIHelper.cs" />
<Compile Include="Helpers\StateHelper.cs" /> <Compile Include="Helpers\StateHelper.cs" />
<Compile Include="Hooks\Hooks.cs" />
<Compile Include="MelonMain.cs" /> <Compile Include="MelonMain.cs" />
<Compile Include="Properties\AssemblyInfo.cs" /> <Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Settings\Settings.cs" /> <Compile Include="Settings\Settings.cs" />

View File

@@ -1,12 +1,62 @@
using UnityEngine; using UnityEngine;
using MelonLoader; using MelonLoader;
using UnityEngine.UI; using UnityEngine.UI;
using System.Reflection;
using System.Runtime.InteropServices;
namespace DevourClient.Hacks namespace DevourClient.Hacks
{ {
public class Misc public class Misc
{ {
public static void Fly(float speed) //normal speed 0.5f
{
NolanBehaviour Nolan = UnityEngine.Object.FindObjectOfType<NolanBehaviour>();
Vector3 PlayerAngles = Nolan.transform.position;
if (Input.GetKey(KeyCode.Space))
{
PlayerAngles.y += speed;
}
if (Input.GetKey(KeyCode.LeftShift))
{
PlayerAngles.y -= speed;
}
if (Input.GetKey(KeyCode.LeftArrow))
{
PlayerAngles.x -= speed;
}
if (Input.GetKey(KeyCode.RightArrow))
{
PlayerAngles.x += speed;
}
if (Input.GetKey(KeyCode.UpArrow))
{
PlayerAngles.z += speed;
}
if (Input.GetKey(KeyCode.DownArrow))
{
PlayerAngles.z -= speed;
}
Nolan.locomotion.SetPosition(PlayerAngles, false);
}
public static void SetSteamName(string name)
{
Horror.Menu Menu_ = UnityEngine.Object.FindObjectOfType<Horror.Menu>();
Menu_.steamName = name;
}
public static void SetServerName(string name)
{
Horror.Menu Menu_ = UnityEngine.Object.FindObjectOfType<Horror.Menu>();
Menu_.serverNameText.text = name;
}
public static void BigFlashlight(bool reset) public static void BigFlashlight(bool reset)
{
//Ohhhh yes, that's some great code, don't you like try and catches ?
//it's for fixing a glitch that activates the big flashlight during the loading of a map
//so the things are not loaded and it throws a shit ton of errors in the console
try
{ {
NolanBehaviour Nolan = UnityEngine.Object.FindObjectOfType<NolanBehaviour>(); NolanBehaviour Nolan = UnityEngine.Object.FindObjectOfType<NolanBehaviour>();
Light flashlightSpot = Nolan.flashlightSpot; Light flashlightSpot = Nolan.flashlightSpot;
@@ -21,6 +71,11 @@ namespace DevourClient.Hacks
flashlightSpot.intensity = 1.5f; flashlightSpot.intensity = 1.5f;
flashlightSpot.range = 200f; flashlightSpot.range = 200f;
} }
}
catch
{
return;
}
} }
public static void FlashlightColor(Color color) public static void FlashlightColor(Color color)
@@ -46,11 +101,11 @@ namespace DevourClient.Hacks
} }
} }
public static void MaxRank() public static void SetRank(int rank)
{ {
NolanRankController NolanRank = UnityEngine.Object.FindObjectOfType<NolanRankController>(); NolanRankController NolanRank = UnityEngine.Object.FindObjectOfType<NolanRankController>();
NolanRank.SetRank(70); NolanRank.SetRank(rank);
} }
public static void MessageSpam(string message) public static void MessageSpam(string message)
@@ -69,7 +124,6 @@ namespace DevourClient.Hacks
menu_class.OnChatMessageSubmit(); menu_class.OnChatMessageSubmit();
} }
} }
public static void InstantWin() public static void InstantWin()
{ {
Survival survival_class = UnityEngine.Object.FindObjectOfType<Survival>(); Survival survival_class = UnityEngine.Object.FindObjectOfType<Survival>();
@@ -84,6 +138,12 @@ namespace DevourClient.Hacks
survival_class.PlayWinEnding("AsylumWin"); survival_class.PlayWinEnding("AsylumWin");
} }
catch catch
{
try
{
survival_class.PlayWinEnding("TownWin");
}
catch
{ {
survival_class.PlayWinEnding("Win"); survival_class.PlayWinEnding("Win");
} }
@@ -91,3 +151,4 @@ namespace DevourClient.Hacks
} }
} }
} }
}

View File

@@ -0,0 +1,36 @@
using HarmonyLib;
namespace DevourClient.Hooks
{
public class Hooks
{
/*
[HarmonyPatch(typeof(UIPerkSelectionType))]
[HarmonyPatch(nameof(UIPerkSelectionType.SetLocked))] //annotation boiler plate to tell Harmony what to patch. Refer to docs.
static class UIPerkSelectionType_SetLocked_Patch
{
static void Prefix(ref bool locked, ref int cost)
{
MelonLoader.MelonLogger.Msg("cost : "+cost);
MelonLoader.MelonLogger.Msg("locked : " + locked);
locked = false;
cost = 0;
return;
}
}
*/
[HarmonyPatch(typeof(NolanBehaviour))]
[HarmonyPatch(nameof(NolanBehaviour.SetIsBeingKnockedOut))] //annotation boiler plate to tell Harmony what to patch. Refer to docs.
static class NolanBehaviour_SetIsBeingKnockedOut_Patch
{
static void Prefix(ref bool enable)
{
MelonLoader.MelonLogger.Msg("called ! : " + enable);
enable = false;
return;
}
}
}
}

View File

@@ -8,8 +8,13 @@ namespace DevourClient
public class Load : MelonMod public class Load : MelonMod
{ {
bool flashlight_toggle = false; bool flashlight_toggle = false;
bool flashlight_reset = false;
bool flashlight_colorpick = false; bool flashlight_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 = 0.5f;
bool spam_message = false; bool spam_message = false;
@@ -26,23 +31,46 @@ namespace DevourClient
Settings.Settings.menu_enable = !Settings.Settings.menu_enable; Settings.Settings.menu_enable = !Settings.Settings.menu_enable;
} }
if (this.flashlight_toggle && !flashlight_reset && Player.IsInGame()) if (this.flashlight_toggle && Player.IsInGame())
{ {
flashlight_reset = true;
Hacks.Misc.BigFlashlight(false); Hacks.Misc.BigFlashlight(false);
MelonLogger.Msg("Big Flashlight enabled !");
} }
else if (!this.flashlight_toggle && flashlight_reset && Player.IsInGame()) else if (!this.flashlight_toggle && Player.IsInGame())
{ {
flashlight_reset = false;
Hacks.Misc.BigFlashlight(true); Hacks.Misc.BigFlashlight(true);
MelonLogger.Msg("Big Flashlight disabled !");
} }
if (this.spam_message) if (this.spam_message)
{ {
Hacks.Misc.MessageSpam(Settings.Settings.message_to_spam); Hacks.Misc.MessageSpam(Settings.Settings.message_to_spam);
} }
if (this.level_70 != this.level_666 && !Player.IsInGame())
{
if (this.level_70)
{
Hacks.Misc.SetRank(70);
}
else
{
Hacks.Misc.SetRank(666);
}
}
if (this.change_server_name && !Player.IsInGame())
{
Hacks.Misc.SetServerName("patate on top !");
}
if (this.change_steam_name && !Player.IsInGame())
{
Hacks.Misc.SetSteamName("patate");
}
if (this.fly && Player.IsInGame())
{
Hacks.Misc.Fly(this.fly_speed);
}
} }
public override void OnGUI() public override void OnGUI()
@@ -51,7 +79,14 @@ namespace DevourClient
{ {
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
this.flashlight_toggle = GUI.Toggle(new Rect(Settings.Settings.x + 10, Settings.Settings.y + 100, 150, 20), this.flashlight_toggle, "Big Flashlight"); //Checkbox Flashlight this.flashlight_toggle = GUI.Toggle(new Rect(Settings.Settings.x + 10, Settings.Settings.y + 100, 150, 20), this.flashlight_toggle, "Big Flashlight"); //Checkbox Flashlight
this.spam_message = GUI.Toggle(new Rect(Settings.Settings.x + 10, Settings.Settings.y + 220, 150, 20), this.spam_message, "Chat Spam"); //Checkbox Chat Spam this.spam_message = GUI.Toggle(new Rect(Settings.Settings.x + 10, Settings.Settings.y + 250, 150, 20), this.spam_message, "Chat Spam"); //Checkbox Chat Spam
this.level_70 = GUI.Toggle(new Rect(Settings.Settings.x + 10, Settings.Settings.y + 190, 150, 20), this.level_70, "Level 70"); //Checkbox lvl 70
this.level_666 = GUI.Toggle(new Rect(Settings.Settings.x + 10, Settings.Settings.y + 220, 150, 20), this.level_666, "Level 666"); //Checkbox lvl 70
this.change_server_name = GUI.Toggle(new Rect(Settings.Settings.x + 200, Settings.Settings.y + 40, 150, 20), this.change_server_name, "Change server name"); //Checkbox servername
this.change_steam_name = GUI.Toggle(new Rect(Settings.Settings.x + 200, Settings.Settings.y + 70, 150, 20), this.change_steam_name, "Change steam name"); //Checkbox servername
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, 0f, 1f); //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
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"))
{ {
@@ -93,13 +128,7 @@ namespace DevourClient
MelonLogger.Msg("Here are your keys !"); MelonLogger.Msg("Here are your keys !");
} }
if (GUI.Button(new Rect(Settings.Settings.x + 10, Settings.Settings.y + 190, 150, 20), "Rank 70")) if (GUI.Button(new Rect(Settings.Settings.x + 10, Settings.Settings.y + 280, 150, 20), "Instant WIn") && Player.IsInGame())
{
Hacks.Misc.MaxRank();
MelonLogger.Msg("EZ LV 70");
}
if (GUI.Button(new Rect(Settings.Settings.x + 10, Settings.Settings.y + 250, 150, 20), "Instant WIn") && Player.IsInGame())
{ {
Hacks.Misc.InstantWin(); Hacks.Misc.InstantWin();
MelonLogger.Msg("EZ Win"); MelonLogger.Msg("EZ Win");

View File

@@ -1,4 +0,0 @@
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")]

View File

@@ -1,3 +1,7 @@
# The Town Update
Everything should be 100% fixed and working for the last update of Devour, have fun !
Also if you pay attention to the code you'll see a "Hooks" file that contains a Prefix for SetIsBeingKnockedOut, this would normally sets a godmode but as i'm a pussy i'm too scared to test this so yeah, you may be in godmode 24/7. Please create an issue for the feadback of this feature.
# DevourClient # DevourClient
I wasn't home for 2 days so i made that, i learnt a lot about C# programming and about Unity IL2CPP game hacking. I wasn't home for 2 days so i made that, i learnt a lot about C# programming and about Unity IL2CPP game hacking.
@@ -12,6 +16,7 @@ ps : my computer was really bad so i couldn't do a lot of testing in game becaus
Well at this point i don't really know, i think there is some sort of native Unity anti cheat template but it doesn't seem active. You're fine, no anti cheat ! Well at this point i don't really know, i think there is some sort of native Unity anti cheat template but it doesn't seem active. You're fine, no anti cheat !
## Features ## Features
Everything about spoofing ehre (steam name, server name, level...) will persist if you don't uncheck it (it will be reseted when you'll restart the game obv).
* An IMGUI menu thanks to UnityEngine * An IMGUI menu thanks to UnityEngine
* Fully compatible with the new IL2CPP version of the game * Fully compatible with the new IL2CPP version of the game
* Detects if you're in game (with bad code lol), so no chances of crashing on main menu by activating features * Detects if you're in game (with bad code lol), so no chances of crashing on main menu by activating features
@@ -23,11 +28,15 @@ Well at this point i don't really know, i think there is some sort of native Uni
* Doors unlocker (should work fine, though it doesn't seem to work sometimes) * Doors unlocker (should work fine, though it doesn't seem to work sometimes)
* Keys teleporter (broken, works sometimes but doesn't TP all the keys for some reasons) * Keys teleporter (broken, works sometimes but doesn't TP all the keys for some reasons)
* LV 70 (puts you to the max level of the game !) * LV 70 (puts you to the max level of the game !)
* LV 666 (secret level, thanks to the guy who told me it exists lol)
* Steam name spoofer (sets it to "patate", again no input text :/)
* Server name spoofer (sets it to "patate on top !", again no input text :/)
* Fly !! YES ! YOU CAN FLY ! You can also change the speed of it (left shift : down, space : up, up arrow : forward, back arrow : backward, left arrow : left, right arrow : right)
* Instant Win (allows you to win instantaniously on any map, works in singleplayer, but not as a client. May be working as host) * Instant Win (allows you to win instantaniously on any map, works in singleplayer, but not as a client. May be working as host)
## Installation ## Installation
0. Download the release version or build it from source. 0. Download the [release version](https://github.com/ALittlePatate/DevourClient/releases/) or [build it from source](https://github.com/ALittlePatate/DevourClient#building-from-source).
1. Install [MelonLoader](https://github.com/LavaGang/MelonLoader/releases/tag/v0.4.3) to Devour. 1. Install [MelonLoader](https://github.com/LavaGang/MelonLoader/releases/tag/v0.4.3) to Devour.
2. Start your game. A cmd should appear, don't close it, MelonLoader is installing and decompiling Devour's game assemblies. 2. Start your game. A cmd should appear, don't close it, MelonLoader is installing and decompiling Devour's game assemblies.
3. Wait for the process to finish, once it's done close the game. 3. Wait for the process to finish, once it's done close the game.
@@ -41,11 +50,12 @@ Well at this point i don't really know, i think there is some sort of native Uni
## Building from source ## Building from source
0. Clone the repository 0. Clone the repository
1. Install MelonLoader (see Installation) 1. Install MelonLoader (see [Installation](https://github.com/ALittlePatate/DevourClient#installation))
2. Open the solution file in Visual Studio (i used 2019, i don't know about the compatibility with the other versions) 2. Open the solution file in Visual Studio (i used 2019, i don't know about the compatibility with the other versions)
3. Go to : Project --> Add a reference --> Browse --> Click on the browse button in the down right corner of the window. 3. Go to : Project --> Add a reference --> Browse --> Click on the browse button in the down right corner of the window.
4. Add those files : 4. Add those files :
* `C:\Program Files (x86)\Steam\steamapps\common\Devour\MelonLoader\MelonLoader.dll` * `C:\Program Files (x86)\Steam\steamapps\common\Devour\MelonLoader\MelonLoader.dll`
* `C:\Program Files (x86)\Steam\steamapps\common\Devour\MelonLoader\0Harmony.dll`
* `C:\Program Files (x86)\Steam\steamapps\common\Devour\MelonLoader\Managed\UnityEngine.IMGUIModule.dll` * `C:\Program Files (x86)\Steam\steamapps\common\Devour\MelonLoader\Managed\UnityEngine.IMGUIModule.dll`
* `C:\Program Files (x86)\Steam\steamapps\common\Devour\MelonLoader\Managed\UnityEngine.InputLegacyModule.dll` * `C:\Program Files (x86)\Steam\steamapps\common\Devour\MelonLoader\Managed\UnityEngine.InputLegacyModule.dll`
* `C:\Program Files (x86)\Steam\steamapps\common\Devour\MelonLoader\Managed\bolt.user.dll` * `C:\Program Files (x86)\Steam\steamapps\common\Devour\MelonLoader\Managed\bolt.user.dll`
@@ -55,6 +65,7 @@ Well at this point i don't really know, i think there is some sort of native Uni
* `C:\Program Files (x86)\Steam\steamapps\common\Devour\MelonLoader\Managed\UnityEngine.CoreModule.dll` * `C:\Program Files (x86)\Steam\steamapps\common\Devour\MelonLoader\Managed\UnityEngine.CoreModule.dll`
* `C:\Program Files (x86)\Steam\steamapps\common\Devour\MelonLoader\Managed\Il2Cppmscorlib.dll` * `C:\Program Files (x86)\Steam\steamapps\common\Devour\MelonLoader\Managed\Il2Cppmscorlib.dll`
* `C:\Program Files (x86)\Steam\steamapps\common\Devour\MelonLoader\Managed\Assembly-CSharp.dll` * `C:\Program Files (x86)\Steam\steamapps\common\Devour\MelonLoader\Managed\Assembly-CSharp.dll`
* `C:\Program Files (x86)\Steam\steamapps\common\Devour\MelonLoader\Managed\Opsive.UltimateCharacterController.dll`
* `C:\Program Files (x86)\Steam\steamapps\common\Devour\MelonLoader\Managed\UnityENgine.InputModule.dll` * `C:\Program Files (x86)\Steam\steamapps\common\Devour\MelonLoader\Managed\UnityENgine.InputModule.dll`
* `C:\Program Files (x86)\Steam\steamapps\common\Devour\MelonLoader\Dependencies\Il2CppAssemblyGenerator\Il2CppUnhollower\UnhollowerBaseLib.dll` * `C:\Program Files (x86)\Steam\steamapps\common\Devour\MelonLoader\Dependencies\Il2CppAssemblyGenerator\Il2CppUnhollower\UnhollowerBaseLib.dll`
* `C:\Program Files (x86)\Steam\steamapps\common\Devour\MelonLoader\Dependencies\Il2CppAssemblyGenerator\Il2CppUnhollower\UnhollowerRuntimeLib.dll` * `C:\Program Files (x86)\Steam\steamapps\common\Devour\MelonLoader\Dependencies\Il2CppAssemblyGenerator\Il2CppUnhollower\UnhollowerRuntimeLib.dll`
@@ -84,7 +95,7 @@ For teaching me the basics about Devour game hacking, and i pasted the Key TP ha
## Contributing ## Contributing
Open an issue or make a pull request, i'll be glad to improve my project with you ! Open an [issue](https://github.com/ALittlePatate/DevourClient/issues/new) or make a [pull request](https://github.com/ALittlePatate/DevourClient/pulls), i'll be glad to improve my project with you !
## License ## License