Convertire Abbigliamento SP in FiveM

INFO

I vestiti SP (modelli di abbigliamento) richiedono il pedvariation.meta per funzionare in FiveM. Spesso devi anche creare riferimento al ped base corretto.

ObiettivoDettagli
Cosa impareraiConvertire abbigliamento da SP a FiveM, creare pedvariation.meta, gestire component ID
PrerequisitiConoscenza base di FiveM, una mod vestito da convertire, conoscenza dei component ID di GTA V

Scenario Tipico

Scarichi un capo di abbigliamento da GTA5-Mods.com:

police_shirt/
├── mp_m_freemode_01_tshirt_01.ydd    ← Modello maglietta
├── mp_m_freemode_01_tshirt_01.ytd    ← Texture maglietta
└── Readme.txt                        ← Istruzioni

Passo 1: Identificare il Ped Base

I vestiti SP sono fatti per uno specifico ped base. I più comuni:

ModelloPer chi
mp_m_freemode_01Maschio (giocatore)
mp_f_freemode_01Femmina (giocatore)
s_m_y_cop_01Polizia maschio
s_f_y_cop_01Polizia femmina
mp_m_freemode_01 + mp_f_freemode_01Unisex

WARNING

Usare il ped base sbagliato è l’errore più comune. Un vestito per mp_m_freemode_01 su un ped femmina causerà clipping o invisibilità.

Regola: Usa lo stesso ped base della mod. Se la mod dice “for player”, usa mp_m_freemode_01 o mp_f_freemode_01.


Passo 2: Organizzare i file

custom_clothes/
├── fxmanifest.lua
├── client.lua
└── stream/
    ├── mp_m_freemode_01_tshirt_01.ydd    ← Modello
    └── mp_m_freemode_01_tshirt_01.ytd    ← Texture

Passo 3: Creare pedvariation.meta (se non presente)

Le mod SP raramente includono pedvariation.meta. Devi crearlo:

<?xml version="1.0" encoding="UTF-8"?>
<CPedVariationData>
    <Item>
        <Name>mp_m_freemode_01</Name>
        <Components>
            <Item>
                <ComponentId>3</ComponentId>
                <Drawable>
                    <DrawableIndex>0</DrawableIndex>
                    <TextureIndex>0</TextureIndex>
                </Drawable>
            </Item>
        </Components>
    </Item>
</CPedVariationData>

Dove:

  • Name = ped base (es. mp_m_freemode_01)
  • ComponentId = parte del corpo (3 = torso, 4 = gambe, 6 = scarpe, ecc.)
  • DrawableIndex = 0 (il primo drawable)
  • TextureIndex = 0 (la prima texture)

Tabella Component ID

TIP

I Component ID più usati sono 3 (torso), 4 (gambe) e 6 (scarpe). Per gli accessori usa 7 (cravatte) o 8 (giubbotti).

IDParte
3Torso (magliette, giacche)
4Gambe (pantaloni)
5Mani (guanti)
6Scarpe
7Accessorio 1 (cravatte)
8Accessorio 2 (giubbotti)
11Body armor

Per Props (cappelli, occhiali)

<Props>
    <Item>
        <PropId>0</PropId>  <!-- 0 = cappello -->
        <Prop>
            <PropIndex>0</PropIndex>
            <TextureIndex>0</TextureIndex>
        </Prop>
    </Item>
</Props>

Passo 4: fxmanifest

-- fxmanifest.lua
fx_version 'cerulean'
game 'gta5'
 
author 'TuoNome'
description 'Police Shirt - Convertita da SP'
version '1.0.0'
 
-- I file .ydd e .ytd in stream/ sono caricati automaticamente
client_script 'client.lua'

Nota: I file .ydd in stream/ vengono caricati automaticamente. Non serve data_file.

INFO

A differenza di veicoli e armi, i file .ydd (modelli di abbigliamento) non richiedono dichiarazioni esplicite nel fxmanifest — FiveM li carica automaticamente dalla cartella stream/.


Passo 5: Script per applicare i vestiti

-- client.lua
 
RegisterCommand('uniform', function()
    local playerPed = PlayerPedId()
    
    -- Applica la maglietta (Component 3, Drawable 0, Texture 0)
    SetPedComponentVariation(playerPed, 3, 0, 0, 0)
    
    print('^2[CLOTHES] Uniforme applicata!')
end, false)
 
RegisterCommand('resetclothes', function()
    local playerPed = PlayerPedId()
    for id = 0, 11 do
        SetPedComponentVariation(playerPed, id, 0, 0, 0)
    end
    for id = 0, 6 do
        ClearPedProp(playerPed, id)
    end
end, false)

Passo 6: Convertire pacchetti .oiv di vestiti

I pacchetti .oiv di vestiti (es. pacchetti EUP-like) hanno struttura complessa:

clothing_pack.oiv/
└── mod/
    ├── Install/
    │   └── update/x64/dlcpacks/
    │       └── mp_m_freemode_01/
    │           ├── mp_m_freemode_01_tshirt_*.ydd
    │           └── mp_m_freemode_01_tshirt_*.ytd
    └── mod.xml

Conversione

  1. Estrai il .oiv (rinomina in .zip)
  2. Trova TUTTI i file .ydd e .ytd
  3. Copiali in stream/
  4. Crea pedvariation.meta con tutti i drawable

Per capire quali component/drawable/texture ID usare, guarda il nome:

  • mp_m_freemode_01_tshirt_01 → Component 3 (torso), Drawable 0
  • mp_m_freemode_01_tshirt_02 → Component 3, Drawable 1
  • mp_m_freemode_01_pants_01 → Component 4 (gambe), Drawable 0
  • mp_m_freemode_01_shoes_01 → Component 6 (scarpe), Drawable 0

Problemi Comuni

ProblemaCausaSoluzione
Vestito invisibileDrawableId erratoControlla il numero nel nome file (.ydd)
Texture biancaYTD mancanteCopia .ytd in stream/
ClippingSpessore insufficienteAggiungi spessore in Blender (Solidify)
Vestito non segue il corpoWeight painting erratoModella il capo direttamente sopra il ped base
Crash cambiando outfitYDD danneggiatoRiapri in CodeWalker per verificare
Ped base sbagliatoModello per ped diversoUsa il ped base corretto (maschio/femmina)

TIP


Torna alla: Indice Generale