mirror of
https://github.com/esx-framework/esx_core.git
synced 2026-08-29 01:08:54 +00:00
Merge pull request #361 from roadtosixx/main
refactor(esx_multicharacter): removed useless code
This commit is contained in:
@@ -1,16 +1,15 @@
|
||||
ESX = exports['es_extended']:getSharedObject()
|
||||
local mp_m_freemode_01 = `mp_m_freemode_01`
|
||||
local mp_f_freemode_01 = `mp_f_freemode_01`
|
||||
if ESX.GetConfig().Multichar then
|
||||
|
||||
Citizen.CreateThread(function()
|
||||
CreateThread(function()
|
||||
while not ESX.PlayerLoaded do
|
||||
Citizen.Wait(0)
|
||||
Wait(0)
|
||||
if NetworkIsPlayerActive(PlayerId()) then
|
||||
exports.spawnmanager:setAutoSpawn(false)
|
||||
DoScreenFadeOut(0)
|
||||
while not GetResourceState('esx_menu_default') == 'started' do
|
||||
Citizen.Wait(0)
|
||||
Wait(0)
|
||||
end
|
||||
TriggerEvent("esx_multicharacter:SetupCharacters")
|
||||
break
|
||||
@@ -42,14 +41,14 @@ if ESX.GetConfig().Multichar then
|
||||
ShutdownLoadingScreen()
|
||||
ShutdownLoadingScreenNui()
|
||||
TriggerEvent('esx:loadingScreenOff')
|
||||
Citizen.Wait(200)
|
||||
Wait(200)
|
||||
TriggerServerEvent("esx_multicharacter:SetupCharacters")
|
||||
end)
|
||||
|
||||
StartLoop = function()
|
||||
hidePlayers = true
|
||||
MumbleSetVolumeOverride(PlayerId(), 0.0)
|
||||
Citizen.CreateThread(function()
|
||||
CreateThread(function()
|
||||
local keys = {18, 27, 172, 173, 174, 175, 176, 177, 187, 188, 191, 201, 108, 109}
|
||||
while hidePlayers do
|
||||
DisableAllControlActions(0)
|
||||
@@ -64,7 +63,7 @@ if ESX.GetConfig().Multichar then
|
||||
HideHudComponentThisFrame(12)
|
||||
HideHudComponentThisFrame(21)
|
||||
HideHudAndRadarThisFrame()
|
||||
Citizen.Wait(0)
|
||||
Wait(0)
|
||||
local vehicles = GetGamePool('CVehicle')
|
||||
for i = 1, #vehicles do
|
||||
SetEntityLocallyInvisible(vehicles[i])
|
||||
@@ -75,10 +74,10 @@ if ESX.GetConfig().Multichar then
|
||||
SetEntityVisible(playerPed, 1, 0)
|
||||
SetPlayerInvincible(playerId, 0)
|
||||
FreezeEntityPosition(playerPed, false)
|
||||
Citizen.Wait(10000)
|
||||
Wait(10000)
|
||||
canRelog = true
|
||||
end)
|
||||
Citizen.CreateThread(function()
|
||||
CreateThread(function()
|
||||
local playerPool = {}
|
||||
while hidePlayers do
|
||||
local players = GetActivePlayers()
|
||||
@@ -89,7 +88,7 @@ if ESX.GetConfig().Multichar then
|
||||
NetworkConcealPlayer(player, true, true)
|
||||
end
|
||||
end
|
||||
Citizen.Wait(500)
|
||||
Wait(500)
|
||||
end
|
||||
for k in pairs(playerPool) do
|
||||
NetworkConcealPlayer(k, false, false)
|
||||
@@ -117,14 +116,14 @@ if ESX.GetConfig().Multichar then
|
||||
end
|
||||
DoScreenFadeIn(400)
|
||||
end)
|
||||
repeat Citizen.Wait(200) until not IsScreenFadedOut()
|
||||
repeat Wait(200) until not IsScreenFadedOut()
|
||||
|
||||
elseif Characters[index] and Characters[index].skin then
|
||||
if Characters[spawned] and Characters[spawned].model then
|
||||
RequestModel(Characters[index].model)
|
||||
while not HasModelLoaded(Characters[index].model) do
|
||||
RequestModel(Characters[index].model)
|
||||
Citizen.Wait(0)
|
||||
Wait(0)
|
||||
end
|
||||
SetPlayerModel(PlayerId(), Characters[index].model)
|
||||
SetModelAsNoLongerNeeded(Characters[index].model)
|
||||
@@ -165,7 +164,7 @@ if ESX.GetConfig().Multichar then
|
||||
}, function()
|
||||
canRelog = false
|
||||
DoScreenFadeIn(400)
|
||||
Citizen.Wait(400)
|
||||
Wait(400)
|
||||
local playerPed = PlayerPedId()
|
||||
SetPedAoBlobRendering(playerPed, false)
|
||||
SetEntityAlpha(playerPed, 0)
|
||||
@@ -278,7 +277,7 @@ if ESX.GetConfig().Multichar then
|
||||
RequestModel(model)
|
||||
while not HasModelLoaded(model) do
|
||||
RequestModel(model)
|
||||
Citizen.Wait(0)
|
||||
Wait(0)
|
||||
end
|
||||
SetPlayerModel(PlayerId(), model)
|
||||
SetModelAsNoLongerNeeded(model)
|
||||
@@ -292,7 +291,7 @@ if ESX.GetConfig().Multichar then
|
||||
finished = true end, function() finished = true
|
||||
end)
|
||||
end)
|
||||
repeat Citizen.Wait(200) until finished
|
||||
repeat Wait(200) until finished
|
||||
end
|
||||
DoScreenFadeOut(100)
|
||||
|
||||
@@ -304,9 +303,9 @@ if ESX.GetConfig().Multichar then
|
||||
SetEntityCoordsNoOffset(playerPed, spawn.x, spawn.y, spawn.z, false, false, false, true)
|
||||
SetEntityHeading(playerPed, spawn.heading)
|
||||
if not isNew then TriggerEvent('skinchanger:loadSkin', skin or Characters[spawned].skin) end
|
||||
Citizen.Wait(400)
|
||||
Wait(400)
|
||||
DoScreenFadeIn(400)
|
||||
repeat Citizen.Wait(200) until not IsScreenFadedOut()
|
||||
repeat Wait(200) until not IsScreenFadedOut()
|
||||
TriggerServerEvent('esx:onPlayerSpawn')
|
||||
TriggerEvent('esx:onPlayerSpawn')
|
||||
TriggerEvent('playerSpawned')
|
||||
|
||||
@@ -7,9 +7,9 @@ lua54 'yes'
|
||||
|
||||
dependencies {'es_extended', 'esx_menu_default', 'esx_identity', 'esx_skin'}
|
||||
|
||||
shared_scripts {'@es_extended/locale.lua', 'locales/*.lua', 'config.lua'}
|
||||
shared_scripts {'@es_extended/imports.lua', '@es_extended/locale.lua', 'locales/*.lua', 'config.lua'}
|
||||
|
||||
server_scripts {'@es_extended/imports.lua', '@oxmysql/lib/MySQL.lua', 'server/*.lua'}
|
||||
server_scripts {'@oxmysql/lib/MySQL.lua', 'server/*.lua'}
|
||||
|
||||
client_scripts {'client/*.lua'}
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ Locales['de'] = {
|
||||
['delete_label'] = "Lösche %s %s?",
|
||||
['select_char'] = "Charakter auswählen",
|
||||
['create_char'] = "Neuen Charakter erstellen",
|
||||
['char_play'] = "Diesen Charakter spielen",
|
||||
['char_play'] = "Diesen Charakter auswählen",
|
||||
['char_delete'] = "Diesen Charakter löschen",
|
||||
['cancel'] = "Abbrechen",
|
||||
['confirm'] = "Bestätigen",
|
||||
|
||||
@@ -3,7 +3,7 @@ ESX.RegisterCommand('setslots', 'admin', function(xPlayer, args, showError)
|
||||
args.identifier
|
||||
})
|
||||
|
||||
if slots == nil then
|
||||
if not slots then
|
||||
MySQL.update('INSERT INTO `multicharacter_slots` (`identifier`, `slots`) VALUES (?, ?)', {
|
||||
args.identifier,
|
||||
args.slots
|
||||
@@ -26,7 +26,7 @@ ESX.RegisterCommand('remslots', 'admin', function(xPlayer, args, showError)
|
||||
args.identifier
|
||||
})
|
||||
|
||||
if slots ~= nil then
|
||||
if slots then
|
||||
MySQL.update('DELETE FROM `multicharacter_slots` WHERE `identifier` = ?', {
|
||||
args.identifier
|
||||
})
|
||||
|
||||
@@ -44,7 +44,7 @@ elseif ESX.GetConfig().Multichar == true then
|
||||
else ESX.Players = {} end
|
||||
|
||||
local function SetupCharacters(source)
|
||||
while not FETCH do Citizen.Wait(100) end
|
||||
while not FETCH do Wait(100) end
|
||||
local identifier = GetIdentifier(source)
|
||||
ESX.Players[identifier] = true
|
||||
|
||||
@@ -118,7 +118,7 @@ elseif ESX.GetConfig().Multichar == true then
|
||||
MySQL.transaction(queries, function(result)
|
||||
if result then
|
||||
print(('[^2INFO^7] Player [%s] %s has deleted a character (%s)'):format(GetPlayerName(source), source, identifier))
|
||||
Citizen.Wait(50)
|
||||
Wait(50)
|
||||
SetupCharacters(source)
|
||||
else
|
||||
error('\n^1Transaction failed while trying to delete '..identifier..'^0')
|
||||
@@ -171,7 +171,7 @@ elseif ESX.GetConfig().Multichar == true then
|
||||
|
||||
repeat
|
||||
ESX.Jobs = GetJobs()
|
||||
Citizen.Wait(50)
|
||||
Wait(50)
|
||||
until next(ESX.Jobs)
|
||||
|
||||
FETCH = 'SELECT identifier, accounts, job, job_grade, firstname, lastname, dateofbirth, sex, skin, disabled FROM users WHERE identifier LIKE ? LIMIT ?'
|
||||
|
||||
Reference in New Issue
Block a user