Skip to content
This repository has been archived by the owner on Jul 8, 2023. It is now read-only.

Commit

Permalink
update version 1.4 (look description of commit)
Browse files Browse the repository at this point in the history
- fix:
  - server/main.lua:
     - error lenght nil value
     - lastName / firstName esx 👀
  - client/main.lua:
     - lastName / firstName esx 👀

- add:
  - server/main.lua:
     - Auto created column sql
  - config/shared.lua:
     - to look appearance system?
  • Loading branch information
SUP2Ak committed Apr 18, 2023
1 parent bcf722e commit b534c03
Show file tree
Hide file tree
Showing 4 changed files with 57 additions and 14 deletions.
6 changes: 3 additions & 3 deletions client/main.lua
Original file line number Diff line number Diff line change
Expand Up @@ -50,13 +50,13 @@ end
RegisterNetEvent('supv_identity:client:showRegister', OpenRegister)
RegisterNetEvent('supv_identity:client:setPlayerData', function(identity, isNew)
ESX.SetPlayerData('name', ('%s %s'):format(identity.firstname, identity.lastname))
ESX.SetPlayerData('firstname', identity.firstname)
ESX.SetPlayerData('lastname', identity.lastname)
ESX.SetPlayerData('firstName', identity.firstname)
ESX.SetPlayerData('lastName', identity.lastname)
ESX.SetPlayerData('dateofbirth', identity.dateofbirth)
ESX.SetPlayerData('sex', identity.sex)
ESX.SetPlayerData('height', identity.height)

if GetResourceState('illenium-appearance') ~= 'missing' then
if shared.appearance then
TriggerEvent('esx_skin:playerRegistered')
if isNew then
TriggerEvent('esx_skin:openSaveableMenu')
Expand Down
4 changes: 3 additions & 1 deletion config/shared.lua
Original file line number Diff line number Diff line change
Expand Up @@ -9,5 +9,7 @@ return {
dob = {
min = 1920,
max = 2005
}
},

appearance = GetResourceState('illenium-appearance') ~= 'missing' and 'illenium-appearance' -- be logic pls...
}
2 changes: 1 addition & 1 deletion fxmanifest.lua
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ use_experimental_fxv2_oal 'yes'

author 'SUP2Ak#3755'
description 'A simple identity creator with ox_lib input dialog'
version '1.3'
version '1.4'

files {
'config/shared.lua',
Expand Down
59 changes: 50 additions & 9 deletions server/main.lua
Original file line number Diff line number Diff line change
@@ -1,17 +1,58 @@
local playerIdentity, alreadyRegistered = {}, {}

-- assert(os.setlocale('fr_FR')) -- not need this for now
if ESX and ESX.GetConfig().Multichar then return error("This script isn't available now with multichar", 2) end

local playerIdentity, alreadyRegistered = {}, {}

MySQL.ready(function()
local users <const> = MySQL.query.await("SHOW COLUMNS FROM users")
if users ~= '[]' then
local t = {}
local queries = {}
for i = 1, #users do
local r = users[i]
if r.Field == 'firstname' then
t.firstname = true
elseif r.Field == 'lastname' then
t.lastname = true
elseif r.Field == 'sex' then
t.sex = true
elseif r.Field == 'height' then
t.height = true
elseif r.Field == 'dateofbirth' then
t.dateofbirth = true
end
end

if not t.firstname then queries[#queries+1] = {query = 'ALTER TABLE `users` ADD COLUMN `firstname` varchar(20) DEFAULT NULL'} end
if not t.lastname then queries[#queries+1] = {query = 'ALTER TABLE `users` ADD COLUMN `lastname` varchar(20) DEFAULT NULL'} end
if not t.sex then queries[#queries+1] = {query = 'ALTER TABLE `users` ADD COLUMN `sex` varchar(2) DEFAULT NULL'} end
if not t.height then queries[#queries+1] = {query = 'ALTER TABLE `users` ADD COLUMN `height` int(11) DEFAULT NULL'} end
if not t.dateofbirth then queries[#queries+1] = {query = 'ALTER TABLE `users` ADD COLUMN `dateofbirth` varchar(15) DEFAULT NULL'} end

if #queries < 1 then
t, queries = nil, nil
return
end

local success = MySQL.transaction.await(queries)
if success then
print("Information in your database created!")
else
error("You havn't column required in your database... error sql request")
end
t, queries = nil, nil
end
end)

local server <const> = require 'config.server'
local shared <const> = require 'config.shared'

local function SetIdentity(xPlayer, saveDatabase)
if not alreadyRegistered[xPlayer.identifier] then return end
local identity = playerIdentity[xPlayer.identifier] or false
xPlayer.setName(('%s %s'):format(identity.firstname, identity.lastname))
xPlayer.set('firstname', identity.firstname)
xPlayer.set('lastname', identity.lastname)
xPlayer.set('firstName', identity.firstname)
xPlayer.set('lastName', identity.lastname)
xPlayer.set('dateofbirth', identity.dateofbirth)
xPlayer.set('sex', identity.sex)
xPlayer.set('height', identity.height)
Expand All @@ -30,7 +71,7 @@ end

local function CheckIdentity(xPlayer)
local result = MySQL.single.await('SELECT firstname, lastname, dateofbirth, sex, height FROM users WHERE identifier = ?', {xPlayer.identifier})
if not result or #result.firstname < 2 or #result.lastname < 2 or result.dateofbirth == '' or #result.sex < 1 or result.height < 120 then
if not result or not result.firstname or not result.firstname or not result.sex or not result.height or not result.dateofbirth then
alreadyRegistered[xPlayer.identifier] = false
return false
end
Expand All @@ -52,7 +93,7 @@ AddEventHandler('playerConnecting', function(playerName, setKickReason, deferral
local _source = source
local identifier = ESX.GetIdentifier(_source)
local result = MySQL.single.await('SELECT firstname, lastname, dateofbirth, sex, height FROM users WHERE identifier = ?', {identifier})
if not result or #result.firstname < 2 or #result.lastname < 2 or result.dateofbirth == '' or #result.sex < 1 or result.height < 120 then
if not result or not result.firstname or not result.firstname or not result.sex or not result.height or not result.dateofbirth then
alreadyRegistered[identifier] = false
return deferrals.done()
end
Expand Down Expand Up @@ -115,7 +156,7 @@ RegisterNetEvent('supv_identity:server:validRegister', function(identity)
return TriggerClientEvent('supv_identity:client:showRegister', xPlayer.source, reset)
end

if GetResourceState('illenium-appearance') ~= 'missing' then
if shared.appearance then
TriggerClientEvent('esx_skin:resetFirstSpawn', xPlayer.source)
end

Expand All @@ -129,8 +170,8 @@ RegisterNetEvent('esx:playerLoaded', function(playerId, xPlayer)

if identity and alreadyRegistered[xPlayer.identifier] then
xPlayer.setName(('%s %s'):format(identity.firstname, identity.lastname))
xPlayer.set('firstname', identity.firstname)
xPlayer.set('lastname', identity.lastname)
xPlayer.set('firstName', identity.firstname)
xPlayer.set('lastName', identity.lastname)
xPlayer.set('dateofbirth', identity.dateofbirth)
xPlayer.set('sex', identity.sex)
xPlayer.set('height', identity.height)
Expand Down

0 comments on commit b534c03

Please sign in to comment.