mirror of
https://github.com/qbcore-fivem/qb-core.git
synced 2026-08-29 17:28:56 +00:00
Merge pull request #517 from Scullyy/main
Prevent duplicated phone and account numbers
This commit is contained in:
+30
-2
@@ -57,8 +57,8 @@ function QBCore.Player.CheckPlayerData(source, PlayerData)
|
||||
PlayerData.charinfo.gender = PlayerData.charinfo.gender or 0
|
||||
PlayerData.charinfo.backstory = PlayerData.charinfo.backstory or 'placeholder backstory'
|
||||
PlayerData.charinfo.nationality = PlayerData.charinfo.nationality or 'USA'
|
||||
PlayerData.charinfo.phone = PlayerData.charinfo.phone ~= nil and PlayerData.charinfo.phone or '1' .. math.random(111111111, 999999999)
|
||||
PlayerData.charinfo.account = PlayerData.charinfo.account ~= nil and PlayerData.charinfo.account or 'US0' .. math.random(1, 9) .. 'QBCore' .. math.random(1111, 9999) .. math.random(1111, 9999) .. math.random(11, 99)
|
||||
PlayerData.charinfo.phone = PlayerData.charinfo.phone ~= nil and PlayerData.charinfo.phone or QBCore.Functions.CreatePhoneNumber()
|
||||
PlayerData.charinfo.account = PlayerData.charinfo.account ~= nil and PlayerData.charinfo.account or QBCore.Functions.CreateAccountNumber()
|
||||
-- Metadata
|
||||
PlayerData.metadata = PlayerData.metadata or {}
|
||||
PlayerData.metadata['hunger'] = PlayerData.metadata['hunger'] or 100
|
||||
@@ -655,6 +655,34 @@ function QBCore.Player.CreateCitizenId()
|
||||
return CitizenId
|
||||
end
|
||||
|
||||
function QBCore.Functions.CreateAccountNumber()
|
||||
local UniqueFound = false
|
||||
local AccountNumber = nil
|
||||
while not UniqueFound do
|
||||
AccountNumber = 'US0' .. math.random(1, 9) .. 'QBCore' .. math.random(1111, 9999) .. math.random(1111, 9999) .. math.random(11, 99)
|
||||
local query = '%' .. AccountNumber .. '%'
|
||||
local result = MySQL.Sync.prepare('SELECT COUNT(*) as count FROM players WHERE charinfo LIKE ?', { query })
|
||||
if result == 0 then
|
||||
UniqueFound = true
|
||||
end
|
||||
end
|
||||
return AccountNumber
|
||||
end
|
||||
|
||||
function QBCore.Functions.CreatePhoneNumber()
|
||||
local UniqueFound = false
|
||||
local PhoneNumber = nil
|
||||
while not UniqueFound do
|
||||
PhoneNumber = math.random(100,999) .. math.random(1000000,9999999)
|
||||
local query = '%' .. PhoneNumber .. '%'
|
||||
local result = MySQL.Sync.prepare('SELECT COUNT(*) as count FROM players WHERE charinfo LIKE ?', { query })
|
||||
if result == 0 then
|
||||
UniqueFound = true
|
||||
end
|
||||
end
|
||||
return PhoneNumber
|
||||
end
|
||||
|
||||
function QBCore.Player.CreateFingerId()
|
||||
local UniqueFound = false
|
||||
local FingerId = nil
|
||||
|
||||
Reference in New Issue
Block a user