Zones
Faster alternative to PolyZone utilising glm.polygon.
lib.zones.poly
lib.zones.poly(data)
data:
table
points:
vector3[]
All z values must match
thickness?:
number
Default:
4
onEnter:
function
(self:table
)onExit:
function
(self:table
)inside:
function
(self:table
)debug?:
boolean
lib.zones.box
lib.zones.box(data)
data:
table
coords:
vector3
size?:
vector3
Default:
vec3(4, 4, 4)
rotation?:
number
Angle in degrees
onEnter:
function
(self:table
)onExit:
function
(self:table
)inside:
function
(self:table
)debug?:
boolean
lib.zones.sphere
lib.zones.sphere(data)
data:
table
coords:
vector3
radius?:
number
Default:
2
onEnter:
function
(self:table
)onExit:
function
(self:table
)inside:
function
(self:table
)debug?:
boolean
Usage Examples
function onEnter(self)
print('entered zone', self.id)
end
function onExit(self)
print('exited zone', self.id)
end
function inside(self)
print('you are inside zone ' .. self.id)
end
local poly = lib.zones.poly({
points = {
vec(413.8, -1026.1, 29),
vec(411.6, -1023.1, 29),
vec(412.2, -1018.0, 29),
vec(417.2, -1016.3, 29),
vec(422.3, -1020.0, 29),
vec(426.8, -1015.9, 29),
vec(431.8, -1013.0, 29),
vec(437.3, -1018.4, 29),
vec(432.4, -1027.2, 29),
vec(424.7, -1023.5, 29),
vec(420.0, -1030.2, 29),
vec(409.8, -1028.4, 29),
},
thickness = 2,
debug = true,
inside = inside,
onEnter = onEnter,
onExit = onExit
})
local sphere = lib.zones.sphere({
coords = vec3(442.5363, -1017.666, 28.65637),
radius = 1,
debug = true,
inside = inside,
onEnter = onEnter,
onExit = onExit
})
local box = lib.zones.box({
coords = vec3(442.5363, -1017.666, 28.65637),
size = vec3(1, 1, 1),
rotation = 45,
debug = true,
inside = inside,
onEnter = onEnter,
onExit = onExit
})
Zones can be deleted by using the remove method.
poly:remove()
sphere:remove()
box:remove()
Zone creation script
Similarly to PolyZone, there is a zone creation script included.
To use it use the /zone
with poly
, box
or sphere
as args.
Available controls will be displayed on the right side.
Once saved you will find the created zone details in created_zones.lua within ox_lib
Last updated