¿Los props no aparecen en FiveM? Arréglalo paso a paso
Un prop que se ve bien en CodeWalker pero falta en el servidor, sale morado, no tiene colisión o desaparece al alejarte tiene una de unas pocas causas posibles. Revísalas en orden.
1. Los archivos están fuera de stream/
FiveM solo carga los archivos que están dentro de una carpeta stream. Un .ydr en la raíz del resource o en models/ nunca se carga, aunque CodeWalker lo muestre desde tu carpeta del juego.
2. No se solicita el .ytyp
El archivo de archetypes tiene que cargarse desde el manifest:
data_file 'DLC_ITYP_REQUEST' 'stream/my_props.ytyp'
Luego compruébalo en el juego: print(IsModelInCdimage(joaat('my_prop'))). Si imprime false, el juego no conoce el modelo, así que ni un spawn ni un mapa lo van a mostrar.
Una trampa con los resources que también incluyen un _manifest.ymf: si ese archivo lista tu propio .ytyp como dependencia, el tipo puede no registrarse. Un resource de props sin mapa propio no necesita ningún .ymf.
3. Los nombres no coinciden
El name del archetype, el nombre del archivo .ydr y el assetName tienen que ser idénticos. Si las texturas están en un .ytd aparte, el textureDictionary del archetype debe nombrarlo; si están incrustadas en el .ydr, déjalo vacío. Si no coinciden, el prop sale morado o blanco.
4. Bounds y distancia de dibujado
El archetype guarda un bounding box, una esfera y un lodDist. Un box a cero o diminuto hace que el juego oculte el prop en cuanto queda fuera del centro; un lodDist de 0 o 5 hace que desaparezca a pocos metros. Usa los bounds reales del modelo y una distancia de dibujado acorde a su tamaño (de 50 a 150 m para la mayoría de props).
5. Sin colisión
Se ve pero lo atraviesas: el .ydr no tiene un bound incrustado, o el physicsDictionary del archetype está vacío. Un prop estático necesita las dos cosas. Una colisión que flota por encima del suelo suele indicar un box bound al que nunca se le fijó el centro.
6. Texturas demasiado grandes
Un diccionario que supera el presupuesto de streaming puede cargar tarde o no cargar, así que el prop parpadea entre sin textura y con textura. Mantén las texturas de los props en 2048 px o menos y comprímelas.
Hazlo bien a la primera
El Prop Creator convierte un modelo 3D o una imagen en un .ydr con texturas incrustadas, un .ytyp que coincide, colisión y un manifest que ya carga el archetype, además de un comando de prueba para spawnearlo.
Preguntas frecuentes
¿Necesito un ytyp para cada prop?
Para un modelo personalizado que spawneas por nombre, en la práctica sí: el archetype del .ytyp le dice al juego que el modelo existe, sus bounds, su distancia de dibujado y dónde están sus texturas y su colisión. Sin él, el modelo puede no spawnear o hacer culling de forma incorrecta.
Funciona en un ymap pero no cuando lo spawneo. ¿Por qué?
El archivo de mapa carga el archetype por ti, pero un spawn por script necesita el .ytyp cargado con data_file 'DLC_ITYP_REQUEST'. Añádelo al manifest.
¿Por qué puedo atravesar mi prop?
El .ydr no tiene un bound de colisión, o el archetype no apunta su physics dictionary al modelo. Hacen falta las dos cosas.
Pruébalo gratis
Crea una cuenta gratis, únete al Discord para tus créditos, y construye tu primer asset en minutos.
