Problème de chargement des jobs

● Machine locale ● ESX ● C’est une ressource maison

Bonjour, bonsoir a tous,

Alors voila, mon problème est le suivant : je suis actuellement entrain de développer une ressource qui gère les garage basé sur ESX, le problème c’est que lorsque mes joueur ce connecte il ne voient ni les zone au sol, ni ne peuvent interagir avec, mais lorsque je redémarre la ressource alors que les personne sont connecter ca marche. Je pense que cela doit venir de ce bout de code :

Citizen.CreateThread(function() while true do Wait(0) local coords = GetEntityCoords(GetPlayerPed(-1)) for k,v in pairs(Config.Garages) do if v.jobs == false then if(GetDistanceBetweenCoords(coords, v.Pos.x, v.Pos.y, v.Pos.z, true) < Config.DrawDistance) then DrawMarker(v.Marker, v.Pos.x, v.Pos.y, v.Pos.z, 0.0, 0.0, 0.0, 0, 0.0, 0.0, v.Size.x, v.Size.y, v.Size.z, v.Color.r, v.Color.g, v.Color.b, 100, false, true, 2, false, false, false, false) end end if v.jobs == 'police' then if ESX.PlayerData.job.name == 'police' then if(GetDistanceBetweenCoords(coords, v.Pos.x, v.Pos.y, v.Pos.z, true) < Config.DrawDistance) then DrawMarker(v.Marker, v.Pos.x, v.Pos.y, v.Pos.z, 0.0, 0.0, 0.0, 0, 0.0, 0.0, v.Size.x, v.Size.y, v.Size.z, v.Color.r, v.Color.g, v.Color.b, 100, false, true, 2, false, false, false, false) end end end if v.jobs == 'ambulance' then if ESX.PlayerData.job.name == 'ambulance' then if(GetDistanceBetweenCoords(coords, v.Pos.x, v.Pos.y, v.Pos.z, true) < Config.DrawDistance) then DrawMarker(v.Marker, v.Pos.x, v.Pos.y, v.Pos.z, 0.0, 0.0, 0.0, 0, 0.0, 0.0, v.Size.x, v.Size.y, v.Size.z, v.Color.r, v.Color.g, v.Color.b, 100, false, true, 2, false, false, false, false) end end end end end end)

La c’est le bout de code qui gère les zone au sol mais celui qui gère leurs interaction est pratiquement le même

En espérant trouvé de l’aide

Bonjour

Au démarrage du serveur il doit y avoir une erreur dans la console. Ou alors une erreur sur F8 est présente à la connexion du joueur ?

Alors enfaite j’ai trouver la solution avant même que le message ne soit approuvé xD

le problème était que mes fonction essayer d’appeler des job alors que l’esx n’était pas charger et donc retourner des valeur nul, pour régler le soucis je les ai transformer en fonction et j’ai fait un CitizenThread qui ne les appelle que quand esx et bien charger et qu’il detecte le job du joueur (c’est un extrait) :

while ESX ~= nil do
Citizen.Wait(0)
if ESX.Playerdata.job ~= nil
solmark()
detectzone()
end
end

et ça a régler le problème ^^