Skip to content

Map zones

Zones live on the map page under Map → Zones, in the web panel and in the in-game menu. A zone is an area with rules. The rules shape play; nobody is detected or punished.

ShapeHow it’s drawn
CircleClick the centre, drag the blue handle for the radius. Covers everything above and below (a column).
BoxClick the centre; the blue corner sets width and length, the purple handle turns it.
PolygonClick to add up to 64 points; drag a point to move it, + inserts one, right-click removes it.
SphereCentre, radius and a height (z). Only the ball itself counts.

Height: the panel map only knows X and Y. Turn on Limit the height and set the bottom and top (z) to keep a zone to one floor or below a roof. Without a limit the zone covers everything from the sea floor to the sky.

A polygon whose edges cross is not accepted. You can also move the centre (or add a polygon point) to a player’s position in game.

In the in-game menu press Draw in game. The menu closes and you aim with a laser:

KeyAction
EAdd a point (polygon) or move the centre here (circle, box, sphere).
BackspaceUndo the last point; with nothing placed, cancel.
Mouse wheelRadius (circle, sphere; Shift ×10) or heading (box).
Shift / Alt + wheelBox length / width.
↑ / ↓ (Shift: bottom)Top height (with Shift the bottom height).
HHeight limit on or off.
CtrlFine steps.
EnterDone: the menu opens again with your form and the new shape.

The lines show only while you draw. Your name, rules and other settings stay as they were.

A zone can carry several rules. Rules that take groups can leave out (or, for an entry permit, let in) jobs with a minimum grade, gangs with a minimum grade, all staff or one staff group. Job groups count only on duty makes an off-duty officer count like everyone else; frameworks without a duty status count everyone as on duty.

RuleWhat it does
No weaponsWeapons can’t be drawn inside; one in hand is put away (with ox_inventory through its own disarm). Drive-by is off. Fists work.
Speed limitThe driver’s top speed drops to the set km/h inside and comes back on leaving.
Safe zoneNo player damage to anyone inside, and nobody inside can hurt players outside. The server drops the hit. Exempt groups still deal damage.
Entry permitOnly the chosen groups can enter; anyone else is moved back to where they were just outside, with a short message. Staff are not let in automatically: add a staff group if they should enter.
No getting into vehiclesPlayers on foot inside can’t get into a vehicle. Driving through is fine.
Enter and leave messageA short text on the player’s screen when they enter or leave.
Staff logEntering and leaving are written to the Fiveops log under Zones.

The server decides who gets which rule: a player’s game only receives the rules that apply to that player, so an exempt officer’s game never sees the no-weapons rule. The list changes as soon as a character’s job, gang or duty changes.

The player’s game reports entering and leaving; the server checks that the zone has the log rule and that the player is near it, then limits how often it writes:

LimitValue
Same player, same zone, same wayOnce every 30 seconds
One player12 entries a minute
Whole server240 entries a minute

Adding, editing and deleting zones are logged under Zones too.

  • Show the border: players near the zone see a light wall along its edge.
  • Show it on the map: an area on the pause map and the minimap. A polygon shows as the rectangle around it.
  • Zone view (staff): in the in-game menu, Map → Zones → Zone view shows every zone’s border and name around you, including zones that are off. Only you see it.

Every zone can be copied as code for your own scripts: Copy as code → ox_lib (lib.zones.poly, box, sphere) or PolyZone (PolyZone:Create, BoxZone:Create, CircleZone:Create). Both libraries turn a box the same way as Fiveops, so the copied zone covers the same area. Fiveops itself doesn’t need ox_lib or PolyZone.

Fiveopsox_libPolyZone
Circle without heightPolygon with 32 points, full-height slabCircleZone with useZ = false
Circle with heightPolygon with 32 points, slab of that heightPolygon with 32 points, minZ / maxZ
Boxlib.zones.box, size = vec3(w, l, height)BoxZone, length then width, heading
Polygonlib.zones.poly, all points at mid heightPolyZone:Create, minZ / maxZ
Spherelib.zones.sphereCircleZone with useZ = true

Zones are checked in the player’s game with almost no cost:

  • With no zone nothing runs. Away from zones the check sleeps until the player could reach one (up to 2.5 s).
  • The position is checked every 500 ms (250 or 150 ms in a fast vehicle), and only against the zones in the player’s 256 m map cell, after a bounding-box test.
  • The per-frame loop runs only while it’s needed: inside a no-weapons or no-vehicle zone, near a zone with a visible border, while the zone view is on.

The resource keeps a copy in map-zones.json, so the rules still work while Fiveops is unreachable.

PermissionAllows
See zonesOpens Map → Zones, turns on the zone view in game and copies zones as code.
Draw and edit zonesDraws, edits and deletes zones, from the panel and in game.