BUPA Safezone Creator
BUPA Safezone Creator
BUPA Safezone Creator turns any patch of the map into a fully governed protected area — drawn by hand, in-game, with a free-flying camera. There is no coordinate hunting, no config editing to place a zone, and no restart to apply one: you fly over the spot, drop points on the ground to trace a polygon, name it, tick the rules it should enforce, and save. The zone syncs to every player instantly.
Under the hood each zone is a real ox_lib poly zone with a packed, per-zone rule set — everything from disabling PvP and holstering weapons to speed limits, anti-VDM, combat-log locking, item-drop blocking and job whitelisting. The server never trusts the client: every save is validated, clamped and rebuilt from a whitelist, and every create / edit / delete can be logged to Discord.
Quick start: an admin types /safezone, clicks New zone → Enter freecam, places at least 3 points (left-click), presses Enter to confirm, then names the zone, picks its rules and jobs, and hits Save zone. Done.
Key features
- Freecam polygon drawing — fly over the map and trace the exact shape you want; the area renders live as a glowing blue volume with adjustable height.
- Huge per-zone rule catalogue — 60+ toggles and values across combat, weapons, anti-grief, vehicles, movement, economy, world ambience and access, each enforced per-frame while a player is inside.
- Per-job & per-gang whitelisting — restrict entry to specific jobs (with minimum grade) or gangs; leave empty for everyone.
- JSON or database storage — store zones in a resource file or in oxmysql, switched with one config line.
- Anti-exploit server validation — the client is never trusted; points, jobs, rules and weapon lists are all type-checked and clamped against configurable limits.
- In-zone glass HUD — a clean badge showing the zone name and active protections (PvP disabled, weapons holstered, combat tag).
- Discord webhook logging — colour-coded embeds for create / edit / delete, with the admin, identifiers, points, jobs and active rules.
- Admin gate — the creator is locked behind ACE permissions, framework admin groups, or your own custom check.
- Combat-log lock — players who just fought get no protection for a set number of seconds, so they can't dive into a zone to escape a gunfight.
- Integration exports —
IsInSafezone,GetActiveZone,GetZoneFlag,CanDropItems,CanRob,CanStashand more, so your inventory / robbery / death scripts can respect a zone's rules.
Frameworks
The script auto-detects and bridges to the framework your server runs — no manual wiring:
- ESX
- QB-Core
- QBox
- Standalone (no framework)
Config.Framework = 'auto' picks the first running one. Force it ('esx' / 'qb' / 'qbox' / 'standalone') if you run more than one or rename resources.
Dependencies
| Resource | Required | Notes |
|---|---|---|
ox_lib |
Yes | Poly zones, callbacks, locale system and UI helpers. |
oxmysql |
Only if Config.Storage = 'db' |
Needed for database storage; not required for the default JSON storage. |
The weapon picker pulls its list and icons from your inventory (ox_inventory, qb-inventory, esx_inventory, tgiann-inventory or codem-inventory). This is auto-detected — the inventory itself is not a hard dependency, but the picker's icons only resolve once a supported inventory is running.