Sample Game Project
WARNING
Our MelonLoader plugin is no longer being developed. Please instead check out our new BepInEx plugin. We apologise for the incomplete documentation at this time.
Prerequesets: Microsoft Visual Studio
Downloading
Visit MelonLoader's GitHub page to learn more about the project and download the latest files. Additionally, download the Melonloader Crowd Control Resources to create your own packs.
Download the Melonloader Crowd Control Resources in order to create your own packs.
After downloading the zip file, navigate to ML_CrowdControl and open the solution using Microsoft Visual Studio.
Open up the TestEffectA.cs. It will show you a sample of what a Crowd Control class should look like.
Variables
- ID: The ID of the effect. Must be unique from each other
- Name: The name of an effect.
- Descriptiopn: The description of the effect.
Timer Only Variables
- Duration: The default duration time for the effect.
Bid War Only Variables
- BidEntries: The list of bid choices that can be made.
Optional Override Functions
- OnLoad: Ran when the effect is loaded.
- OnUpdate: Ran every frames.
- OnTriggerEffect: Ran when this effect is triggered.
- OnConnecting: Ran when an connection attempt is made.
- OnConnectionError: Ran when a connection error occurs.
- OnConnected: Ran when you establish a connection to the Crowd Control server.
- OnAuthenticated: Ran when the Crowd Control user is authenticated.
- OnAuthenticationFailed: Ran when the Crowd Control user authentication fails.
- OnDisconnected: Ran when the user disconnects with the Crowd Control Server.
- OnMessage: Ran when a message is sent.
Optional Timer Only Functions
- ShouldRun: Returns true if the timer effect is allowed to run.
- OnPause: Ran when the timed effect is paused.
- OnResume: Ran when the timed effect resumes.
- OnReset: Ran when the timed effect is reset.
- OnStop: Ran when the timed effect finishes.
Building the DLL
The DLL of your effect pack will be published into the ML_CrowdControl/Output* folder. Three versions of the dll will be made. You will later need the dll version with the game you're trying to inject into.
Next section explains how to create an effect for the game.