Salta ai contenuti

Crumbs e debug

I crash del client in FiveM non dicono quasi nulla. I crumbs sono le ultime cose successe prima, salvate in KVP così sopravvivono al crash.

Includilo nel tuo manifest:

client_script '@bs_core/shared/sh_crumbs.lua'

e lascia crumbs dove le cose possono andare storte:

Crumb('radiotower', 'spawn prop %s at %.1f %.1f', model, x, y)

La stringa viene formattata solo quando i crumbs sono attivi, quindi costa poco. Configurazione in bs_core:

Config.Crumbs = {
enabled = true,
keep = 40, -- entries kept
saveMs = 2000, -- KVP write interval
}

Dopo un crash, al prossimo avvio viene stampato [crumbs] last session: in F8. /bs_crumbs stampa la sessione corrente. Export: Crumb(tag, msg), CrumbsOn(), Crumbs().

Buoni posti per un crumb: prima di creare entità, caricare modelli/dizionari di animazioni, attaccare prop, qualsiasi native su un’entità che potrebbe non esistere più.

bs_core ha BS.Log.info/warn/error/debug(tag, msg), livello da Config.Framework.logLevel. Nelle altre risorse non hai BS.Log a meno di includere il framework, un semplice print con il nome della risorsa va bene.

ComandoDove
/bs_crumbsclientcrumbs di questa sessione
/refreshuiclientchiudi ogni pannello, rilascia il focus NUI
/znet, /zsync, /zdiagserverstato degli zombie, vedi Zombie
/znetc, /zgait, /zanim, /poolsclientped zombie sul tuo client, pool dei ped
/hotbardebugbarra rapida dell’inventario
/prefsdebugserverpreferenze admin
bsconfig_activeconsoleprofilo F1 attivo

Più quelli standard di FiveM: resmon 1 e profiler record.

Molte configurazioni hanno un flag debug = false (Skills.Recoil.debug, Zombies.Net.debug, Guard.Settings.debug, Inventory.BodyRender.debug). Attiva quello che ti serve, non tutti.

  • cosa hai fatto e cosa ti aspettavi
  • righe della console del server attorno al problema
  • F8 per i problemi del client, crumbs per i crash
  • per gli zombie: output di /znet e /zsync