Features
- Modular Architecture: Extend the functionality of the game by creating plugins that can be loaded and unloaded at runtime.
- Harmony Patching: Apply patches to game methods to modify their behavior.
- Command System: Register custom commands to interact with the game.
Current Release (Basic Stage)
- Packet Sniffer
- Plugin Manager
- Chat Commands
It's in the basic stage right now, the source code is available for contributions. Feel free to fork the repository and submit pull requests.
Commands Available
Commands are prefixed with !:
- !bank - Opens your bank interface.
- !fly - Enables flying mode.
- !help - Displays a list of available commands.
- !jumpheight - Adjusts your jump height.
- !quest - Opens the quest interface.
- !shop - Opens the shop interface.
- !speed - Adjusts your movement speed.
Developing Plugins
To develop plugins for Quest:
1. Add Library.dll to your project references.
2. Don't forget to create a Unity loader, like any other Mono injector.
3. Place all your compiled class libraries in the Quest plugin folder:
C:\Program Files (x86)\Steam\steamapps\common\AdventureQuest3D\aq3d \Quest.
Example Plugin Code
Here’s an example plugin using the Loader class:
Code:
public class Loader : QPlugin
{
private static GameObject _gameObject;
public override void Load()
{
_gameObject = new GameObject();
_gameObject.AddComponent<Initializer>(); // Create your own initializer class
UnityEngine.Object.DontDestroyOnLoad(_gameObject);
}
public override void Unload()
{
UnityEngine.Object.Destroy(_gameObject);
MessageManager.Instance.Remove("test");
}
public override string Name => "Example Plugin";
public override string Author => "0x12d";
public override string Description => "This is an example plugin.";
}
Menu Controls
- To open the menu, press the up arrow key.
- To close the menu, press the down arrow key.