Files
HeruEdhel 49bbd2b871 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.
2026-06-11 17:17:54 -07:00

3.3 KiB

King of the Hill — Spawn Zone & Player Activation

Players are not automatically active when the game starts. They must enter the spawn zone, which triggers the activation lifecycle: inventory save, item giving, game mode change, and HUD display.


What Activation Does

When SetPlayerStatus ACTIVE fires for a player, the runtime:

  1. Saves their current inventory (if SavePlayerInventory = true, the default).
  2. Gives them their start items or assigned loadout (if any defined in the definition).
  3. Applies RequiredGameMode (Adventure in this tutorial).
  4. Shows the HUD (since ShowHud = true).

This only happens once per player per game. If the same player re-enters the spawn zone it is harmless — the runtime ignores duplicate ACTIVE requests.


Spawn Zone Volume

Place this volume at the area where players begin the round — typically a platform or small room at the edge of the arena that all players pass through when the game starts.

Volume type: Enter trigger

Tags:

Tag Value
MinigameId King_Of_The_Hill
MapId Hillside

Conditions:

Condition Fields Purpose
PlayerInMinigame MinigameId = King_Of_The_Hill Only fires for players who are actually in the runtime (not random passersby).
MinigamePhase MinigameId = King_Of_The_Hill, Phase = ACTIVE Prevents accidental activation while players are still in the lobby countdown.

Effects:

Effect Fields
SetPlayerStatus MinigameId = King_Of_The_Hill, Status = ACTIVE
SetSpawnPoint MinigameId = King_Of_The_Hill, DestinationId = 100,64,200 (replace with your spawn coordinates)

The SetSpawnPoint stores a respawn destination for each player. When a player dies during the game, the runtime automatically respawns them at their stored checkpoint. Replace 100,64,200 with the actual world coordinates of your spawn area center. You can also use the format world_name,X,Y,Z if the spawn is in a different world.


How Players Get to the Spawn Zone

In a typical KOTH setup, players are somewhere in the arena or lobby when the game starts. You have two options:

Option A — Players walk there. The spawn zone is accessible from the lobby area. When the game starts and phase becomes ACTIVE, players walk through the spawn zone on their way into the arena. This is the simplest approach and works well when the lobby and arena are adjacent.

Option B — Teleport on game start. Add a SignalPhaseStart=ACTIVE signal volume (covered in 06-round-signals.md) with a RespawnPlayer effect. This teleports all active players to their spawn on phase change.

For this tutorial, Option A is assumed. If using Option B, RespawnPlayer resolves the destination using the player's stored checkpoint from SetSpawnPoint, so the activation volume still needs to fire first. Consider placing the spawn zone between the lobby exit and the arena entrance so it is always traversed.


Respawn on Death

Because SetSpawnPoint is called at activation, player deaths during the game automatically respawn at those coordinates. No additional setup is required for basic respawning.

If you want players to respawn with a delay or only when a specific condition is met, add a RespawnPlayer effect to a separate signal or death-event volume.