# Other

### Key Functions & Events

* **`darkwoodheist:talk` (Event):**\
  Triggered when a player interacts with the NPC. This event checks cooldowns and the player’s inventory before starting the heist.
* **`StartHeist(playerArmed)` (Function):**\
  Spawns 11 boxes at random locations and, if the player is armed, spawns aggressive NPCs near each box.
* **`OpenBox(boxEntity)` (Function):**\
  Handles the interaction when a player opens a box. It displays a progress bar, grants rewards, and updates the box-open counter. When all boxes are opened, the heist is ended.
* **`spawnAggressiveNPC(boxEntity)` (Function):**\
  Spawns three aggressive NPCs around a given box when the player is found to have a firearm in their inventory.
* **`EndHeist()` (Function):**\
  Resets the heist status and sets the global cooldown timer.

### Notifications

The script uses the `vms_notifyv2` resource to display in-game notifications. All notification texts are managed through the `locales.lua` file for easy localization.
