Merge pull request #8 from ArkSeyonet/master

Adding Support For GCIdentity for ESX.
This commit is contained in:
Don
2017-09-04 20:41:30 -07:00
committed by GitHub
3 changed files with 140 additions and 45 deletions
+88 -36
View File
@@ -481,51 +481,103 @@ end
function OpenIdentityCardMenu(player)
ESX.TriggerServerCallback('esx_policejob:getOtherPlayerData', function(data)
if Config.EnableGCIdentity then
ESX.TriggerServerCallback('esx_policejob:getOtherPlayerData', function(data)
local jobLabel = nil
local jobLabel = nil
if data.job.grade_label ~= nil and data.job.grade_label ~= '' then
jobLabel = 'Job : ' .. data.job.label .. ' - ' .. data.job.grade_label
else
jobLabel = 'Job : ' .. data.job.label
end
if data.job.grade_label ~= nil and data.job.grade_label ~= '' then
jobLabel = 'Job : ' .. data.job.label .. ' - ' .. data.job.grade_label
else
jobLabel = 'Job : ' .. data.job.label
end
local elements = {
{label = _U('name') .. data.firstname .. " " .. data.lastname, value = nil},
{label = jobLabel, value = nil},
}
local elements = {
{label = _U('name') .. data.name, value = nil},
{label = jobLabel, value = nil},
}
if data.drunk ~= nil then
table.insert(elements, {label = _U('bac') .. data.drunk .. '%', value = nil})
end
if data.licenses ~= nil then
table.insert(elements, {label = '--- Licenses ---', value = nil})
for i=1, #data.licenses, 1 do
table.insert(elements, {label = data.licenses[i].label, value = nil})
if data.drunk ~= nil then
table.insert(elements, {label = _U('bac') .. data.drunk .. '%', value = nil})
end
end
if data.licenses ~= nil then
ESX.UI.Menu.Open(
'default', GetCurrentResourceName(), 'citizen_interaction',
{
title = _U('citizen_interaction'),
align = 'top-left',
elements = elements,
},
function(data, menu)
table.insert(elements, {label = '--- Licenses ---', value = nil})
for i=1, #data.licenses, 1 do
table.insert(elements, {label = data.licenses[i].label, value = nil})
end
end,
function(data, menu)
menu.close()
end
)
end, GetPlayerServerId(player))
ESX.UI.Menu.Open(
'default', GetCurrentResourceName(), 'citizen_interaction',
{
title = _U('citizen_interaction'),
align = 'top-left',
elements = elements,
},
function(data, menu)
end,
function(data, menu)
menu.close()
end
)
end, GetPlayerServerId(player))
else
ESX.TriggerServerCallback('esx_policejob:getOtherPlayerData', function(data)
local jobLabel = nil
if data.job.grade_label ~= nil and data.job.grade_label ~= '' then
jobLabel = 'Job : ' .. data.job.label .. ' - ' .. data.job.grade_label
else
jobLabel = 'Job : ' .. data.job.label
end
local elements = {
{label = _U('name') .. data.name, value = nil},
{label = jobLabel, value = nil},
}
if data.drunk ~= nil then
table.insert(elements, {label = _U('bac') .. data.drunk .. '%', value = nil})
end
if data.licenses ~= nil then
table.insert(elements, {label = '--- Licenses ---', value = nil})
for i=1, #data.licenses, 1 do
table.insert(elements, {label = data.licenses[i].label, value = nil})
end
end
ESX.UI.Menu.Open(
'default', GetCurrentResourceName(), 'citizen_interaction',
{
title = _U('citizen_interaction'),
align = 'top-left',
elements = elements,
},
function(data, menu)
end,
function(data, menu)
menu.close()
end
)
end, GetPlayerServerId(player))
end
end
+2 -1
View File
@@ -5,6 +5,7 @@ Config.MarkerSize = {x = 1.5, y = 1.5, z = 1.0}
Config.MarkerColor = {r = 50, g = 50, b = 204}
Config.EnablePlayerManagement = false
Config.EnableArmoryManagement = false
Config.EnableGCIdentity = false
Config.MaxInService = -1
Config.Locale = 'fr'
@@ -75,4 +76,4 @@ Config.PoliceStations = {
}
}
}
+50 -8
View File
@@ -116,16 +116,30 @@ end)
ESX.RegisterServerCallback('esx_policejob:getOtherPlayerData', function(source, cb, target)
if Config.EnableGCIdentity then
local xPlayer = ESX.GetPlayerFromId(target)
local identifier = GetPlayerIdentifiers(target)[1]
local result = MySQL.Sync.fetchAll("SELECT firstname, lastname, sex, dateofbirth, height FROM users WHERE identifier = @identifier", {
['@identifier'] = identifier
})
local user = result[1]
local firstname = user['firstname']
local lastname = user['lastname']
local data = {
name = GetPlayerName(target),
job = xPlayer.job,
inventory = xPlayer.inventory,
accounts = xPlayer.accounts,
weapons = xPlayer.loadout
name = GetPlayerName(target),
job = xPlayer.job,
inventory = xPlayer.inventory,
accounts = xPlayer.accounts,
weapons = xPlayer.loadout,
firstname = firstname,
lastname = lastname
}
TriggerEvent('esx_status:getStatus', _source, 'drunk', function(status)
if status ~= nil then
@@ -139,6 +153,34 @@ ESX.RegisterServerCallback('esx_policejob:getOtherPlayerData', function(source,
end)
cb(data)
else
local xPlayer = ESX.GetPlayerFromId(target)
local data = {
name = GetPlayerName(target),
job = xPlayer.job,
inventory = xPlayer.inventory,
accounts = xPlayer.accounts,
weapons = xPlayer.loadout
}
TriggerEvent('esx_status:getStatus', _source, 'drunk', function(status)
if status ~= nil then
data.drunk = status.getPercent()
end
end)
TriggerEvent('esx_license:getLicenses', _source, function(licenses)
data.licenses = licenses
end)
cb(data)
end
end)
@@ -335,4 +377,4 @@ ESX.RegisterServerCallback('esx_policejob:getPlayerInventory', function(source,
items = items
})
end)
end)