# Roblox Studio test instructions

These are **source examples, not completed client commissions**. They have not been runtime-tested in Roblox Studio in this environment. Test them in a new, separate experience before presenting them as working demos.

## Demo A — Daily Rewards + Promo Codes (one shared demo)

1. Create a **new test experience** in Roblox Studio (do not use a production game).
2. Publish that test experience once.
3. In **ServerScriptService**, insert a normal **Script** and paste the entire content of `RewardCore.server.luau`.
4. In **StarterPlayer > StarterPlayerScripts**, insert a **LocalScript** and paste `RewardsPanel.client.luau`.
5. In **Game Settings > Security** on the **test experience only**, enable **Studio Access to API Services** to test DataStore saving. Roblox warns that test writes can affect live game data if the same experience is used.
6. Play the experience. The rewards panel should appear. Use the daily claim button once, then attempt a second time.
7. Try the promo codes `WELCOME100` and `TEST50`; repeat a code to verify that it cannot be claimed again.
8. Stop and start a new test session. Check that the Coins value and cooldown were saved.
9. Try with two players and check the Output panel for errors.

**Known demo constraints:** This package stores its own demo `Coins` balance, and must be integrated with an existing currency system before use in another game. It intentionally refuses rewards if DataStore loading fails. Cross-server writes use `UpdateAsync`. After an ambiguous save error, rejoin and inspect your balance before retrying. It has no administrative code management interface.

## Demo B — Day / Night

1. In any separate test experience, insert `DayNightCycle.server.luau` as a normal Script in **ServerScriptService**.
2. Press Play. Check that the time and lighting change smoothly.
3. Change `CYCLE_SECONDS` in the file to make the day longer or shorter.

## Suggested evidence for a Roblox recruiter

- Record **10–15 seconds** of the rewards UI in Roblox Studio.
- Show a second claim being rejected, and rejoin to demonstrate persistence.
- Record a quick day/night time-lapse.
- Explain exactly what was tested and what was created with AI assistance.
- Never present these examples as previous paid client work.

Official documentation:
- https://create.roblox.com/docs/cloud-services/data-stores
- https://create.roblox.com/docs/scripting/events/remote

## Demo C — Map Voting (Luau backend + GUI)

1. Open a new empty Roblox Studio **test** experience.
2. Place `MapVoting.server.luau` in `ServerScriptService` as a normal Script.
3. Place `MapVotingPanel.client.luau` in `StarterPlayer > StarterPlayerScripts` as a LocalScript.
4. Press **Play**. The voting UI should appear with three options.
5. Vote for each option in turn. The earlier vote should be replaced, **not** counted twice.
6. Use the **Test > Start** multiplayer test to verify that each player's votes are counted separately.
7. Wait 25 seconds to see the winning map; after nine more seconds, another vote should start.
8. Test on a mobile-size Studio emulator as well. Capture any Output errors and fix them before presenting this as a verified Roblox demo.

**Scope:** This is a voting module, not a full game round engine. It **does not** load maps, teleport players, handle combat, choose spawn points or save votes across servers. The website preview is a separate JavaScript implementation with different timings.
