Comment ajouter des peds addon à FiveM : fichiers stream, peds.meta, nom de génération
Ajoutez des peds addon à un serveur FiveM : les fichiers stream (ydd, yft, ytd, ymt), peds.meta avec PED_METADATA_FILE, génération par nom de modèle et définition d'un ped comme modèle de joueur.
Vous avez un pack de peds, avec des fichiers comme .ydd, .yft, .ytd et un peds.meta, et vous voulez générer le ped ou jouer comme tel. Ce guide montre où chaque fichier va, ce que le manifest a besoin, comment générer le ped et comment le définir comme modèle de joueur.
Ce qu'un pack de peds contient
Un ped est composé de plusieurs fichiers qui partagent le nom du ped :
.yft: le modèle principal du ped..ydd: les vêtements et les parties du corps (tête, cheveux, torse, jambes). Souvent placé dans un sous-dossier avec le nom du ped..ytd: les textures..ymt: le fichier « ped variation », qui dit au jeu quels composants et textures le ped a.peds.meta: l'entrée de données qui définit le ped (nom, type, animations et cetera).
Les fichiers de modèle vont dans stream. Le peds.meta se place à côté du manifest et est chargé comme un fichier de données.
Structure des dossiers
resources/[peds]/mycop/
fxmanifest.lua
peds.meta
stream/
mycop.yft
mycop.ymt
mycop.ytd
mycop/
head_000_r.ydd
uppr_000_u.ydd
lowr_000_u.ydd
...Les noms de fichiers internes exacts dépendent du pack. Ne les renommez pas : le .ymt les référence. Gardez la structure que l'auteur vous a donnée.
Le fxmanifest.lua
fx_version 'cerulean'
game 'gta5'
files {
'peds.meta',
}
data_file 'PED_METADATA_FILE' 'peds.meta'L'entrée files rend le fichier disponible au client du jeu, et data_file 'PED_METADATA_FILE' dit au jeu qu'il contient des définitions de peds. Vous avez besoin des deux. Pour plusieurs peds dans une ressource, vous pouvez utiliser un peds.meta avec plusieurs entrées, ou un modèle comme '**/peds.meta' dans les deux lignes.
Le nom d'un ped est dans peds.meta :
<CPedModelInfo__InitDataList>
<InitDatas>
<Item>
<Name>mycop</Name>
<PropsName>NULL</PropsName>
...
</Item>
</InitDatas>
</CPedModelInfo__InitDataList>Ici le nom du modèle est mycop. Il doit correspondre aux noms de fichiers du .yft, .ymt et .ytd.
Le démarrer et le générer
ensure mycopPour générer le ped dans un script, demandez d'abord le modèle :
local model = joaat('mycop')
RequestModel(model)
while not HasModelLoaded(model) do
Wait(0)
end
local ped = CreatePed(4, model, coords.x, coords.y, coords.z, heading, true, false)
SetModelAsNoLongerNeeded(model)Si votre serveur utilise ox_lib, lib.requestModel(model) fait la demande et l'attente. Si le nom du modèle n'existe pas, HasModelLoaded ne devient jamais vrai et la boucle ci-dessus se bloque, donc un délai d'attente est une bonne pratique pour les noms qui viennent d'une configuration.
Beaucoup de menus administrateur peuvent aussi générer un ped par nom : tapez mycop et il apparaît.
Définir le ped comme modèle de joueur
Pour jouer comme le ped, changez le modèle du joueur :
local model = joaat('mycop')
RequestModel(model)
while not HasModelLoaded(model) do
Wait(0)
end
SetPlayerModel(PlayerId(), model)
SetModelAsNoLongerNeeded(model)
SetPedDefaultComponentVariation(PlayerPedId())Rappelez-vous que changer le modèle du joueur vous donne un nouveau ped. Les armes, la santé et certains états sont réinitialisés, donc rendez-les après le changement si votre serveur en a besoin.
Menus de skin ESX et QBCore
Les scripts de skin et de personnage sont le problème principal. Ils appliquent un ped freemode (mp_m_freemode_01 ou mp_f_freemode_01) quand vous générez, et votre modèle est remplacé un moment plus tard. Options :
- Utilisez l'option dans votre script de skin. Beaucoup de scripts d'apparence ont un moyen de définir un ped personnalisé ou une liste de peds autorisés. Vérifiez la configuration du script.
- Définissez le modèle après le chargement du skin. Sur ESX, attendez
esx:playerLoadedet que le script de skin finisse. Sur QBCore, attendezQBCore:Client:OnPlayerLoaded. Puis appelezSetPlayerModel. - N'enregistrez pas le ped addon comme le skin. Les données d'apparence pour un ped freemode ne s'adaptent pas à un autre modèle, et un skin enregistré du mauvais type peut faire charger le personnage mal. Gardez le choix du ped dans un champ ou un script séparé.
Sur QBox c'est pareil : le script d'apparence décide quel modèle le joueur obtient, donc définissez le ped après, ou utilisez sa propre option de ped personnalisé s'il y en a une.
Problèmes courants
- Le ped est invisible ou un modèle par défaut. Le
peds.metan'est pas chargé ou les noms diffèrent. Vérifiez la lignedata_fileet le nom dans<Name>. - Le ped n'a pas de visage ou a les textures blanches. Les fichiers
.ytdou.yddsont manquants, dans le mauvais dossier ou renommés. Le.ymta besoin des noms d'origine. - La ressource démarre mais le ped ne peut pas être généré. Une typo dans le nom de génération. Elle doit être égale à l'entrée
<Name>danspeds.meta. - Le jeu plante ou le streaming avertit. Les grands fichiers et beaucoup de peds utilisent la mémoire de streaming. Voir assets surdimensionnés.
- La ressource ne démarre pas. Un chemin dans
filesn'existe pas. Voir impossible de démarrer la ressource.
Les voitures suivent la même idée de fichier de données : voir comment ajouter des voitures addon.
Checklist
| Problème | Solution |
|---|---|
| Le ped ne peut pas être généré | Utilisez le <Name> de peds.meta ; ensure la ressource |
| Le ped est invisible ou par défaut | Ajoutez files et data_file 'PED_METADATA_FILE' ; correspondez les noms |
| Textures blanches ou manquantes | Gardez les noms .ydd et .ytd comme dans le pack |
| Le modèle se réinitialise après la génération | Appelez SetPlayerModel après que le script de skin ou de personnage finisse |
| Les armes disparues après le changement | Rendez-les après SetPlayerModel |
| La ressource ne démarre pas | Vérifiez que chaque chemin dans files existe |
Réponses rapides
Quel nom utilise-je pour générer un ped addon ?
Le nom du ped dans peds.meta, qui est aussi le nom de ses fichiers .ydd, .yft, .ytd et .ymt. Si les fichiers s'appellent mycop, vous utilisez mycop avec joaat('mycop').
Pourquoi mon ped addon s'affiche comme un ped par défaut ou est invisible ?
Généralement le peds.meta n'est pas chargé, ou le nom dedans ne correspond pas aux noms des fichiers. Vérifiez la ligne data_file 'PED_METADATA_FILE' et que les noms correspondent.
Puis-je utiliser un ped addon comme mon propre personnage ?
Oui, avec SetPlayerModel, mais les scripts de skin ou de personnage ESX et QBCore réinitialisent souvent le modèle au ped freemode. Vous devez le définir après qu'ils s'exécutent, ou utiliser une option dans le script de skin.
Des scripts sans ce problème
Parrots as PetsQuatorze oiseaux qui se posent sur votre épaule, volent avec vous et reviennent quand vous les appelez.Voir le script →
Drug Dealer AppLa vente de rue en app lb-phone : zones, acheteurs PNJ, niveaux et alertes police.Voir le script →
Quest CreatorUn éditeur visuel de quêtes et de dialogues PNJ, construit nœud par nœud en jeu.Voir le script →