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
| Errore | Causa | Soluzione |
|---|---|---|
| ”resource not found” | Risorsa non in resources/ | Sposta o controlla server.cfg |
| ”unknown resource” | Non avviata | ensure nome_risorsa nel server.cfg |
| ”file not found” | Percorso errato in fxmanifest | Controlla files {} |
| ”Failed to load” | fxmanifest malformato | Ricontrolla sintassi |
Risorsa caricata ma non funziona
| Sintomo | Causa | Soluzione |
|---|---|---|
| Modello invisibile | File mancanti in stream/ | Verifica .ydr/.yft/.ydd |
| Texture a scacchi | YTD mancante | Re-export con texture |
| Crash all’avvio | Meta file malformato | Valida XML |
| Nessun cambiamento | Cache vecchia | Cancella data/cache/ |
2. Problemi Mappe
| Errore | Causa | Soluzione |
|---|---|---|
| YMAP non caricato | Manca data_file 'DLC_ITYP_REQUEST' | Aggiungi nel fxmanifest |
| Oggetto invisibile | Nome YTYP ≠ nome YDR | Allinea i nomi |
| Collisione assente | YBN mancante | Genera .ybn |
| Giocatore cade attraverso | YBN non generato | Vedi Collisioni |
| Pedoni ignorano la mappa | NavMesh assente | Aggiungi NavMesh |
| Luci non funzionano di notte | Time flags errati | Usa CTimeArchetypeDef |
3. Problemi Armi
| Errore | Causa | Soluzione |
|---|---|---|
| Arma invisibile | Modello mancante o nome errato | Verifica .ydr e nome meta |
| Nessuna animazione | WeaponAnimations.meta mancante | Aggiungi data_file |
| Crash all’impugnatura | Modello FP assente | Crea FP o togli dal meta |
| Arma non raccoglibile | WeaponPickups.meta mancante | Aggiungi data_file |
| Arma senza suoni | SoundSet errato | Usa 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
| Errore | Causa | Soluzione |
|---|---|---|
| ”Model does not exist” | Nome errato o YFT non caricato | Controlla fxmanifest e YMT |
| Ped invisibile | YTD mancante | Re-export |
| Ped T-pose | Rigging mancante | Verifica weight painting |
| Crash allo spawn | YMT malformato | Valida XML |
| Ped non si muove | MovementGroup errato | Cambia nello YMT |
| Ped senza voce | VoiceGroup errato | Usa voice group esistente |
5. Problemi Vestiti
| Errore | Causa | Soluzione |
|---|---|---|
| Vestito invisibile | DrawableId errato o YDD mancante | Controlla stream/ |
| Texture bianca | YTD mancante | Re-export |
| Capo non segue corpo | Weight painting errato | Ripesa |
| Clipping visibile | Spessore insufficiente | Aggiungi Solidify modifier |
| Crash cambiando outfit | YDD danneggiato | Re-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
| Errore | Causa | Soluzione |
|---|---|---|
| Veicolo invisibile | Model name errato in vehicles.meta | Verifica nome match YFT |
| Ruote staccate | Wheel bone mancante | Aggiungi skeleton |
| Non si muove | handling.meta o carvariations mancante | Aggiungi |
| Crash entrando | vehicles.meta con errori | Valida XML |
| Luci non funzionanti | carcols.meta mancante | Aggiungi |
| Suono motore errato | AudioHash errato | Usa hash esistente |
| Porte non apribili | Door bone mancante | Aggiungi ossa porte |
7. Problemi Suoni
| Errore | Causa | Soluzione |
|---|---|---|
| Nessun suono | Audio data non caricato | Aggiungi data_file 'AUDIO_WAVEPACK' |
| Suono distorto | Formato errato | WAV 16-bit 44100Hz mono |
| Suono non si ferma | Loop flag errato | Correggi sintetizzatore |
| Suono troppo basso | Volume errato | Regola gain |
| Crackling / Click | Transient non tagliato | Taglia nell’editor audio |
8. Problemi Script Lua
| Errore | Causa | Soluzione |
|---|---|---|
| ”attempt to call a nil value” | Funzione non caricata | Controlla fxmanifest |
| Evento non ricevuto | Nome errato | Ricontrolla tra client e server |
| Variabile nil | Non inizializzata | Inizializza prima dell’uso |
| Stack overflow | Loop infinito | Aggiungi Citizen.Wait() |
| Esport non trovato | Nome o ordine risorse errato | Controlla source risorsa |
8b. Problemi Server e Avvio
| Errore | Causa | Soluzione |
|---|---|---|
| ”invalid license key” all’avvio | License key errata o assente | Verifica sv_licenseKey nel server.cfg |
| Server non si vede nella lista | Porta bloccata / NAT | Apri 30120 TCP+UDP su firewall/port forward |
| ”resource not found” | Cartella mancante | Metti in resources/ e fai refresh |
| Risorsa non avviata | Mancante ensure nel server.cfg | Aggiungi ensure nome_risorsa |
| Ordine risorse errato | Dipendenza avviata dopo | Framework/librerie PRIMA degli script (modulo 11/03) |
| “one sync is not enabled” | onesync non impostato | Aggiungi onesync on nel server.cfg |
| Server lento (tick basso) | Script o entità pesanti | Profiler server + modulo Performance |
| Crash server su restart | Risorsa con init non pulito | Controlla onResourceStart e pulizia entità |
8c. Problemi di Sicurezza
| Sintomo | Causa | Soluzione |
|---|---|---|
| Giocatori si danno soldi | Evento senza validazione server | Vedi Validazione Eventi |
| Cheat funzionano | sv_scriptHookAllowed true | Tienilo false (modulo 11/03) |
| Entity che spariscono | Budget esaurito / leak | Pulisci entità (modulo 13/05) |
| Webhook Discord spammato | Webhook nel client | Sposta in config server-only (modulo 12/05) |
| Giocatori spawnano veicoli | Spawn non verificato | Verifica 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 Reason | Significato |
|---|---|
| EXCEPTION_ACCESS_VIOLATION | Accesso a memoria non valida |
| EXCEPTION_STACK_OVERFLOW | Stack 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
- Minimizza Wait(0) — Solo per input/armi
- Usa Wait() più alto possibile
- Evita GetGamePool in loop — Cache gli handle
- Distanza check prima di operazioni — Non processare oggetti lontani
- Usa eventi invece di polling
- Texture 2048x2048 invece di 4096x4096
- Riduci poligoni — target < 50k per YDR
Torna alla: Indice Generale