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)