Limite d'entités ou de pool atteinte
Le jeu n'a plus de place pour les véhicules, personnes ou objets. Quelque chose en crée et ne nettoie jamais.
Faites d'abord ceci
Un redémarrage règle le problème temporairement. Trouver le script qui fuit est le vrai correctif.
Ce que ça veut dire
GTA a des pools durs pour les véhicules, les peds et les objets. Quand l'un se remplit, toute création supplémentaire de ce type renvoie 0 jusqu'à ce que quelque chose soit supprimé. La forme typique en console est Ran out of object slots ou un avertissement de pool plein.
En pratique, les véhicules sont les plus serrés, et un serveur en ligne depuis des jours y arrive avant un serveur fraîchement redémarré : c'est l'indice.
Ce qui la provoque
Classé par fréquence : la cause la plus probable en premier.
- 1
Des entités créées et jamais supprimées
La cause la plus fréquente. Un script de métier fait apparaître un véhicule à chaque usage et ne le supprime que sur le chemin heureux.
- 2
Des props créés à chaque interaction
Un prop attaché pendant une animation, puis l'animation est annulée et le prop est orphelin.
- 3
Des entités orphelines après le départ d'un joueur
Tout ce qu'ils ont créé reste jusqu'à ce que quelque chose le retire.
- 4
Une fuite dans une boucle
Un thread qui crée avant de vérifier s'il en a déjà un.
Comment savoir laquelle est la vôtre
-- serveur print(#GetAllVehicles(), #GetAllPeds(), #GetAllObjects())
Observez pendant une heure. Un nombre qui ne fait que monter est une fuite, et le type qui grossit vous dit quel script regarder.
Où regarder
Chaque appel Create*, et si chacun a son DeleteEntity sur tous les chemins, y compris ceux d'échec.
Comment la corriger
Supprimez sur tous les chemins de sortie, et balayez ce qui a fuité :
local veh = spawnVehicle(...)
local ok = pcall(doTheJob, veh)
if DoesEntityExist(veh) then DeleteEntity(veh) end
-- et nettoyez quand un joueur part
AddEventHandler('playerDropped', function()
local src = source
for _, veh in ipairs(GetAllVehicles()) do
if NetworkGetEntityOwner(veh) == src then DeleteEntity(veh) end
end
end)Toujours bloqué sur votre propre code ?
Cette page explique ce que cette erreur signifie en général. Collez votre console dans Server Fixer : il classera tout ce qui s'y trouve et vous dira quoi faire en premier ; et si vous préférez ne pas y toucher, ORBIE peut réparer le script et vous rendre la ressource prête à déposer.
bug_reportOuvrir le Server FixerPour ce type d'erreur, le Scanner de sécurité signale la gestion d'événements qui mène ici.