> For the complete documentation index, see [llms.txt](https://atiysus-organization.gitbook.io/aty-scripts/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://atiysus-organization.gitbook.io/aty-scripts/zone-creator/getting-started/dependencies.md).

# Dependencies

### Required

| Resource     | Why                                                                                                                                  |
| ------------ | ------------------------------------------------------------------------------------------------------------------------------------ |
| **aty\_lib** | The bridge that abstracts your framework (QBCore / ESX / Qbox), inventory, and player data. Must start **before** `aty_zonecreator`. |

That's the only hard dependency. The framework itself (QBCore/ESX/Qbox) is detected **through** `aty_lib` — you don't configure it here.

### Optional (auto-detected)

These are used **if present**; nothing breaks when they're missing.

| Resource              | Used for                                                                                                                                                                                                            |
| --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **aty\_3dsound**      | Zone **ambient sound** (looped 3D audio at the zone centre). Provide source URLs in `Config.AmbientSounds`.                                                                                                         |
| **qb-weathersync**    | Handled automatically — the resource pauses/resumes it while a zone weather override is active.                                                                                                                     |
| **Inventory scripts** | `ox_inventory`, `qb-inventory`, `ps-inventory`, `lj-inventory`, `qs-inventory`, `codem-inventory`, `tgiann-inventory`, `origen_inventory`, `gfx-inventory`, `esx_inventoryhud` — for the **Inventory** restriction. |
| **Voice scripts**     | `pma-voice`, `mumble`, `saltychat`, `tokovoip` — for the **Voice** restriction.                                                                                                                                     |
| **Phone scripts**     | `lb-phone`, `17mov_Phone`, `gksphone`, `qs-smartphone` (+ statebag readers for `codem-phone`/`mPhone`, `roadphone`, `yseries`) — for the **Phone** restriction.                                                     |

#### Custom / unknown phone or weather sync

If your phone or weather-sync isn't auto-detected, wire it up via `Config.Integrations` in `config.lua`:

```lua
Config.Integrations = {
    onPhoneLock       = function(locked) exports['my-phone']:SetDisabled(locked) end,
    onWeatherOverride = function(taking) exports['my-weather']:PauseSync(taking) end,
}
```

### Map tiles (NUI)

The panel's map uses the same Leaflet CRS as `aty_mdt` (latlng = world coordinate). Zone shapes are stored **directly in world space** — no calibration is needed. Map tiles are loaded from a remote source; if they're unreachable the map falls back to a dark grid and zones stay fully editable.
