133 lines
4.2 KiB
Lua
133 lines
4.2 KiB
Lua
|
Framework = Config.Framework == "esx" and exports['es_extended']:getSharedObject() or exports['qb-core']:GetCoreObject()
|
||
|
|
||
|
RegisterServerEvent("hp_multichar:playerConnected", function ()
|
||
|
local src = source
|
||
|
local random = math.random(10, 999999)
|
||
|
|
||
|
TriggerClientEvent("hp_multichar:getOldBucket", src, 0)
|
||
|
SetPlayerRoutingBucket(src, math.random(random, 999999999999))
|
||
|
if Config.Framework == "qb" then
|
||
|
local data = GetUserPlayers(src)
|
||
|
|
||
|
if data and next(data) then
|
||
|
TriggerClientEvent("hp_multichar:playerConnected", src, data.charData, data.purchasedSlots)
|
||
|
else
|
||
|
TriggerClientEvent("hp_multichar:playerConnected", src, {}, 0)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
end)
|
||
|
|
||
|
RegisterServerCallback("hp_multichar:server:getSkin", function(_, cb, identifier)
|
||
|
if Config.Framework == "qb" then
|
||
|
local result = MysqlQuery("SELECT * FROM playerskins WHERE citizenid = '"..identifier.."' AND active = 1")
|
||
|
|
||
|
if result[1] ~= nil then
|
||
|
cb(result[1].model, result[1].skin)
|
||
|
else
|
||
|
cb(nil)
|
||
|
end
|
||
|
else
|
||
|
local result = MysqlQuery("SELECT * FROM skin WHERE identifier = '"..identifier.."'")
|
||
|
|
||
|
if result[1] ~= nil then
|
||
|
cb(result[1])
|
||
|
else
|
||
|
cb(nil)
|
||
|
end
|
||
|
end
|
||
|
end)
|
||
|
|
||
|
RegisterServerCallback("hp_multichar:server:deleteCharacter", function(src, cb, identifier)
|
||
|
if Config.Framework == "qb" then
|
||
|
MysqlQuery("DELETE FROM players WHERE citizenid = '"..identifier.."'")
|
||
|
|
||
|
Wait(100)
|
||
|
|
||
|
local data = GetUserPlayers(src)
|
||
|
cb(data)
|
||
|
end
|
||
|
end)
|
||
|
|
||
|
RegisterServerCallback("hp_multichar:codeUsed", function(src, cb, code)
|
||
|
local result = MysqlQuery("SELECT * FROM hp_multichar_codes WHERE code = '"..code.."'")
|
||
|
|
||
|
if result[1] ~= nil then
|
||
|
if result[1].used == 1 then
|
||
|
cb(false)
|
||
|
else
|
||
|
TriggerClientEvent("hp_multichar:refreshSlots", src)
|
||
|
MysqlQuery("UPDATE hp_multichar_codes SET used = 1 WHERE code = '"..code.."'")
|
||
|
Wait(100)
|
||
|
MysqlQuery("INSERT INTO hp_multichar (identifier, uses) VALUES('"..GetPlayerLicense(src).."', 1) ON DUPLICATE KEY UPDATE uses = uses + 1")
|
||
|
cb(true)
|
||
|
end
|
||
|
else
|
||
|
cb(false)
|
||
|
end
|
||
|
end)
|
||
|
|
||
|
RegisterNetEvent('hp_multichar:qb:createCharacter', function(data, oldBucket)
|
||
|
local src = source
|
||
|
local newData = {}
|
||
|
newData.cid = data.cid
|
||
|
newData.charinfo = data
|
||
|
newData.charinfo.gender = newData.charinfo.gender == "m" and 0 or 1
|
||
|
|
||
|
if Framework.Player.Login(src, false, newData) then
|
||
|
if Config.UseQbApartments and GetResourceState('qb-apartments') == 'started' then
|
||
|
local randbucket = (GetPlayerPed(src) .. math.random(1,999))
|
||
|
SetPlayerRoutingBucket(src, randbucket)
|
||
|
Framework.Commands.Refresh(src)
|
||
|
LoadHouseData(src)
|
||
|
TriggerClientEvent('apartments:client:setupSpawnUI', src, newData)
|
||
|
GiveStarterItems(src)
|
||
|
else
|
||
|
Framework.Commands.Refresh(src)
|
||
|
SetPlayerRoutingBucket(src, oldBucket)
|
||
|
LoadHouseData(src)
|
||
|
GiveStarterItems(src)
|
||
|
Config.OnLoad(src, newData, Config.SpawnCoords, true)
|
||
|
end
|
||
|
end
|
||
|
end)
|
||
|
|
||
|
RegisterNetEvent('hp_multichar:qb:loadUserData', function(cData)
|
||
|
local src = source
|
||
|
|
||
|
if Framework.Player.Login(src, cData.citizenid) then
|
||
|
Framework.Commands.Refresh(src)
|
||
|
LoadHouseData(src)
|
||
|
Config.OnLoad(src, cData, json.decode(cData.position), false)
|
||
|
end
|
||
|
end)
|
||
|
|
||
|
RegisterNetEvent('hp_multichar:server:sendOldBucket', function(bucket)
|
||
|
local src = source
|
||
|
SetPlayerRoutingBucket(src, bucket)
|
||
|
end)
|
||
|
|
||
|
-- RegisterCommand('madepurchasefromtebex', function(source, args)
|
||
|
-- print("Made purchase from TEBEX", args[1])
|
||
|
|
||
|
-- local src = source
|
||
|
-- local inProgress = false
|
||
|
|
||
|
-- if src == 0 then
|
||
|
-- local tbxid = args[1]
|
||
|
|
||
|
-- while inProgress do
|
||
|
-- Wait(1000)
|
||
|
-- end
|
||
|
|
||
|
-- inProgress = true
|
||
|
|
||
|
-- local result = MysqlQuery("SELECT * FROM hp_multichar_codes WHERE code = '"..tbxid.."'")
|
||
|
|
||
|
-- if result[1] == nil then
|
||
|
-- MysqlQuery("INSERT INTO hp_multichar_codes (code) VALUES ('"..tbxid.."')")
|
||
|
-- end
|
||
|
|
||
|
-- inProgress = false
|
||
|
-- end
|
||
|
-- end, false)
|