Como adicionar peds addon ao FiveM: arquivos stream, peds.meta, nome de spawn
Adicione peds addon a um servidor FiveM: os arquivos stream (ydd, yft, ytd, ymt), peds.meta com PED_METADATA_FILE, spawning por nome de modelo e definindo um ped como modelo do jogador.
Você tem um pacote de peds, com arquivos como .ydd, .yft, .ytd e um peds.meta, e quer spawnar o ped ou jogar como ele. Este guia mostra onde cada arquivo vai, o que o manifesto precisa, como spawnar o ped e como defini-lo como modelo do jogador.
O que um pacote de peds contém
Um ped é feito de vários arquivos que compartilham o nome do ped:
.yft: o modelo principal do ped..ydd: roupas e partes do corpo (cabeça, cabelo, torso, pernas). Geralmente colocado em uma subpasta com o nome do ped..ytd: as texturas..ymt: o arquivo "ped variation", que diz ao jogo quais componentes e texturas o ped tem.peds.meta: a entrada de dados que define o ped (nome, tipo, animações e assim por diante).
Os arquivos de modelo vão em stream. O peds.meta fica ao lado do manifesto e é carregado como arquivo de dados.
Estrutura de pasta
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
...Os nomes exatos dos arquivos internos dependem do pacote. Não os renomeie: o .ymt faz referência a eles. Mantenha a estrutura que o autor lhe deu.
O fxmanifest.lua
fx_version 'cerulean'
game 'gta5'
files {
'peds.meta',
}
data_file 'PED_METADATA_FILE' 'peds.meta'A entrada files disponibiliza o arquivo ao cliente do jogo, e data_file 'PED_METADATA_FILE' diz ao jogo que ele contém definições de ped. Você precisa de ambas. Para vários peds em um recurso, você pode usar um peds.meta com várias entradas, ou um padrão como '**/peds.meta' em ambas as linhas.
O nome de um ped está em peds.meta:
<CPedModelInfo__InitDataList>
<InitDatas>
<Item>
<Name>mycop</Name>
<PropsName>NULL</PropsName>
...
</Item>
</InitDatas>
</CPedModelInfo__InitDataList>Aqui o nome de modelo é mycop. Deve corresponder aos nomes de arquivo do .yft, .ymt e .ytd.
Inicie-o e spawnei-o
ensure mycopPara spawnar o ped em um script, solicite o modelo primeiro:
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)Se seu servidor usa ox_lib, lib.requestModel(model) faz a solicitação e a espera. Se o nome do modelo não existir, HasModelLoaded nunca fica verdadeiro e o loop acima trava, então um timeout é boa prática para nomes que vêm de uma config.
Muitos menus de admin também podem spawnar um ped por nome: digite mycop e aparece.
Defina o ped como modelo do jogador
Para jogar como o ped, mude o modelo do jogador:
local model = joaat('mycop')
RequestModel(model)
while not HasModelLoaded(model) do
Wait(0)
end
SetPlayerModel(PlayerId(), model)
SetModelAsNoLongerNeeded(model)
SetPedDefaultComponentVariation(PlayerPedId())Lembre-se que mudar o modelo do jogador lhe dá um novo ped. Armas, saúde e alguns estados são resetados, então dê-os de volta após a mudança se seu servidor precisar.
Menus de skin de ESX e QBCore
Scripts de skin e personagem são o problema principal. Eles aplicam um ped freemode (mp_m_freemode_01 ou mp_f_freemode_01) quando você spawna, e seu modelo é substituído um momento depois. Opções:
- Use a opção em seu script de skin. Muitos scripts de aparência têm uma maneira de definir um ped personalizado ou uma lista de peds permitidos. Verifique a config do script.
- Defina o modelo após o skin carregar. No ESX, aguarde
esx:playerLoadede o script de skin terminar. No QBCore, aguardeQBCore:Client:OnPlayerLoaded. Então chameSetPlayerModel. - Não salve o ped addon como o skin. Dados de aparência para um ped freemode não se encaixam em outro modelo, e um skin salvo do tipo errado pode fazer o personagem carregar errado. Mantenha a escolha do ped em um campo ou script separado.
No QBox o mesmo se aplica: o script de aparência decide qual modelo o jogador recebe, então defina o ped depois dele, ou use sua própria opção de ped personalizado se houver uma.
Problemas comuns
- O ped é invisível ou um modelo padrão. O
peds.metanão é carregado ou os nomes diferem. Verifique a linhadata_filee o nome em<Name>. - O ped não tem rosto ou texturas brancas. Os arquivos
.ytdou.yddestão faltando, na pasta errada ou renomeados. O.ymtprecisa dos nomes originais. - O recurso inicia mas o ped não pode ser spawned. Um erro de digitação no nome de spawn. Deve ser igual à entrada
<Name>empeds.meta. - O jogo trava ou streaming avisa. Arquivos grandes e muitos peds usam memória de streaming. Veja oversized assets.
- O recurso não inicia. Um caminho em
filesnão existe. Veja couldn't start resource.
Carros seguem a mesma ideia de arquivo de dados: veja how to add addon cars.
Checklist
| Sintoma | Solução |
|---|---|
| Ped não pode ser spawned | Use o <Name> de peds.meta; ensure o recurso |
| Ped é invisível ou padrão | Adicione files e data_file 'PED_METADATA_FILE'; corresponda nomes |
| Texturas brancas ou faltando | Mantenha os nomes .ydd e .ytd como no pacote |
| Modelo reseta após spawn | Chame SetPlayerModel após o script de skin ou personagem terminar |
| Armas se foram após mudança | Dê-as de volta após SetPlayerModel |
| Recurso não vai iniciar | Verifique que todo caminho em files existe |
Respostas rápidas
Qual nome uso para spawnar um ped addon?
O nome do ped em peds.meta, que também é o nome de seus arquivos .ydd, .yft, .ytd e .ymt. Se os arquivos se chamam mycop, você usa mycop com joaat('mycop').
Por que meu ped addon mostra como um ped padrão ou é invisível?
Geralmente o peds.meta não é carregado, ou o nome nele não corresponde aos nomes de arquivo. Verifique a linha data_file 'PED_METADATA_FILE' e que os nomes concordam.
Posso usar um ped addon como meu próprio personagem?
Sim, com SetPlayerModel, mas scripts de skin ou personagem de ESX e QBCore geralmente resetam o modelo para o ped freemode. Você precisa defini-lo depois que eles rodam, ou usar uma opção no script de skin.
Scripts sem esse problema
Parrots as PetsCatorze aves que andam no seu ombro, voam com você e voltam quando chamadas.Ver script →
Drug Dealer AppVendas na rua como app do lb-phone: zonas, compradores NPC, níveis e alertas para a polícia.Ver script →
Quest CreatorUm editor visual de missões e diálogos com NPCs, montado nó por nó dentro do jogo.Ver script →