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:
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.