Props FiveM qui ne s'affichent pas ? Corrigez-les étape par étape
Un prop qui rend bien dans CodeWalker mais manque sur le serveur, s'affiche en violet, n'a pas de collision ou disparaît quand on s'éloigne a une cause parmi une courte liste. Passez-les en revue dans l'ordre.
1. Les fichiers sont en dehors de stream/
FiveM ne streame que les fichiers placés dans un dossier stream. Un .ydr à la racine de la resource ou dans models/ n’est jamais chargé, même si CodeWalker l’affiche depuis votre dossier de jeu.
2. Le .ytyp n’est pas demandé
Le fichier d’archetype doit être chargé depuis le manifest :
data_file 'DLC_ITYP_REQUEST' 'stream/my_props.ytyp'
Puis vérifiez en jeu : print(IsModelInCdimage(joaat('my_prop'))). S’il affiche false, le jeu ne connaît pas le modèle, donc aucun spawn ni aucune map ne l’affichera.
Un piège avec les resources qui livrent aussi un _manifest.ymf : si ce fichier liste votre propre .ytyp comme dépendance, le type peut ne pas s’enregistrer. Une resource de props sans map propre n’a pas besoin de .ymf du tout.
3. Les noms ne correspondent pas
Le name de l’archetype, le nom du fichier .ydr et l’assetName doivent être identiques. Si les textures sont dans un .ytd séparé, le textureDictionary de l’archetype doit le nommer ; si elles sont intégrées au .ydr, laissez-le vide. Une incohérence affiche le prop en violet ou en blanc.
4. Bounds et distance d’affichage
L’archetype stocke une bounding box, une sphère et un lodDist. Une box nulle ou minuscule fait culer le prop par le jeu dès qu’il n’est plus au centre ; un lodDist de 0 ou 5 le fait disparaître à quelques mètres. Utilisez les vrais bounds du modèle et une distance d’affichage adaptée à sa taille (50 à 150 m pour la plupart des props).
5. Pas de collision
Visible mais on passe au travers : le .ydr n’a pas de bound intégré, ou le physicsDictionary de l’archetype est vide. Les deux sont nécessaires pour un prop statique. Une collision qui flotte au-dessus du sol signifie généralement une box bound dont le centre n’a jamais été défini.
6. Textures trop lourdes
Un dictionnaire qui dépasse le budget de streaming peut se charger en retard ou pas du tout, et le prop clignote entre sans texture et texturé. Gardez les textures de props à 2048 px ou moins et compressez-les.
Bien le faire du premier coup
Le Prop Creator convertit un modèle 3D ou une image en .ydr avec textures intégrées, un .ytyp correspondant, la collision et un manifest qui charge déjà l’archetype, plus une commande de test pour le faire spawner.
Questions fréquentes
Faut-il un ytyp pour chaque prop ?
Pour un modèle custom que vous faites spawner par son nom, oui en pratique : l'archetype .ytyp indique au jeu que le modèle existe, ses bounds, sa distance d'affichage et où se trouvent ses textures et sa collision. Sans lui, le modèle peut ne pas spawner ou être mal culé.
Il marche dans un ymap mais pas quand je le fais spawner. Pourquoi ?
Le fichier de map streame l'archetype pour vous, mais un spawn par script a besoin du .ytyp chargé avec data_file 'DLC_ITYP_REQUEST'. Ajoutez-le au manifest.
Pourquoi je passe à travers mon prop ?
Le .ydr n'a pas de collision bound, ou l'archetype ne fait pas pointer son physics dictionary vers le modèle. Les deux sont nécessaires.
Essayez gratuitement
Créez un compte gratuit, rejoignez le Discord pour vos crédits et créez votre premier asset en quelques minutes.
