RoQuest [Beta] - An Abstract Quest System!

Documentation | Source

:wave: Introduction

Have you ever come across the common issue of needing to develop a quest system? This is often one of the most common yet complex systems developers come across when developing their games. RoQuest offers a clean and robust solution for this problem!

RoQuest allows you to implement all sorts of quests, chain them, and many more while only needing to focus on one thing: making your quests fun!

Get started in the official docs: Documentation


CollectCorn

CollectExample

:mag: Features

  • Reusable quest objectives
  • Quest LifeCycles
  • Get/Set player data
  • Repetable quests
  • Daily/Weekly quests
  • Quest Chains
  • Automatic Accept and delivery
  • Support for quest givers/delivers
  • Server โ†’ Client Replication
  • Many events
  • Functions to easily hook quest the system to a UI
  • Most functions run on O(1) complexity

:file_folder: Installation

There are 3 different ways of installing this package into your project! You can either download it from the releases page, download the Roblox model or install it via Wally!

Wally: Wally

Roblox Model: create.roblox.com/store/asset/17475376719

Releases: Releases ยท prooheckcp/RobloxStateMachine ยท GitHub

:orange_book: Example

You can find a copy unlocked place with an example world here!

( โœฆ ) RoQuest - Roblox

:star: Contributing

Please leave a star on GitHub , it helps a lot!

Pull requests are welcome. For major changes, please open an issue first

to discuss what you would like to change.

Please make sure to update tests as appropriate.

:page_facing_up: License

RoQuest/LICENSE.txt at main ยท prooheckcp/RoQuest (github.com)

24 Likes

:rocket: RoQuest V.0.1.1 IS NOW OUT!

:wrench:Changes

  • Added Functions

    • Quest:GetQuestObjectivesCount()
    • Quest:GetQuestObjectivesCompletedCount()
    • RoQuestServer:GetAvailableStaticQuests
    • Quest:GetTimeForUnavailable()
  • Added Events

    • RoQuestServer.OnTimeQuestAvailable
    • RoQuestServer.OnTimeQuestUnavailable
    • Quest.OnQuestObjectiveCompleted
    • RoQuestClient.OnQuestUnavailable
    • RoQuestServer.OnUnAvailableQuestChanged
    • RoQuestServer.OnAvailableQuestChanged
    • RoQuestServer.OnCompletedQuestChanged
    • RoQuestServer.OnDeliveredQuestChanged
    • RoQuestServer.OnInProgressQuestChanged
  • Fixes

    • Quest:GetTimeForAvailable()
    • Quest:IsObjectiveCompleted()
    • Fixing LifeCycles example
    • Adding error message for when PlayerData is in the wrong format
    • Fixed bug with player data not properly resetting
    • Fixed quest loading not calling proper event
    • Added error message for infinite yields with debug.traceback()
    • Fixing racing conditions by yielding until player data is ready
4 Likes

This is so helpful, I hope you can add more and add some complex quest.