Risoluzione Problemi — Errori Comuni e Soluzioni

QUESTION

Qualcosa non funziona?

Riferimento rapido per diagnosticare e risolvere i problemi più comuni nello sviluppo di risorse FiveM.


1. Problemi Generali

Risorsa non caricata

ErroreCausaSoluzione
”resource not found”Risorsa non in resources/Sposta o controlla server.cfg
”unknown resource”Non avviataensure nome_risorsa nel server.cfg
”file not found”Percorso errato in fxmanifestControlla files {}
”Failed to load”fxmanifest malformatoRicontrolla sintassi

Risorsa caricata ma non funziona

SintomoCausaSoluzione
Modello invisibileFile mancanti in stream/Verifica .ydr/.yft/.ydd
Texture a scacchiYTD mancanteRe-export con texture
Crash all’avvioMeta file malformatoValida XML
Nessun cambiamentoCache vecchiaCancella data/cache/

2. Problemi Mappe

ErroreCausaSoluzione
YMAP non caricatoManca data_file 'DLC_ITYP_REQUEST'Aggiungi nel fxmanifest
Oggetto invisibileNome YTYP ≠ nome YDRAllinea i nomi
Collisione assenteYBN mancanteGenera .ybn
Giocatore cade attraversoYBN non generatoVedi Collisioni
Pedoni ignorano la mappaNavMesh assenteAggiungi NavMesh
Luci non funzionano di notteTime flags erratiUsa CTimeArchetypeDef

3. Problemi Armi

ErroreCausaSoluzione
Arma invisibileModello mancante o nome erratoVerifica .ydr e nome meta
Nessuna animazioneWeaponAnimations.meta mancanteAggiungi data_file
Crash all’impugnaturaModello FP assenteCrea FP o togli dal meta
Arma non raccoglibileWeaponPickups.meta mancanteAggiungi data_file
Arma senza suoniSoundSet erratoUsa SoundSet esistente

WARNING

Se l’arma crasha quando la impugni, il problema è quasi sempre il modello First Person mancante o il nome del modello che non matcha col meta.


4. Problemi Ped

ErroreCausaSoluzione
”Model does not exist”Nome errato o YFT non caricatoControlla fxmanifest e YMT
Ped invisibileYTD mancanteRe-export
Ped T-poseRigging mancanteVerifica weight painting
Crash allo spawnYMT malformatoValida XML
Ped non si muoveMovementGroup erratoCambia nello YMT
Ped senza voceVoiceGroup erratoUsa voice group esistente

5. Problemi Vestiti

ErroreCausaSoluzione
Vestito invisibileDrawableId errato o YDD mancanteControlla stream/
Texture biancaYTD mancanteRe-export
Capo non segue corpoWeight painting erratoRipesa
Clipping visibileSpessore insufficienteAggiungi Solidify modifier
Crash cambiando outfitYDD danneggiatoRe-export da Blender

TIP

Il clipping (parti della pelle che escono dal vestito) si risolve con un Solidify Modifier in Blender o aumentando lo spessore.


6. Problemi Veicoli

ErroreCausaSoluzione
Veicolo invisibileModel name errato in vehicles.metaVerifica nome match YFT
Ruote staccateWheel bone mancanteAggiungi skeleton
Non si muovehandling.meta o carvariations mancanteAggiungi
Crash entrandovehicles.meta con erroriValida XML
Luci non funzionanticarcols.meta mancanteAggiungi
Suono motore erratoAudioHash erratoUsa hash esistente
Porte non apribiliDoor bone mancanteAggiungi ossa porte

7. Problemi Suoni

ErroreCausaSoluzione
Nessun suonoAudio data non caricatoAggiungi data_file 'AUDIO_WAVEPACK'
Suono distortoFormato erratoWAV 16-bit 44100Hz mono
Suono non si fermaLoop flag erratoCorreggi sintetizzatore
Suono troppo bassoVolume erratoRegola gain
Crackling / ClickTransient non tagliatoTaglia nell’editor audio

8. Problemi Script Lua

ErroreCausaSoluzione
”attempt to call a nil value”Funzione non caricataControlla fxmanifest
Evento non ricevutoNome erratoRicontrolla tra client e server
Variabile nilNon inizializzataInizializza prima dell’uso
Stack overflowLoop infinitoAggiungi Citizen.Wait()
Esport non trovatoNome o ordine risorse erratoControlla source risorsa

8b. Problemi Server e Avvio

ErroreCausaSoluzione
”invalid license key” all’avvioLicense key errata o assenteVerifica sv_licenseKey nel server.cfg
Server non si vede nella listaPorta bloccata / NATApri 30120 TCP+UDP su firewall/port forward
”resource not found”Cartella mancanteMetti in resources/ e fai refresh
Risorsa non avviataMancante ensure nel server.cfgAggiungi ensure nome_risorsa
Ordine risorse erratoDipendenza avviata dopoFramework/librerie PRIMA degli script (modulo 11/03)
“one sync is not enabled”onesync non impostatoAggiungi onesync on nel server.cfg
Server lento (tick basso)Script o entità pesantiProfiler server + modulo Performance
Crash server su restartRisorsa con init non pulitoControlla onResourceStart e pulizia entità

8c. Problemi di Sicurezza

SintomoCausaSoluzione
Giocatori si danno soldiEvento senza validazione serverVedi Validazione Eventi
Cheat funzionanosv_scriptHookAllowed trueTienilo false (modulo 11/03)
Entity che sparisconoBudget esaurito / leakPulisci entità (modulo 13/05)
Webhook Discord spammatoWebhook nel clientSposta in config server-only (modulo 12/05)
Giocatori spawnano veicoliSpawn non verificatoVerifica owner nel DB (modulo 12/03)

9. Crash e Diagnostica Avanzata

WARNING

Se FiveM crasha, non ignorare i crash log. Contengono la causa esatta del problema.

Leggere i Crash Log

# Client
%localappdata%/FiveM/FiveM.app/logs/
├── crash_log_YYYY-MM-DD_HH-MM-SS.txt
├── CitizenFX.log
└── stderr.txt
# Server (nella cartella del server / txData)
txData/<instance>/logs/
├── crash.log          ← Crash del server
├── server.log         ← Log completo del server
└── txAdmin-*.log      ← Log di txAdmin

NOTE

I crash del server si leggono nei log di txData/<instance>/logs/. txAdmin mostra anche gli errori di runtime delle risorse nella Live Console.

Struttura di un Crash Log

// Crash reason: EXCEPTION_ACCESS_VIOLATION (c0000005)
// Address: 0x7FF6A3B21452
// Symbol: +0x521452 (gta5.exe)
Crash ReasonSignificato
EXCEPTION_ACCESS_VIOLATIONAccesso a memoria non valida
EXCEPTION_STACK_OVERFLOWStack overflow (loop infinito)

Trovare il Resource Responsabile

Nel CitizenFX.log:

[scripting] Error: ...my_resource/client.lua:25: attempt to index nil

Cerchi: nome_risorsa + file.lua:linea + tipo errore.

Comandi Console (F8)

reslist          ← Elenca risorse caricate
status           ← Stato server
status risorsa   ← Stato specifico

Performance Optimization

frame_time < 16ms  = 60 FPS
Game > 10ms        = troppi modelli/texture
Script > 5ms       = loop pesanti

Regole d’Oro Performance

  1. Minimizza Wait(0) — Solo per input/armi
  2. Usa Wait() più alto possibile
  3. Evita GetGamePool in loop — Cache gli handle
  4. Distanza check prima di operazioni — Non processare oggetti lontani
  5. Usa eventi invece di polling
  6. Texture 2048x2048 invece di 4096x4096
  7. Riduci poligoni — target < 50k per YDR

Torna alla: Indice Generale