Skip to content
/ quest Public

⚙️ Quest is a modular client framework for creating mods, cheats, and tools for AdventureQuest 3D. It empowers developers to patch game behavior, inject custom UI, and build tools using a clean and extensible API.

Notifications You must be signed in to change notification settings

Sxip/quest

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Quest Logo

Quest is a modular client framework for creating mods, cheats, and tools for AdventureQuest 3D. It empowers developers to patch game behavior, inject custom UI, and build tools using a clean and extensible API.


📚 Table of Contents



✨ Features

  • 🔌 Modular Plugin System – Build and hot-load mods via a structured plugin architecture.
  • 🧠 Harmony Patching – Modify the behavior of in-game methods with IL patches.
  • 💬 Command System – Register custom commands and handlers.
  • 🎨 Custom GUI Framework – Create responsive, themed in-game UI with a fluent interface.
  • 🛠️ Hot Reloading – Develop and test your UI/tools in real time.

📦 Installation

  1. Download and install the latest version of AdventureQuest 3D.
  2. Get the latest Quest release from the Releases page.
  3. Extract Quest into the AQ3D installation folder (or any location).
  4. Launch the game using Launcher.exe.

🧠 How It Works

Quest injects itself into AQ3D's process and exposes a fully managed runtime for developing real-time plugins. Using Harmony for patching and a built-in GUI engine, Quest allows you to seamlessly extend or alter the game's behavior and interface.


🖼️ Using the GUI Library

Quest provides a powerful and themed GUI system designed specifically for AQ3D.

Features:

  • Grid layout system with smart wrapping and column spans
  • Consistent dark theme
  • Dynamic element creation (labels, inputs, buttons, text areas)
  • Lambda bindings for input and event logic
  • Centralized window management via QuestUIManager

📋 Example: Basic Window

using Library.Quest.Attributes;
using Library.Quest.Window;
using Library.Quest.Window.Elements;

[QuestWindow("Simple Example", "MyWindowId", 300, 150, true)]
public class SimpleExampleWindow : QuestWindow
{
    private string _inputText = "";
    private LabelElement _resultLabel;

    public SimpleExampleWindow() : base("Simple Example", "MyWindowId", 300, 150, true)
    {
        SetGridLayout(3, 1);
        RenderControls();
    }

    private void RenderControls()
    {
        InputField("Enter text here", value => _inputText = value);
        Button("Process", OnButtonClicked);
        _resultLabel = Label("Results will appear here");
    }

    private void OnButtonClicked()
    {
        _resultLabel.SetText($"You entered: {_inputText}");
    }
}

🧭 Opening Windows

To open your window from anywhere in your code:

using Library.Quest.Managers;

QuestUIManager.Open("MyWindowId");

Windows are automatically managed by ID and won’t reopen duplicates.


📑 Creating a Menu Entry

You can define interface menu items that appear in Quest’s mod UI:

using Library.Quest.Attributes;
using Library.Quest.Managers;

[InterfaceMenuItem("My Window")]
public class MyWindowMenuItem
{
    [MenuItemClicked]
    public void Show()
    {
        QuestUIManager.Open("MyWindowId");
    }
}

📁 Directory Structure (Recommended)

/YourPlugin
│
├── PluginMain.cs               # Entry point for your mod
├── Windows/
│   └── SimpleExampleWindow.cs  # Custom QuestWindow implementations
├── Commands/
│   └── YourCommand.cs          # Register command handlers
└── UI/
    └── MenuItems.cs            # Menu integrations

🧱 Building Your First Plugin

To write a Quest plugin:

  1. Create a class with [QuestPlugin] attribute.
  2. Register your windows, commands, or event hooks in OnLoad().
  3. Use QuestUIManager and other systems to control behavior.

Need help? Check the Wiki (coming soon).

❓ FAQ

Q: Is this allowed by AQ3D?
A: Use Quest at your own risk. It is not endorsed or supported by Artix Entertainment.

Q: Can I create bots/macros with this?
A: Yes, Quest gives you full access to game memory and methods. How you use it is up to you.

Q: How do I update?
A: Download the latest release and replace the files in your Quest directory.

About

⚙️ Quest is a modular client framework for creating mods, cheats, and tools for AdventureQuest 3D. It empowers developers to patch game behavior, inject custom UI, and build tools using a clean and extensible API.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages