Come ridurre la densità degli NPC su FiveM

How to Reduce NPC Density in FiveM Safely

Risposta rapida: reduce ambient NPCs and traffic with a small client resource that calls the density multiplier natives every frame. Include both fxmanifest.lua and the client Lua file, start with a moderate value on staging, and measure the same route before and after. Do not promise an FPS gain: the result depends on the wider client resource and asset workload.

A volte, potresti voler ridurre il numero di personaggi non giocabili (PNG) o la loro densità nel mondo di gioco per migliorare le prestazioni del server o creare scenari di gioco specifici. In questo tutorial, ti mostreremo come ridurre il numero di PNG in FiveM.

Nota: Ridurre la densità degli NPC potrebbe richiedere una certa conoscenza dello scripting lato server in FiveM. Assicurati di avere accesso amministrativo al tuo server FiveM e di avere una conoscenza di base dello scripting Lua.

Prerequisiti:

  1. Un server FiveM. (Come impostare)
  2. Accesso amministrativo al server.
  3. Un editor di testo (ad esempio, Blocco note++) per modificare gli script Lua.
  4. Conoscenza di base dello scripting Lua.

Passi:

1. Accedi al tuo server FiveM:

  • Assicurati di avere accesso SSH o RDP al tuo server FiveM oppure di avere accesso al suo pannello di controllo.

2. Individua la cartella delle risorse:

  • Vai alla directory principale del tuo server FiveM.
  • Trova la cartella "risorse": qui si trovano gli script e le risorse del tuo server.

3. Crea un nuovo script Lua:

  • All'interno della cartella "resources", se necessario, crea una nuova directory, ad esempio "npc_reducer".
  • Dentro npc_reducer, creare fxmanifest.lua and a client script such as reduce_npc_density.lua. The manifest must declare the Lua file as a client_script or FiveM will not detect and load it as described below.

4. Modifica lo script Lua:

  • Apri il file “reduce_npc_density.lua” con il tuo editor di testo preferito.
  • Aggiungere il seguente codice Lua al file:
 Citizen.CreateThread(function()
 while true do
 Citizen.Wait(0)
 -- Adjust the number below to set the desired NPC density.
 local newDensity = 0.1 -- Modify this value as needed.
 SetVehicleDensityMultiplierThisFrame(newDensity)
 SetPedDensityMultiplierThisFrame(newDensity)
 SetRandomVehicleDensityMultiplierThisFrame(newDensity)
 SetParkedVehicleDensityMultiplierThisFrame(newDensity)
 SetScenarioPedDensityMultiplierThisFrame(newDensity, newDensity)
 end
 end)
  • Nel codice sopra, puoi modificare il newDensity variabile per controllare la densità di vari tipi di PNG e veicoli nel mondo di gioco. Un valore di 1.0 rappresenta la densità predefinita, mentre valori più piccoli la riducono.

5. Salvare e chiudere lo script Lua:

  • Salva le modifiche apportate allo script Lua e chiudi l'editor di testo.

6. Configura il tuo server.cfg:

  • Vai alla directory principale del tuo server FiveM.
  • Aprire il file “server.cfg” con un editor di testo.
  • Aggiungere la seguente riga al file:
 ensure npc_reducer
  • Questa riga garantisce che lo script “reduce_npc_density.lua” venga caricato all'avvio del server.

7. Riavvia il tuo server FiveM:

8. Regola la densità degli NPC in tempo reale:

  • Una volta che il server è di nuovo attivo, puoi regolare la densità degli NPC in tempo reale modificando il newDensity variabile nello script Lua. Valori più bassi ridurranno la densità dei PNG, mentre valori più alti la aumenteranno.

Hai imparato a ridurre la densità dei PNG in FiveM creando uno script Lua e configurando il server per caricarlo. Questo può aiutarti a ottimizzare le prestazioni del server o a creare scenari di gioco specifici con meno PNG sul tuo server FiveM di GTA V.

Se ti è stato utile, metti "Mi piace", condividi e commenta. :)

Risorse correlate

Add the required resource manifest

Cfx.re’s Lua resource guide states that a resource folder needs a manifest to be detected and that client_script tells the client runtime which file to load. Add this beside reduce_npc_density.lua:

fx_version 'cerulean'
game 'gta5'

client_script 'reduce_npc_density.lua'

The example uses SetPedDensityMultiplierThisFrame, SetScenarioPedDensityMultiplierThisFrame, SetVehicleDensityMultiplierThisFrame, SetRandomVehicleDensityMultiplierThisFrame E SetParkedVehicleDensityMultiplierThisFrame. Keep the loop client-side and yield every frame as shown. Test populated interiors, emergency traffic, missions and job scripts before rollout because reduced ambient populations can change gameplay as well as load.

Do not combine this approach with undocumented popcycle.dat edits during the same test. Change one control at a time, record the value, compare client performance and restore the previous resource if behavior regresses.

Primary references: Cfx.re Lua resource guide e il official CitizenFX native documentation repository.

Lascia un commento