Qu'est-ce que fxmanifest.lua ?
Chaque ressource FiveM nécessite un fichier manifeste qui indique au serveur ce que contient la ressource et comment la charger. Le fxmanifest.lua le fichier remplace l'ancien __resource.lua format et fournit un moyen propre et déclaratif de définir les métadonnées de tes ressources. Ce fichier spécifie les scripts exécutés sur le client, ceux exécutés sur le serveur, les fichiers NUI à inclure, les dépendances de ressources et les métadonnées supplémentaires. Il est essentiel de bien préparer ton manifeste, car des erreurs ici peuvent empêcher le chargement de l'intégralité de ton ressource.
Champs obligatoires
Chaque manifeste doit commencer par deux champs obligatoires : fx_version et games. Le fx_version spécifie la version du format du manifeste, avec 'cerulean' étant la norme actuelle qui prend en charge toutes les fonctionnalités modernes. Le games Le champ définit le jeu pris en charge par la ressource, généralement {'gta5'} pour FiveM. L'omission de l'un ou l'autre de ces champs entraînera l'échec complet du chargement de la ressource, alors incluez-les toujours dans les deux premières lignes de ton manifeste.
Déclarations de script
Utiliser client_scripts, server_scripts, et shared_scripts pour déclarer tes fichiers Lua. Les scripts clients s'exécutent sur le client du jeu du joueur et gèrent le rendu, la saisie et l'interaction du jeu local. Les scripts serveur s'exécutent sur le serveur et gèrent la logique faisant autorité, les opérations de base de données et la gestion des lecteurs. Les scripts partagés s'exécutent des deux côtés et sont utiles pour les fichiers de configuration, les fonctions utilitaires et les constantes partagées. Tu peux utiliser des modèles globaux comme 'client/*.lua' pour inclure tous les fichiers d'un répertoire, mais les listes de fichiers explicites tu permettent de contrôler l'ordre de chargement.
NUI et déclarations de fichiers
Si ton ressource inclut une interface utilisateur, déclarez le fichier HTML d'entrée avec ui_page 'html/index.html'. Répertoriez ensuite tous les actifs Web dont ton interface utilisateur a besoin dans le files tableau, y compris HTML, CSS, JavaScript, images et polices. Seuls les fichiers répertoriés ici seront accessibles au navigateur NUI. Utilisez des modèles globaux comme 'html/**/*' pour inclure des répertoires entiers. N'oubliez pas que les fichiers NUI sont envoyés au client lors du chargement des ressources, alors gardez tes ressources Web optimisées pour réduire les temps de téléchargement et l'utilisation de la bande passante.
Dépendances et ordre de chargement
Déclarez les dépendances de ressources avec le dependencies pour garantir que les ressources requises démarrent avant les vôtres. Les dépendances courantes incluent des ressources de framework telles que qb-core ou es_extended, des ressources de base de données telles que oxmysqlet des bibliothèques partagées. Si une dépendance n'est pas démarrée, ton ressource ne parviendra pas à se charger et à enregistrer un avertissement. Utiliser provide pour indiquer que ton ressource sert de remplacement à une autre, ce qui est utile lors de la création de ponts de framework ou d'implémentations alternatives de scripts courants.
Fonctionnalités avancées du manifeste
Le manifeste prend en charge plusieurs directives supplémentaires pour des cas d'utilisation spécialisés. Utiliser data_file pour charger des fichiers de données GTA tels que des métas d'armes, des fichiers de manipulation ou des données de modèle de véhicule. Le export et server_export les champs déclarent des fonctions que d'autres ressources peuvent appeler. Ajoutez des métadonnées avec description, author, et version champs à des fins de documentation. Le lua54 La directive active les fonctionnalités Lua 5.4 lorsqu'elle est définie sur 'yes', tu donnant accès à la division entière, aux opérateurs au niveau du bit et à d'autres améliorations du langage qui peuvent simplifier les scripts complexes.
