Convertire Ped e Player Mod SP in FiveM
INFO
I ped mod (personaggi) sono comuni su GTA5-Mods.com. Possono essere mod complete (nuovo modello) o semplici texture replace.
| Obiettivo | Dettagli |
|---|---|
| Cosa imparerai | Convertire ped e player model da SP a FiveM, creare file YMT obbligatori |
| Prerequisiti | Conoscenza base di FiveM, una mod ped da convertire, CodeWalker |
Scenario 1: Ped Completo (Addon)
Scarichi un ped con modello, texture e meta:
custom_police/
├── s_m_y_cop_01.yft ← Modello con scheletro
├── s_m_y_cop_01.ytd ← Texture
├── s_m_y_cop_01.ymt ← Meta ped (a volte assente)
└── pedvariation.meta ← Varianti outfit
Passo 1: Verifica i file
| File | Presente? | Azione |
|---|---|---|
.yft | ✅ Sempre | Metti in stream/ |
.ytd | ✅ Sempre | Metti in stream/ |
.ymt | ⚠️ Spesso | Se manca, devi CREARLO (fondamentale!) |
pedvariation.meta | ⚠️ A volte | Se manca, il ped avrà outfit di default |
.ydd | ❌ Raramente | Solo se ha vestiti separati |
Passo 2: Creare .ymt (se manca)
WARNING
Il file
.ymtè obbligatorio per FiveM. Senza di esso il ped non verrà riconosciuto dal gioco e otterrai l’errore “Model does not exist”.
Le mod SP spesso non includono .ymt perché in SP il ped viene aggiunto tramite script (.asi). Per FiveM è obbligatorio.
<?xml version="1.0" encoding="UTF-8"?>
<CPedModelInfo>
<Item>
<Name>s_m_y_cop_01</Name>
<Model>s_m_y_cop_01</Model>
<Type>PED_TYPE_COP</Type>
<VoiceGroup>VOICE_GROUP_COP</VoiceGroup>
<MovementGroup>MOVE_M@TOUGH_GUY</MovementGroup>
<Audio>PED_MALE</Audio>
<CollisionHeight>1.85</CollisionHeight>
<CollisionWidth>0.5</CollisionWidth>
</Item>
</CPedModelInfo>Name e Model devono matchare il nome del file .yft.
TIP
Per il
Typeusa valori nativi comePED_TYPE_COP,PED_TYPE_CIVMALEoPED_TYPE_CIVFEMALE. Il tipo sbagliato può causare comportamenti anomali (es. ped che scappa senza motivo).
Passo 3: fxmanifest
-- fxmanifest.lua
fx_version 'cerulean'
game 'gta5'
author 'TuoNome'
description 'Custom Police Ped - Convertito da SP'
version '1.0.0'
data_file 'PED_METADATA_FILE' 'stream/*.ymt'
client_script 'client.lua'Passo 4: Script Lua
-- client.lua
local pedHash = GetHashKey('s_m_y_cop_01')
RegisterCommand('spawnped', function()
RequestModel(pedHash)
while not HasModelLoaded(pedHash) do
Citizen.Wait(100)
end
local playerPed = PlayerPedId()
local coords = GetEntityCoords(playerPed)
local ped = CreatePed(1, pedHash, coords.x + 3, coords.y + 3, coords.z, 0.0, true, false)
SetEntityInvincible(ped, false)
TaskWanderStandard(ped, 10.0, 10)
SetModelAsNoLongerNeeded(pedHash)
end, false)Scenario 2: Player Model (Sostituzione Giocatore)
INFO
I modelli giocatore sostituiscono il tuo personaggio con un modello custom. Usano lo scheletro di
mp_m_freemode_01omp_f_freemode_01, non uno scheletro unico.
Alcune mod SP sostituiscono il modello del giocatore:
player_model/
├── player_one.yft
└── player_one.ytd
Conversione
Lo stesso procedimento del ped addon, ma con una differenza: questo modello probabilmente usa lo scheletro di mp_m_freemode_01 o mp_f_freemode_01.
<!-- .ymt -->
<Name>player_one</Name>
<Model>player_one</Model>
<Type>PED_TYPE_CIVMALE</Type>Script per usarlo come giocatore
RegisterCommand('mymodel', function()
local model = GetHashKey('player_one')
RequestModel(model)
while not HasModelLoaded(model) do
Citizen.Wait(100)
end
SetPlayerModel(PlayerId(), model)
SetModelAsNoLongerNeeded(model)
end, false)Scenario 3: Solo Texture Replace (Skin)
Alcune mod SP sono solo texture (nessun modello). Scarichi:
fbi_suit/
├── mp_m_freemode_01_diff_000_a.dds
├── mp_m_freemode_01_diff_001_a.dds
└── mp_m_freemode_01_nrm_000.dds
Conversione per FiveM
-
Converti i
.ddsin.ytd:- Apri OpenIV
- Crea un nuovo
.ytd - Importa le texture DDS
- Salva come
nome_pack.ytd
-
Crea pedvariation.meta che referenzi le nuove texture
Oppure usa il sistema di Drawable Variations:
stream/
├── mp_m_freemode_01_diff_000_a.ytd
└── mp_m_freemode_01_diff_001_a.ytd
E referenziali nel pedvariation.meta come nuovi texture index.
Problemi Comuni
| Problema | Causa | Soluzione |
|---|---|---|
| ”Model does not exist” | YMT mancante o nome errato | Crea .ymt con Name = nome file .yft |
| Ped T-pose | Rigging mancante o scheletro diverso | Il .yft deve avere weight painting |
| Texture pelle viola | YTD non caricato | Controlla che .ytd sia in stream/ |
| Ped gigante | CollisionHeight errato | Imposta ~1.85m nello YMT |
| Ped non si muove | MovementGroup errato | Usa MOVE_M@TOUGH_GUY o MOVE_M@BUSINESS |
| Crash allo spawn | YFT corrotto o ossa mancanti | Apri in CodeWalker per verificare |
TIP
Prossimo passo: 05 - Convertire Mappe e MLO
Torna alla: Indice Generale