Skip to content

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 exportsIsInSafezone, GetActiveZone, GetZoneFlag, CanDropItems, CanRob, CanStash and 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.