feat: Enhance minigame effects and UI interactions
- Implemented LeaveMinigameQueueEffect to handle player removal from queues and runtime. - Added OpenMinigameQueueUIEffect to manage the opening of the minigame queue UI. - Introduced StartPlayerTimerEffect and StopPlayerTimerEffect for managing player timers and scoring. - Enhanced PlaceBlocksEffect with options for filling volumes and hollow placements. - Updated SpawnItemEffect to fix codec handling for item IDs. - Added MountPlayerEffect and DismountPlayerEffect for player interactions with NPCs. - Improved StartQueuedMinigameEffect to check player counts before starting games. - Added localization entries for new effects and UI elements. - Updated manifest to include HyUI as a dependency.
This commit is contained in:
@@ -0,0 +1,51 @@
|
||||
# King of the Hill — Overview
|
||||
|
||||
In this tutorial you will build a **King of the Hill** minigame with three rounds. Each round has a dedicated capture point in a different part of the arena. Players earn one point per second while standing on the active hill. The player with the most points after all three rounds wins.
|
||||
|
||||
## What You Will Build
|
||||
|
||||
| Volume / File | Purpose |
|
||||
|---|---|
|
||||
| `King_Of_The_Hill.json` | Minigame definition — rounds, timing, HUD, PvP rules |
|
||||
| Queue pad | Players step on it to join the waiting session |
|
||||
| Start button | Game master trigger to launch the game and set phase to ACTIVE |
|
||||
| Arena boundary | Map discovery tag — tells the runtime which map it is running on |
|
||||
| Spawn zone | Where players enter to activate and start playing |
|
||||
| Capture Zone A | Active during Round 1 — scores +1/second while standing inside |
|
||||
| Capture Zone B | Active during Round 2 — scores +1/second while standing inside |
|
||||
| Capture Zone C | Active during Round 3 — scores +1/second while standing inside |
|
||||
| Round 2 / Round 3 signal volumes | Announce the new round when it starts |
|
||||
| End-game timer volumes | Detect when Round 3 finishes and end the game |
|
||||
|
||||
## Game Flow
|
||||
|
||||
```
|
||||
1. Players step on the queue pad.
|
||||
2. Game master triggers the start button (or add auto-start logic).
|
||||
3. Runtime starts → phase is set to ACTIVE.
|
||||
4. Players enter the spawn zone → they become ACTIVE (HUD shown, items given).
|
||||
5. Round 1 runs for 120 seconds. Capture Zone A scores.
|
||||
6. Round 1 ends → Round 2 begins. Capture Zone B scores.
|
||||
7. Round 2 ends → Round 3 begins. Capture Zone C scores.
|
||||
8. Round 3 ends → game_end timer fires → EndMinigame.
|
||||
9. Scores are tallied. Highest score wins. Arena resets.
|
||||
```
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- A Hytale server with core-minigames installed.
|
||||
- A world with three distinct hilltop areas for your capture zones (A, B, C).
|
||||
- A lobby or staging area where players queue before the game begins.
|
||||
- Basic familiarity with placing trigger volumes and adding conditions/effects in the editor.
|
||||
|
||||
## Files in This Tutorial
|
||||
|
||||
| File | Contents |
|
||||
|---|---|
|
||||
| `02-minigame-definition.md` | JSON definition with all fields explained |
|
||||
| `03-join-and-start.md` | Queue pad, start button, map boundary |
|
||||
| `04-spawn-and-activation.md` | Spawn zone + player activation |
|
||||
| `05-capture-zones.md` | The three scoring capture zones |
|
||||
| `06-round-signals.md` | Round announcements and end-game timer |
|
||||
| `07-end-and-reset.md` | Ending the game and resetting the arena |
|
||||
| `08-full-example-files.md` | All complete configurations in one place |
|
||||
Reference in New Issue
Block a user