Planned Better Quest Plugin Needed

magnumk

Donor
Customer
Looking for a new quest plugin that’s built for big servers: easy to configure, clean UI, lots of mission variety, and strong compatibility with events/plugins.

Must-have features

  • Quest NPC(s) that admins can spawn and move/relocate anytime (more then one NPC, configurable to offer different kinds of quests)
  • Optional CopyPaste “quest house” per NPC
  • Position system:
    • Save custom positions (admin command)
    • Choose random from defined positions (to be able to spawn NPC/s in map unique prefabs)
    • Optional generated/random positions with rules (biomes/monuments/water checks.. etc.)
  • Modern UI + mini quest tracker
  • Quest description panel needs a scrollbar for long text
  • SQL support to store quests, statics and quest progression
  • Web interface to create/edit quests & config (no manual JSON) <-- Must have to generate the json file,
    • Must render HTML color codes properly (don’t show raw codes)

Quest NPC interface (player-facing): detailed
  • Interact key opens a “Quest Board” UI (no chat spam). Top area shows:
    • NPC name/title + short intro text (supports formatted text/colors)
    • Optional category buttons/tabs (Starter / Events / Farming / etc.)
  • Three main tabs
    1. Available
      • List of quests with: name, short summary, difficulty/icon, estimated time (optional), rewards preview
      • Filters: category, “repeatable”, “cooldown ready”, search box (optional but nice)
    2. Active
      • Shows player’s current quests with progress bars per objective
      • “Track” toggle to pin to mini tracker
      • “Abandon” button (if allowed)
    3. Completed / Turn-in
      • Shows quests ready to complete + recent completions
      • If the quest requires delivery/turn-in: shows a turn-in panel with required items and remaining counts
  • Quest details panel (right side)
    • Full description with scrollbar
    • Objectives list (supports multi-object and multi-item delivery)
    • Rules display: cooldown, repeatable, time limit (if used)
    • Rewards list (items/blueprints/custom items/commands/currency)
  • Turn-in / Delivery flow
    • Button: “Deliver Items” (only appears when the quest needs delivery)
    • Shows item list with remaining amounts, supports multiple item types
    • Player can deliver partial amounts (optional), UI updates live
    • “Complete Quest” becomes available only when requirements are met
  • Quality-of-life
    • Clear error messages in UI (inventory full, missing items, quest locked by requirements, cooldown not ready)
    • Optional NPC responses on: greeting, accept, complete (text + optional sound)
    • Marker/waypoint support for quest locations (optional)
  • Admin-side NPC controls (minimal, but needed)
    • Spawn/move NPC, assign categories, assign CopyPaste house preset, assign position group/random rules
    • Preview NPC UI + offered quests without needing player account (optional)

Standard quest types (baseline)

  • Gather
  • Kill / Explode / Destroy (entities/NPCs/targets)
  • Craft
  • Research
  • Loot (barrels + containers)
  • Upgrade building (include honeycomb support)
  • Use access cards
  • Install/setup objects (e.g., place 3 workbences etc..) support multiple objects in one step
  • Buy from NPC
  • Hack locked crate
  • Recycle items
  • Grow & harvest plants
  • Fishing (rod + trap)
  • Delivery to quest NPC support multiple item types in one delivery
  • Cooking
  • Honeycomb

Compatibility / integrations to include


Rewards:

A quest can have multiple different rewards.
  • Default items
  • Custom Items (plugin-defined rewards)
  • Command Rewards (server actions as rewards)

That’s the full “minimum spec” for a quest system that’s easy to run long-term and scales well with custom content and events.

This is likely just the first post... will need more details. 🙃
 
Back
Top
Chat commands start with a /, while console commands can be entered directly in the F1 console or server console. Use find <keyword> in console to search for available commands related to the plugin. Parameters in < > are required, while [ ] are optional.
This plugin uses Oxide's permission system. Grant or revoke permissions using oxide.grant and oxide.revoke. You can assign them to individual players or groups using their Steam id or group name.
Settings are stored in the config file found under the config/ directory. You can edit this file manually, then reload the plugin to apply your changes.
Persistent data is saved in the data/ directory. This includes things like saved settings, usage stats, or player progress depending on the plugin. Deleting a data file will reset stored progress or customizations.
Language files are located in the lang/ folder. To translate messages, copy the en.json file into your target language folder (e.g. fr, de) and edit the values. Reload the plugin after changes to apply new messages.
This section lists public methods exposed by the plugin for use in other plugins. You can call these via the CallHook method. Ensure the plugin is loaded before calling its API to avoid null reference errors.
These are custom hooks that other plugins can listen for. Simply define a method with the same name and expected parameters in your plugin to handle the event. Hooks are triggered at key moments and are useful for extending or reacting to plugin behavior.
These hooks are injected into the game's code using Harmony. They let the plugin run code at key points in the game's internal logic. You can return values to block or modify behavior. Use with caution — these are powerful and can affect core mechanics.
Cart