Snel antwoord: verlaag de omgevingsgeluiden NPCs en het verkeer met een kleine clientbron die elke frame de dichtheidsvermenigvuldiger natives aanroept. Inclusief beide fxmanifest.lua en het client Lua-bestand, begin met een gematigde waarde op staging en meet dezelfde route voor en na. Beloof geen FPS-winst: het resultaat is afhankelijk van de bredere clientbron en de workload van assets.
Soms wil je het aantal niet-speelbare personages (NPC's) of hun dichtheid in de gamewereld verminderen om de serverprestaties te verbeteren of specifieke gameplay-scenario's te creëren. In deze tutorial laten we je zien hoe je NPC's kunt verminderen in FiveM.
Notitie: Het verminderen van de NPC-dichtheid kan enige kennis van server-side scripting in FiveM vereisen. Zorg ervoor dat u administratieve toegang hebt tot uw FiveM-server en een basiskennis van Lua-scripting.
Voorwaarden:
- Een FiveM-server. (Hoe in te stellen)
- Administratieve toegang tot de server.
- Een teksteditor (bijv., Notepad++) voor het bewerken van Lua-scripts.
- Basiskennis van Lua-scripting.
Stappen:
1. Toegang tot uw FiveM-server:
- Zorg ervoor dat u SSH- of RDP-toegang hebt tot uw FiveM-server, of toegang tot het configuratiescherm.
2. Zoek uw resources-map:
- Navigeer naar de hoofdmap van uw FiveM-server.
- Zoek de map “resources”; hier bevinden zich de scripts en bronnen van uw server.
3. Maak een nieuw Lua-script:
- Maak in de map “resources” indien nodig een nieuwe map aan, bijvoorbeeld “npc_reducer”.”
- Binnen
npc_reducer, maakfxmanifest.luaen een client-script zoalsreduce_npc_density.lua. Het manifest moet het Lua-bestand declareren als eenclient_scriptof FiveM zal het niet detecteren en laden zoals hieronder beschreven.
4. Bewerk het Lua-script:
- Open het bestand “reduce_npc_density.lua” met uw favoriete teksteditor.
- Voeg de volgende Lua-code toe aan het bestand:
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)
- In de bovenstaande code kunt u de
newDensityvariabele aanpassen om de dichtheid van verschillende soorten NPC's en voertuigen in de spelwereld te regelen. Een waarde van1.0vertegenwoordigt de standaarddichtheid, terwijl kleinere waarden deze verminderen.
5. Sla het Lua-script op en sluit het:
- Sla de wijzigingen die u in het Lua-script hebt aangebracht op en sluit de teksteditor.
6. Configureer uw server.cfg:
- Navigeer naar de hoofdmap van uw FiveM-server.
- Open het “server.cfg” bestand met een teksteditor.
- Voeg de volgende regel toe aan het bestand:
ensure npc_reducer
- Deze regel zorgt ervoor dat je “reduce_npc_density.lua” script wordt geladen wanneer de server start.
7. Herstart je FiveM server:
- Sla het “server.cfg” bestand en herstart je FiveM server om de wijzigingen toe te passen.
8. Pas de NPC-dichtheid in real-time aan:
- Zodra je server weer online is, kun je de NPC-dichtheid in real-time aanpassen door de
newDensityvariabele in het Lua-script te wijzigen. Lagere waarden verminderen de NPC-dichtheid, terwijl hogere waarden deze verhogen.
Je hebt succesvol geleerd hoe je NPC's (dichtheid) in FiveM kunt verminderen door een Lua-script te maken en je server te configureren om het te laden. Dit kan je helpen om serverprestaties te optimaliseren of specifieke gameplay-scenario's te creëren met minder NPC's in je GTA V FiveM server.
Like, deel en reageer als dit je heeft geholpen. :)
Gerelateerde resources
Voeg het vereiste resource-manifest toe
Cfx.re's Lua resourcegids stelt dat een resource-map een manifest nodig heeft om gedetecteerd te worden en dat client_script vertelt de client-runtime welk bestand geladen moet worden. Voeg dit naast reduce_npc_density.lua:
fx_version 'cerulean'
game 'gta5'
client_script 'reduce_npc_density.lua'
Het voorbeeld gebruikt SetPedDensityMultiplierThisFrame, SetScenarioPedDensityMultiplierThisFrame, SetVehicleDensityMultiplierThisFrame, SetRandomVehicleDensityMultiplierThisFrame En SetParkedVehicleDensityMultiplierThisFrame. Houd de loop aan de clientzijde en yield elke frame zoals getoond. Test bevolkte interieurs, noodverkeer, missies en job-scripts voor uitrol, omdat verminderde omgevingspopulaties de gameplay en de belasting kunnen veranderen.
Combineer deze aanpak niet met ongedocumenteerde popcycle.dat wijzigingen tijdens dezelfde test. Wijzig één instelling tegelijk, noteer de waarde, vergelijk de prestaties van de client en herstel de vorige bron als het gedrag achteruitgaat.
Primaire referenties: Cfx.re Lua-bronnenhandleiding en de officiële CitizenFX native documentatierepo.
