81 lines
3.3 KiB
Lua
81 lines
3.3 KiB
Lua
RegisterNetEvent('gb-core:character:join')
|
|
AddEventHandler('gb-core:character:join', function()
|
|
local src = source
|
|
local id
|
|
|
|
for k, v in ipairs(GetPlayerIdentifier(src)) do
|
|
if string.sub(v, 1, string.len('discord:')) == 'discord:' then
|
|
id=v
|
|
break
|
|
end
|
|
end
|
|
|
|
if not id then
|
|
DropPlayer(src, 'Identifier not found, Make sure discord is running and your are in the server.')
|
|
else
|
|
TriggerClientEvent('gb-core:character:setupCharacters', src)
|
|
end
|
|
end)
|
|
|
|
RegisterNetEvent('gb-core:character:serverSelect')
|
|
AddEventHandler('gb-core:character:serverSelect', function(cid) -- CID is for character slot from UI
|
|
local src = source
|
|
local identifier = GetPlayerIdentifierByType(src, "discord") -- Get's discord id
|
|
local license = GetPlayerIdentifierByType(src, "fivem") -- Get's fivem license
|
|
|
|
GB.DB.LoadCharacter(src, license, identifier, cid) -- ensure we get the correct player
|
|
end)
|
|
|
|
GB.Functions.RegisterServerCallback('gb-core:getCharacter', function(source, cb) -- Send back every created character (by said person)
|
|
local id = GetPlayerIdentifierByType(src, "discord") -- Get's discord id
|
|
|
|
exports['ghmattimysql']:execute('SELECT * FROM players WHERE identifier = @identifier', {['@identifier'] = id}, function(result)
|
|
if result then
|
|
cb(result)
|
|
end
|
|
end)
|
|
end)
|
|
|
|
RegisterNetEvent('gb-core:deleteCharacter')
|
|
AddEventHandler('gb-core:deleteCharacter', function(characterData)
|
|
local cid = characterData.cid -- Passing right player slot
|
|
local name = 'First: ' .. characterData.firstname .. ' Last: ' .. characterData.lastname .. ''
|
|
local src = source
|
|
local identifier = GetPlayerIdentifierByType(src, "discord")
|
|
local characterName = 'First: ' .. characterData.firstname .. ' Last: ' .. characterData.lastname .. ''
|
|
|
|
local citizenID = '' .. cid .. '-' .. identifier .. '' -- 1-Discord
|
|
|
|
-- TODO: Add discord logs
|
|
|
|
TriggerClientEvent('gb-core:character:setupCharacters', src) -- refresh menu
|
|
end)
|
|
|
|
RegisterNetEvent('gb-core:server:createCharacter')
|
|
AddEventHandler('gb-core:server:createCharacter', function(cData)
|
|
local src = source
|
|
local identifier = GetPlayerIdentifierByType(src, "discord")
|
|
local license = GetPlayerIdentifierByType(src, "fivem")
|
|
local name = GetPlayerName(src)
|
|
local cid = cData.cid
|
|
local citizenId = '' .. cData.cid .. '-' .. identifier .. ''
|
|
local characterName = 'First: ' .. cData.firstname .. ' Last: ' .. cData.lastname .. ''
|
|
|
|
exports['ghmattimysql']:execute('INSERT INTO players (`identifier`, `license`, `name`, `cid`, `cash`, `bank`, `firstname`, `lastname`, `sex`, `dob`, `citizenid`) VALUES (@identifier, @license, @name, @cid, @cash, @bank, @firstname, @lastname, @sex, @dob, @citizenid)'. {
|
|
['identifier'] = identifier,
|
|
['license'] = license,
|
|
['name'] = name,
|
|
['cid'] = cid,
|
|
['cash'] = GB.Starting.Cash,
|
|
['bank'] = GB.Starting.Bank,
|
|
['firstname'] = cData.firstname,
|
|
['lastname'] = cData.lastname,
|
|
['sex'] = cData.sex,
|
|
['dob'] = cData.dob,
|
|
['citizenid'] = citizenid -- Used to callback everything related to sql and saving per player
|
|
})
|
|
|
|
-- TODO: Logs for creation
|
|
|
|
TriggerClientEvent('gb-core:character:setupCharacters', src) -- refresh menu
|
|
end) |