From 5d8b12a415a7da4b82c2003ae37f8ea59fa1626e Mon Sep 17 00:00:00 2001 From: ElPumpo Date: Sun, 22 Jul 2018 14:46:06 +0200 Subject: [PATCH] Implemented esx_service:notifyAllInService and esx_service:getInServiceList --- __resource.lua | 4 ++++ client/main.lua | 20 ++++++++++++++++++++ server/main.lua | 13 +++++++++++++ 3 files changed, 37 insertions(+) create mode 100644 client/main.lua diff --git a/__resource.lua b/__resource.lua index b4987b79..49fd7b07 100644 --- a/__resource.lua +++ b/__resource.lua @@ -8,4 +8,8 @@ server_scripts { 'server/main.lua' } +client_scripts { + 'client/main.lua' +} + dependency 'es_extended' \ No newline at end of file diff --git a/client/main.lua b/client/main.lua new file mode 100644 index 00000000..87fa24a8 --- /dev/null +++ b/client/main.lua @@ -0,0 +1,20 @@ +ESX = nil + +Citizen.CreateThread(function() + while ESX == nil do + TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end) + Citizen.Wait(0) + end +end) + +RegisterNetEvent('esx_service:notifyAllInService') +AddEventHandler('esx_service:notifyAllInService', function(notification, target) + target = GetPlayerFromServerId(target) + if target == PlayerId() then return end + + local targetPed = GetPlayerPed(target) + local mugshot, mugshotStr = ESX.Game.GetPedMugshot(targetPed) + + ESX.ShowAdvancedNotification(notification.title, notification.subject, notification.msg, mugshotStr, notification.iconType) + UnregisterPedheadshot(mugshot) +end) \ No newline at end of file diff --git a/server/main.lua b/server/main.lua index 3e676b19..6ac55b17 100644 --- a/server/main.lua +++ b/server/main.lua @@ -26,6 +26,15 @@ AddEventHandler('esx_service:disableService', function(name) InService[name][source] = nil end) +RegisterServerEvent('esx_service:notifyAllInService') +AddEventHandler('esx_service:notifyAllInService', function(notification, name) + for k,v in pairs(InService[name]) do + if v == true then + TriggerClientEvent('esx_service:notifyAllInService', k, notification, source) + end + end +end) + ESX.RegisterServerCallback('esx_service:enableService', function(source, cb, name) local inServiceCount = GetInServiceCount(name) @@ -47,6 +56,10 @@ ESX.RegisterServerCallback('esx_service:isInService', function(source, cb, name) cb(isInService) end) +ESX.RegisterServerCallback('esx_service:getInServiceList', function(source, cb, name) + cb(InService[name]) +end) + AddEventHandler('playerDropped', function() local _source = source