esx-community / esx_jail

Let cops jail people, an FiveM project
36 stars 36 forks source link

Police check #17

Closed nykroza closed 5 years ago

nykroza commented 6 years ago

I tryed to add a check to see if the player has the job police before sending someone in jail because some modders has been sending everyone in jail at the same time using a lua injector with the event handler.. but it doesn't work.. it keep returning attempt to call a nil value (local xPlayer)

-- send to jail and register in database
RegisterServerEvent('esx_jailer:sendToJail')
AddEventHandler('esx_jailer:sendToJail', function(target, jailTime)
    local xPlayer = ESX.GetPlayerFromId(source)
     if xPlayer ~= nil and xPlayer.job.name == 'police' then
        local identifier = GetPlayerIdentifiers(target)[1]
    MySQL.Async.fetchAll('SELECT * FROM jail WHERE identifier=@id', {['@id'] = identifier}, function(result)
        if result[1] ~= nil then
            MySQL.Async.execute("UPDATE jail SET jail_time=@jt WHERE identifier=@id", {['@id'] = identifier, ['@jt'] = jailTime})
        else
            MySQL.Async.execute("INSERT INTO jail (identifier,jail_time) VALUES (@identifier,@jail_time)", {['@identifier'] = identifier, ['@jail_time'] = jailTime})
        end
    end)
    TriggerClientEvent('chat:addMessage', -1, { args = { _U('judge'), _U('jailed_msg', GetPlayerName(target), ESX.Round(jailTime / 60)) }, color = { 147, 196, 109 } })
    TriggerClientEvent('esx_policejob:unrestrain', target)
    TriggerClientEvent('esx_jailer:jail', target, jailTime)    
    else
        TriggerClientEvent('chat:addMessage', -1, { args = { xPlayer, "à tenter de mettre quelqu'un en prison sans avoir les permissions" }, color = { 147, 196, 109 } })
        print(('esx_policejob: %s attemped to send someone in prison (not cop)!'):format(xPlayer.identifier))
    end    
end)
ElPumpo commented 6 years ago

TriggerClientEvent('chat:addMessage', -1, { args = { xPlayer, "à tenter de mettre quelqu'un en prison sans avoir les permissions" }, color = { 147, 196, 109 } }) is your problem