1
0
Fork 0
forked from Simnation/Main
Main/resources/[tools]/patoche_interact/bridge.lua
2025-06-07 08:51:21 +02:00

56 lines
No EOL
2 KiB
Lua

local frameworkSystem = (function()
if GetResourceState('qb-core') == 'started' then return 'qb' end
if GetResourceState('qbx_core') == 'started' then return 'qbx' end
if GetResourceState('es_extended') == 'started' then return 'esx' end
return 'custom'
end)()
Framework = frameworkSystem
CORE = nil
local function loadFramework()
if Framework == 'qb' or Framework == 'qbx' then
CORE = exports['qb-core']:GetCoreObject()
elseif Framework == 'esx' then
CORE = exports.es_extended:getSharedObject()
if not CORE then
CreateThread(function()
while not CORE do
TriggerEvent('esx:getSharedObject', function(obj) CORE = obj end)
Wait(0)
end
end)
end
elseif Framework == 'custom' then
warn('Add your own framework export system in bridge.lua at line 27')
end
end
loadFramework()
function Notification(msg, type, time)
if Framework == 'qb' or Framework == 'qbx' then
CORE.Functions.Notify(msg, type == 'info' and 'primary' or type, time)
elseif Framework == 'esx' then
CORE.ShowNotification(msg, type, time)
elseif Framework == 'custom' then
warn('Add your own notify export system in bridge.lua at line 39')
end
end
---@param data table {coords (vector3), size (vector3), debug (boolean), rotation (number), options (table {groups (table), onSelect (function), icon (string), label (string), job (table), gang (table), distance (number)}
function CustomTarget(data)
-- EXAMPLE :
-- exports.ox_target:addBoxZone({
-- coords = data.coords,
-- size = data.size,
-- debug = data.debug,
-- rotation = data.rotation,
-- options = data.options
-- })
warn('Add you own target system exports in bridge.lua at line 45')
end
RegisterNetEvent('patoche:interact:client:notification', Notification)