Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local ban_list = {}
- AddEventHandler('onMySQLReady', function()
- MySQL.Async.fetchAll("SELECT banned,reason,expires FROM bans", {}, function(result)
- for k, v in pairs (result) do
- ban_list[v.banned] = {reason = v.reason, expires = v.expires}
- end
- end)
- end)
- RegisterServerEvent("hav_ban_check:AddBan")
- AddEventHandler("hav_ban_check:AddBan", function(identifier, reason, expires)
- ban_list[identifier] = {reason = reason, expires = expires}
- end)
- function isIdentifierBanned(id)
- if ban_list[id] ~= nil then
- local expire = tostring(ban_list[id].expires)
- expire = expire:sub(1, -4)
- expire = tonumber(expire)
- if expire > os.time() then
- return ban_list[id].reason
- else
- MySQL.Sync.execute("DELETE FROM bans WHERE banned = @banned",{['@banned'] = id})
- ban_list[id] = nil
- end
- end
- return false
- end
- AddEventHandler('playerConnecting', function(name, setCallback)
- local identifier = GetPlayerIdentifiers(source)[1]
- print('Checking user ban: ' .. identifier .. " (" .. name .. ")")
- local banned = isIdentifierBanned(identifier)
- if banned ~= false then
- print("(" .. identifier .. ") " .. name .. " has been kicked because it is on the banlist")
- setCallback(banned)
- CancelEvent()
- end
- end)
Add Comment
Please, Sign In to add comment