74 lines
1.9 KiB
Lua
74 lines
1.9 KiB
Lua
if GetResourceState('ox_target') ~= 'started' then return end
|
|
|
|
local ox_target = exports.ox_target
|
|
local targetZones = {}
|
|
|
|
Core.Target = {}
|
|
|
|
function Core.Target.AddGlobalPeds(options)
|
|
ox_target:addGlobalPed(options)
|
|
end
|
|
|
|
function Core.Target.AddGlobalPlayer(options)
|
|
ox_target:addGlobalPlayer(options)
|
|
end
|
|
|
|
function Core.Target.AddLocalEntity(entities, options)
|
|
ox_target:addLocalEntity(entities, options)
|
|
end
|
|
|
|
function Core.Target.AddModel(models, options)
|
|
ox_target:addModel(models, options)
|
|
end
|
|
|
|
function Core.Target.AddBoxZone(name, coords, size, heading, options, drawPoly)
|
|
local target = ox_target:addBoxZone({
|
|
coords = coords,
|
|
size = size,
|
|
rotation = heading,
|
|
debug = drawPoly,
|
|
options = options,
|
|
})
|
|
table.insert(targetZones, { name = name, id = target, creator = GetInvokingResource() })
|
|
return target
|
|
end
|
|
|
|
function Core.Target.RemoveGlobalPeds(name)
|
|
ox_target:removeGlobalPed(name)
|
|
end
|
|
|
|
function Core.Target.RemoveGlobalPlayer(name)
|
|
ox_target:removeGlobalPlayer(name)
|
|
end
|
|
|
|
function Core.Target.RemoveLocalEntity(entity)
|
|
ox_target:removeLocalEntity(entity)
|
|
end
|
|
|
|
function Core.Target.RemoveModel(model)
|
|
ox_target:removeModel(model)
|
|
end
|
|
|
|
function Core.Target.RemoveZone(name)
|
|
for _, data in pairs(targetZones) do
|
|
if data.name == name then
|
|
ox_target:removeZone(data.id)
|
|
table.remove(targetZones, _)
|
|
break
|
|
end
|
|
end
|
|
end
|
|
|
|
AddEventHandler('onResourceStop', function(resource)
|
|
if resource ~= GetCurrentResourceName() then
|
|
local removed = 0
|
|
for _, target in pairs(targetZones) do
|
|
if target.creator == resource then
|
|
ox_target:removeZone(target.id)
|
|
table.remove(targetZones, _)
|
|
removed = removed + 1
|
|
end
|
|
end
|
|
if removed > 0 then print('[DEBUG] - removed targets for:', resource) end
|
|
end
|
|
end)
|