Cómo añadir peds addon a FiveM: ficheros stream, peds.meta, nombre de invocación
Añade peds addon a un servidor FiveM: los ficheros stream (ydd, yft, ytd, ymt), peds.meta con PED_METADATA_FILE, invocación por nombre de modelo y establecer un ped como modelo del jugador.
Tienes un pack de peds, con ficheros como .ydd, .yft, .ytd y un peds.meta, y quieres invocar el ped o jugar como él. Esta guía te muestra dónde va cada fichero, qué necesita el manifest, cómo invocar el ped y cómo establecerlo como modelo del jugador.
Qué contiene un pack de peds
Un ped está hecho de varios ficheros que comparten el nombre del ped:
.yft: el modelo principal del ped..ydd: la ropa y partes del cuerpo (cabeza, cabello, torso, piernas). A menudo colocado en una subcarpeta con el nombre del ped..ytd: las texturas..ymt: el fichero de «variación de ped», que le dice al juego qué componentes y texturas tiene el ped.peds.meta: la entrada de datos que define el ped (nombre, tipo, animaciones y más).
Los ficheros de modelo van en stream. El peds.meta va junto al manifest y se carga como fichero de datos.
Estructura de carpetas
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
...Los nombres exactos de los ficheros internos dependen del pack. No los renombres: el .ymt se refiere a ellos. Mantén la estructura que te dio el autor.
El fxmanifest.lua
fx_version 'cerulean'
game 'gta5'
files {
'peds.meta',
}
data_file 'PED_METADATA_FILE' 'peds.meta'La entrada files hace que el fichero esté disponible para el cliente del juego, y data_file 'PED_METADATA_FILE' le dice al juego que contiene definiciones de peds. Necesitas ambas. Para varios peds en un recurso, puedes usar un peds.meta con varias entradas, o un patrón como '**/peds.meta' en ambas líneas.
El nombre de un ped está en el peds.meta:
<CPedModelInfo__InitDataList>
<InitDatas>
<Item>
<Name>mycop</Name>
<PropsName>NULL</PropsName>
...
</Item>
</InitDatas>
</CPedModelInfo__InitDataList>Aquí el nombre del modelo es mycop. Debe coincidir con los nombres de fichero del .yft, .ymt y .ytd.
Inicia e invoca
ensure mycopPara invocar el ped en un script, solicita el modelo primero:
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 tu servidor usa ox_lib, lib.requestModel(model) hace la solicitud y la espera. Si el nombre del modelo no existe, HasModelLoaded nunca se vuelve verdadero y el bucle anterior se cuelga, así que un tiempo de espera es buena práctica para nombres que vienen de una configuración.
Muchos menús de administrador también pueden invocar un ped por nombre: escribe mycop y aparece.
Establecer el ped como modelo del jugador
Para jugar como el ped, cambia el modelo del jugador:
local model = joaat('mycop')
RequestModel(model)
while not HasModelLoaded(model) do
Wait(0)
end
SetPlayerModel(PlayerId(), model)
SetModelAsNoLongerNeeded(model)
SetPedDefaultComponentVariation(PlayerPedId())Recuerda que cambiar el modelo del jugador te da un nuevo ped. Las armas, la salud y algunos estados se reinician, así que devuélvelos después del cambio si tu servidor los necesita.
Menús de aspecto de ESX y QBCore
Los scripts de aspecto y personaje son el principal problema. Aplican un ped freemode (mp_m_freemode_01 o mp_f_freemode_01) cuando apareces, y tu modelo se reemplaza un momento después. Opciones:
- Usa la opción en tu script de aspecto. Muchos scripts de apariencia tienen una forma de establecer un ped personalizado o una lista de peds permitidos. Comprueba la configuración del script.
- Establece el modelo después de que el aspecto cargue. En ESX, espera
esx:playerLoadedy a que el script de aspecto termine. En QBCore, esperaQBCore:Client:OnPlayerLoaded. Luego llama aSetPlayerModel. - No guardes el ped addon como el aspecto. Los datos de apariencia para un ped freemode no caben en otro modelo, y un aspecto guardado del tipo incorrecto puede hacer que el personaje cargue mal. Mantén la elección del ped en un campo o script separado.
En QBox lo mismo aplica: el script de apariencia decide qué modelo obtiene el jugador, así que establece el ped después de él, o usa su propia opción de ped personalizado si la hay.
Problemas comunes
- El ped es invisible o un modelo por defecto. El
peds.metano se carga o los nombres difieren. Comprueba la líneadata_filey el nombre en<Name>. - El ped no tiene cara o texturas blancas. Los ficheros
.ytdo.yddfaltan, están en la carpeta incorrecta o renombrados. El.ymtnecesita los nombres originales. - El recurso inicia pero el ped no puede invocarse. Un error tipográfico en el nombre de invocación. Debe ser igual a la entrada
<Name>enpeds.meta. - El juego falla o el streaming advierte. Los ficheros grandes y muchos peds usan memoria de streaming. Ver oversized assets.
- El recurso no inicia. Una ruta en
filesno existe. Ver couldn't start resource.
Los coches siguen la misma idea del fichero de datos: ver cómo añadir coches addon.
Lista de verificación
| Síntoma | Solución |
|---|---|
| El ped no puede invocarse | Usa el <Name> de peds.meta; ensure el recurso |
| El ped es invisible o por defecto | Añade files y data_file 'PED_METADATA_FILE'; coincide nombres |
| Texturas blancas o faltantes | Mantén los nombres de .ydd y .ytd como en el pack |
| El modelo se reinicia después de invocar | Llama a SetPlayerModel después de que el script de aspecto o personaje termine |
| Las armas desaparecen después del cambio | Devuélvelas después de SetPlayerModel |
| El recurso no inicia | Comprueba que cada ruta en files existe |
Respuestas rápidas
¿Qué nombre uso para invocar un ped addon?
El nombre del ped en peds.meta, que es también el nombre de sus ficheros .ydd, .yft, .ytd y .ymt. Si los ficheros se llaman mycop, usas mycop con joaat('mycop').
¿Por qué mi ped addon aparece como un ped por defecto o es invisible?
Normalmente el peds.meta no se carga, o el nombre en él no coincide con los nombres de ficheros. Comprueba la línea data_file 'PED_METADATA_FILE' y que los nombres coincidan.
¿Puedo usar un ped addon como mi propio personaje?
Sí, con SetPlayerModel, pero los scripts de aspecto o personaje de ESX y QBCore a menudo reinician el modelo al ped freemode. Necesitas establecerlo después de que se ejecuten, o usar una opción en el script de aspecto.
Scripts que evitan este problema
Parrots as PetsCatorce pájaros que van en tu hombro, vuelan contigo y vuelven cuando los llamas.Ver script →
Drug Dealer AppVenta callejera como app de lb-phone: zonas, compradores NPC, niveles y avisos a la policía.Ver script →
Quest CreatorUn editor visual de misiones y diálogos con NPC, nodo a nodo dentro del juego.Ver script →