fxmanifest per Mappe

INFO

Configurazione finale della risorsa per far funzionare la mappa su FiveM.

ObiettivoDettagli
Cosa impareraiConfigurare il fxmanifest per risorse di mappe FiveM
PrerequisitiFile YDR, YBN, YTD, YTYP, YMAP pronti

Struttura Finale della Risorsa

my_map_resource/
├── fxmanifest.lua
└── stream/
    ├── mio_edificio.ydr       ← Geometria
    ├── mio_edificio.ybn       ← Collisione
    ├── mio_edificio.ytd       ← Texture
    ├── mio_edificio.ytyp      ← Archetype
    └── mio_edificio.ymap      ← Posizionamento

fxmanifest Base

-- fxmanifest.lua
fx_version 'cerulean'
game 'gta5'
 
author 'TuoNome'
description 'Mappa Custom - Mio Edificio'
version '1.0.0'
 
-- Registra gli archetype (fondamentale!)
data_file 'DLC_ITYP_REQUEST' 'stream/*.ytyp'

INFO

Dato che tutti i file sono nella cartella stream/, FiveM li carica automaticamente. L’unica eccezione è lo .ytyp che richiede data_file 'DLC_ITYP_REQUEST'.


fxmanifest per MLO (Interni)

fx_version 'cerulean'
game 'gta5'
 
author 'TuoNome'
description 'MLO Custom - Interno Banca'
version '1.0.0'
 
data_file 'DLC_ITYP_REQUEST' 'stream/*.ytyp'
 
-- Specifico per MLO: porta girevoli, teleporter
client_script 'client.lua'
server_script 'server.lua'

Con client.lua:

-- client.lua
-- Gli MLO con entity sets possono essere attivati via script
-- quando il giocatore è nella zona.
 
-- NOTA: la geometria e il posizionamento sono già gestiti da
-- FiveM (stream/ + data_file DLC_ITYP_REQUEST). Non serve un
-- loop che "carica" la mappa: FiveM lo fa da solo.
 
local interiorCoords = vec3(100.0, -200.0, 25.0)
local interiorRadius = 50.0
 
-- Attiva gli entity sets dell'MLO quando il giocatore entra
CreateThread(function()
    local lastInside = false
    while true do
        Wait(500) -- controlli a bassa frequenza, non Wait(0)
        local dist = #(GetEntityCoords(PlayerPedId()) - interiorCoords)
        local inside = dist < interiorRadius
 
        if inside and not lastInside then
            local interiorId = GetInteriorAtCoords(interiorCoords.x, interiorCoords.y, interiorCoords.z)
            if interiorId ~= 0 then
                -- Esempio: accendi le luci dell'MLO
                EnableInteriorProp(interiorId, 'set_bank_lights')
                RefreshInterior(interiorId)
            end
        elseif not inside and lastInside then
            local interiorId = GetInteriorAtCoords(interiorCoords.x, interiorCoords.y, interiorCoords.z)
            if interiorId ~= 0 then
                DisableInteriorProp(interiorId, 'set_bank_lights')
                RefreshInterior(interiorId)
            end
        end
 
        lastInside = inside
    end
end)

fxmanifest per Oggetti Decorativi

fx_version 'cerulean'
game 'gta5'
 
author 'TuoNome'
description 'Decorazioni Città - Lampioni e Panchine'
version '1.0.0'
 
data_file 'DLC_ITYP_REQUEST' 'stream/*.ytyp'
 
-- Opzionale: modifica del timecycle o della time
client_script 'timecycle.lua'

Riepilogo: Template Universale

-- fxmanifest.lua — Template per mappe custom
fx_version 'cerulean'
game 'gta5'
 
author 'IL_TUO_NOME'
description 'DESCRIZIONE_MAPPA'
version '1.0.0'
 
-- CORE: dice a FiveM di caricare gli archetype
data_file 'DLC_ITYP_REQUEST' 'stream/*.ytyp'
 
-- Opzionale: se hai anche script
client_script 'client.lua'
server_script 'server.lua'

Test della Risorsa

  1. Metti la cartella in resources/
  2. Aggiungi ensure my_map_resource in server.cfg
  3. Avvia il server
  4. Vai alle coordinate dello YMAP

Comandi di Debug

TIP

Usa questi comandi in console F8 per verificare che la risorsa sia caricata senza errori.

# Verifica che la risorsa sia caricata
status

# In console F8
reslist

# Verifica errori specifici della risorsa
# Cerca nel log: "my_map_resource"

TIP

✅ Modulo Mappe completato! Passa al Modulo 03 — Armi Custom.


Torna alla: Indice Generale