100 lines
2.1 KiB
Lua
100 lines
2.1 KiB
Lua
|
function mysqlQuery(query, params)
|
||
|
if Config.MySQL == "oxmysql" then
|
||
|
return exports["oxmysql"]:query_async(query, params)
|
||
|
elseif Config.MySQL == "mysql-async" then
|
||
|
local p = promise.new()
|
||
|
|
||
|
exports['mysql-async'].mysql_execute(query, params, function(result)
|
||
|
p:resolve(result)
|
||
|
end)
|
||
|
|
||
|
return Citizen.Await(p)
|
||
|
elseif Config.MySQL == "ghmattimysql" then
|
||
|
return exports['ghmattimysql'].executeSync(query, params)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
function reverseArray(array)
|
||
|
local reversed = {}
|
||
|
|
||
|
for i = #array, 1, -1 do
|
||
|
reversed[#reversed + 1] = array[i]
|
||
|
end
|
||
|
|
||
|
return reversed
|
||
|
end
|
||
|
|
||
|
function cloneTable(array)
|
||
|
local target = {}
|
||
|
local meta = getmetatable(array)
|
||
|
|
||
|
for k, v in pairs(array) do
|
||
|
if type(v) == 'table' then
|
||
|
target[k] = cloneArray(v)
|
||
|
else
|
||
|
target[k] = v
|
||
|
end
|
||
|
end
|
||
|
|
||
|
setmetatable(target, meta)
|
||
|
|
||
|
return target
|
||
|
end
|
||
|
|
||
|
function getPlayerToken(player)
|
||
|
for i = 0, GetNumPlayerIdentifiers(player) - 1 do
|
||
|
local id = GetPlayerIdentifier(player, i)
|
||
|
|
||
|
if string.sub(id, 1, string.len(Config.Token)) == Config.Token then
|
||
|
return id
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
|
||
|
function getPlayerFromToken(token)
|
||
|
for _, player in ipairs(GetPlayers()) do
|
||
|
player = tonumber(player)
|
||
|
|
||
|
if getPlayerToken(player) == token then
|
||
|
return player
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
|
||
|
function getPlayerAvatar(player)
|
||
|
local discord
|
||
|
|
||
|
for i = 0, GetNumPlayerIdentifiers(player) - 1 do
|
||
|
local identifier = {}
|
||
|
|
||
|
for id in string.gmatch(GetPlayerIdentifier(player, i), "([^:]+)") do
|
||
|
table.insert(identifier, id)
|
||
|
end
|
||
|
|
||
|
if identifier[1] == "discord" then
|
||
|
discord = identifier[2]
|
||
|
end
|
||
|
end
|
||
|
|
||
|
if discord then
|
||
|
local p = promise.new()
|
||
|
|
||
|
PerformHttpRequest("https://discordapp.com/api/users/" .. discord, function(statusCode, data)
|
||
|
data = json.decode(data or "{}")
|
||
|
|
||
|
if data.avatar then
|
||
|
local animated = data.avatar:gsub(1, 2) == "a_"
|
||
|
|
||
|
avatar = "https://cdn.discordapp.com/avatars/" .. discord .. "/" .. data.avatar .. (animated and ".gif" or ".png")
|
||
|
end
|
||
|
|
||
|
p:resolve()
|
||
|
end, "GET", "", {
|
||
|
Authorization = "Bot MTE4ODA0ODgzMDMxMTE3NDE3NQ.GCZgG0.eoZWGYXx0--7VWx0jmrZsGxnLlSEdciVN0qkAM"
|
||
|
})
|
||
|
|
||
|
Citizen.Await(p)
|
||
|
end
|
||
|
|
||
|
return avatar
|
||
|
end
|