A downloadable asset pack

Download NowName your own price

Not yet playtested in Roblox Studio.

Full version: Questwork: Quest & Objectives System (Luau) — https://mustafa-sec.itch.io/questwork-quest-objectives-system-luau 

Questwork Lite is a free, MIT-licensed subset of Questwork v1.0.1 for Roblox, written in Luau. It gives you one server-authoritative, linear quest chain: up to 10 quests, each with up to 3 count objectives.

WHAT YOU GET

  • One linear chain. Quests unlock in registration order; the previous quest must be Claimed first.
  • Count objectives only: up to 3 per quest, goals 1 to 1,000,000.
  • Quest fields: id, title, description, objectives, rewardText.
  • Lifecycle: Locked, Active, Completed, Claimed.
  • Server-authoritative progress. Snapshots go only to the owning player. Remotes are validated and rate limited (claim 5 per 10 seconds, snapshot 3 per 30 seconds).
  • A reward hook (onClaim). You grant rewards from your own data layer. Lite grants no currency itself and rolls a claim back if your hook throws.
  • A plain journal UI (J key or a button, progress tracks, a "Quest claimed" toast). Solid colours, one font, no images, no options.
  • Basic saving (see the warnings below).
  • A three-quest demo place with a marker, and three short specs.

WHAT LITE DOES NOT HAVE (read this before you decide)

  • No branching or prerequisite graphs, no expiry, no repeats, no availability windows, no categories.
  • No reward table and no automatic currency.
  • No themes, skin slots, image fallbacks or configurable UI.
  • Only the "adapter" configuration option. No clock, autosave, limit or remote-parent settings.
  • No unlock API, no public saveNow, no eraseUser, no isPersistent, and no Expired or SaveFailed signals.
  • Saving is basic: one attempt per load or save, no retry or backoff, no budget checks, no background load recovery, and no session locking. Do not use it for overlapping sessions without your own locking layer.
  • Studio uses memory only; progress is lost when you stop the test.
  • Definitions that use fields from the full version are rejected, not silently enabled. The Studio test sheet expects the error to name the field, but that check has not been run.

SAVING AND REWARDS: READ BEFORE PRODUCTION

  • On live servers it uses the key Questwork_v1 / Q_<UserId>.
  • A failed load or a failed save blocks claims. Temporary progress can stay visible after a failed load. A later successful save can clear a save block.
  • isLoaded means a session exists. It does NOT mean durable saving is ready.
  • A claim marks the quest Claimed before calling your hook, and rolls back to Completed if the hook throws. The hook and the quest save are not one atomic transaction. A hook that grants only part of a reward, or a crash, can duplicate rewards unless your own reward code is idempotent.
  • Do not call saving from inside a reward handler.

TESTING STATUS

  • Not yet playtested in Roblox Studio. The Lite build has not been playtested by the owner.
  • Live saving (DataStore) has NOT been playtested.
  • Three portable specs pass offline. Selene reports no errors (7 shadowing warnings) and formatting passes.
  • Full-source luau-analyze does not pass: the installed command-line tool does not support Roblox types and globals. Only the portable subset passes analysis. Full output is in CHECKS-Lite.md.
  • STUDIO_TEST.md in the zip is the Studio test sheet. Run it before you rely on this. It is marked NOT RUN.
  • Upgrading to the full version by swapping the same three folders is described in the README. No live data migration test was run.

INSTALL

With Rojo: run rojo serve default.project.json, connect the Studio plugin, sync and press Play. Or open QuestworkLite_v0.1.0.rbxlx for the three-quest marker demo: hold E near the marker, claim each completed quest before the next unlocks, and press J to open the journal.

The module-only QuestworkLite_v0.1.0.rbxm does not run by itself. Insert it, move Questwork to ReplicatedStorage, QuestworkServer to ServerScriptService and QuestworkClient to StarterPlayerScripts, then add your own server and client bootstrap (the demo folder shows both). Do not install Lite and the full version at the same time.

LICENSE

MIT, applies to the Lite code only. The licence of the full Questwork is separate and unchanged.

AI DISCLOSURE

The code and the text (documentation and this page) were made with AI assistance. The three images (cover and two previews) are deterministic Python/Pillow renders from a script, not output from an image-generation model. They are illustrations, not Studio screenshots, and use no paid art. The Roblox model files contain no art images.

FULL QUESTWORK

The full version adds prerequisite graphs, timing and repeats, themed and skinned UI, and retry and budget-aware persistence, plus more configuration and documentation: https://mustafa-sec.itch.io/questwork-quest-objectives-system-luau

Download

Download NowName your own price

Click download now to get access to the following files:

QuestworkLite_v0.1.0.zip 154 kB

Leave a comment

Log in with itch.io to leave a comment.