Ce script n'est pas encore terminé à 100%. Si vous souhaitez apporter quelque chose au projet, n'hésitez pas à soumettre une pull request !
Cette ressource enregistre les natifs dans une table de cache, réduisant le nombre total de requêtes serveur émanant du client. Cela améliore globalement les performances globales du serveur et réduit les temps de chargement de tous les scripts qui utilisent le cache.
Le fichier client esx_policejob appelle 18 fois le natif PlayerPed()
- les mêmes données peuvent être récupérées à partir d'un seul appel via Cache.PlayerPed
(Remarque : ESX n'est pas une exigence pour ce script)
En un mot, cela réduit considérablement le nombre d’appels natifs en fonction de ce que vous mettez en cache.
Il s'agit d'un travail en cours - donc toute contribution ou contribution sera toujours grandement appréciée !
Supposons que vous souhaitiez renvoyer PlayerPed()
- nous pouvons l'appeler via une exportation à partir du script en utilisant :
exports.cache:requestCache().PlayerPed
Assurez-vous que le nom de cette ressource n'a pas de trait d'union dans le nom (le symbole -) ou il renverra une erreur de :
attempt to index a nil value (global 'cache')
Insérez cette ligne dans client_scripts dans le fxmanifest.lua du script dont vous souhaitez utiliser le cache
"@cache/client/cl_cache.lua",
Vous devrez le faire manuellement par vous-même. Voici un exemple de ce que vous devrez faire :
Nous avons donc ici PlayerPedId() enregistré dans le cache :
Cache.PlayerPed = PlayerPedId()
Partout où vous voyez PlayerPedId()
dans votre script, vous devrez le remplacer par exports.cache:requestCache().PlayerPed
Placez start mascotte-cache
avant votre framework/scripts
Je le mettrai à jour aussi régulièrement que possible, mais si vous souhaitez ajouter vos propres valeurs mises en cache, tout ce que vous avez à faire est de suivre ce format :
Cache.YourNameHere = NativeYouWantToCache()
-- Ajouter au fil de discussion
@d0p3t - Comme la seule information que j'ai pu trouver sur la création d'un cache pour commencer provenait d'un message qu'il a publié sur le discord CFX expliquant comment mettre en cache les données des natifs
@NotSomething0 - Pour sa contribution au nettoyage d'une grande partie du code et que j'ai beaucoup consulté au début du développement du script