diff --git a/esx_kashacters/client/main.lua b/esx_kashacters/client/main.lua index 1654145b..f9ff08ca 100644 --- a/esx_kashacters/client/main.lua +++ b/esx_kashacters/client/main.lua @@ -9,17 +9,17 @@ end) -- This Code Was changed to fix error With player spawner as default -- -- Link to the post with the error fix -- -- https://forum.fivem.net/t/release-esx-kashacters-multi-character/251613/316?u=xxfri3ndlyxx -- ---Citizen.CreateThread(function() --- while true do --- Citizen.Wait(0) --- if NetworkIsSessionStarted() then --- Citizen.Wait(100) --- TriggerServerEvent("kashactersS:SetupCharacters") --- TriggerEvent("kashactersC:SetupCharacters") --- return -- break the loop --- end --- end ---end) +Citizen.CreateThread(function() + while true do + Citizen.Wait(0) + if NetworkIsSessionStarted() then + Citizen.Wait(100) + TriggerServerEvent("kashactersS:SetupCharacters") + TriggerEvent("kashactersC:SetupCharacters") + return -- break the loop + end + end +end) local IsChoosing = true Citizen.CreateThread(function () @@ -57,7 +57,7 @@ AddEventHandler('kashactersC:SetupUI', function(Characters) characters = Characters, }) end) - +--[[ RegisterNetEvent('kashactersC:SpawnCharacter') AddEventHandler('kashactersC:SpawnCharacter', function(isnew) if isnew == true then @@ -111,7 +111,8 @@ AddEventHandler('kashactersC:SpawnCharacter', function(isnew) --TriggerEvent('esx_ambulancejob:multicharacter', source) end end) ---[[ +]] + RegisterNetEvent('kashactersC:SpawnCharacter') AddEventHandler('kashactersC:SpawnCharacter', function(spawn, isnew) @@ -156,7 +157,7 @@ AddEventHandler('kashactersC:SpawnCharacter', function(spawn, isnew) end end) -]]-- + RegisterNetEvent('kashactersC:ReloadCharacters') AddEventHandler('kashactersC:ReloadCharacters', function() TriggerServerEvent("kashactersS:SetupCharacters") diff --git a/esx_kashacters/server/main.lua b/esx_kashacters/server/main.lua index 29fdb75d..1aa7a358 100644 --- a/esx_kashacters/server/main.lua +++ b/esx_kashacters/server/main.lua @@ -33,7 +33,7 @@ AddEventHandler('kashactersS:SetupCharacters', function() local Characters = GetPlayerCharacters(src) TriggerClientEvent('kashactersC:SetupUI', src, Characters) end) - +--[[ RegisterServerEvent("kashactersS:CharacterChosen") AddEventHandler('kashactersS:CharacterChosen', function(charid, ischar) local src = source @@ -52,6 +52,29 @@ AddEventHandler('kashactersS:CharacterChosen', function(charid, ischar) -- Trigger Ban Event here to ban individuals trying to use SQL Injections end end) +]] +RegisterServerEvent("kashactersS:CharacterChosen") +AddEventHandler('kashactersS:CharacterChosen', function(charid, ischar) + local src = source + local new = true + local spawn = {} + if type(charid) == "number" and type(ischar) == "boolean" then + SetLastCharacter(src, tonumber(charid)) + SetCharToIdentifier(GetRockstarID(src), tonumber(charid)) + + if ischar == "true" then + new = false + spawn = GetSpawnPos(src) + else + TriggerClientEvent('skinchanger:loadDefaultModel', src, true, cb) + spawn = { x = 195.55, y = -933.36, z = 29.90 } -- DEFAULT SPAWN POSITION + end + + TriggerClientEvent("kashactersC:SpawnCharacter", src, spawn, new) + else + -- Trigger Ban Event here to ban individuals trying to use SQL Injections + end +end) RegisterServerEvent("kashactersS:DeleteCharacter") AddEventHandler('kashactersS:DeleteCharacter', function(charid) @@ -117,10 +140,10 @@ function DeleteCharacter(identifier, charid) end end ---function GetSpawnPos(source) --- local SpawnPos = MySQLAsyncExecute("SELECT `position` FROM `users` WHERE `identifier` = '"..GetPlayerIdentifiers(source)[2].."'") --- return json.decode(SpawnPos[1].position) ---end +function GetSpawnPos(source) + local SpawnPos = MySQLAsyncExecute("SELECT `position` FROM `users` WHERE `identifier` = '"..GetPlayerIdentifiers(source)[2].."'") + return json.decode(SpawnPos[1].position) +end function GetIdentifierWithoutLicense(Identifier) return string.gsub(Identifier, "license", "")