Vous en avez marre de croiser des PNJ qui conduisent comme dans GTA San Andreas, qui bloquent les routes ou qui réapparaissent comme par magie à chaque coin de rue ? Nous aussi. Alors aujourd’hui, on va voir ensemble comment désactiver ces personnages non-joueurs sur votre serveur FiveM, étape par étape.
Pourquoi désactiver les PNJ sur FiveM ?
Avant de plonger dans les fichiers et les scripts, posons-nous une minute. Pourquoi est-ce qu’on voudrait supprimer les PNJ ?
👉 Voici les raisons principales :
- Améliorer les performances serveur : Moins de PNJ = moins de charge côté serveur.
- Créer une ambiance RP plus réaliste : Dans un serveur RP sérieux, on préfère des interactions entre joueurs plutôt que des PNJ qui errent sans but.
- Éviter les bugs ou collisions : Qui n’a jamais vu un PNJ foncer dans une scène importante et ruiner l’immersion ?
- Contrôle total : Vous êtes maître de votre monde. Pourquoi laisser l’IA gâcher l’ambiance ?
Bref, vous l’aurez compris, les PNJ c’est sympa… mais parfois, on s’en passerait bien.
Désactiver les PNJ : plusieurs méthodes
Il existe plusieurs façons de faire, selon si vous voulez supprimer tous les PNJ, seulement ceux en voiture, ou encore bloquer les réapparitions. On vous détaille tout, promis, c’est plus simple que ça en a l’air.
1. Désactiver tous les PNJ civils et véhicules
Voici un script simple à intégrer dans un fichier client (client.lua) :
Citizen.CreateThread(function()
while true do
Citizen.Wait(0)
-- Supprime les PNJ civils
SetPedDensityMultiplierThisFrame(0.0)
SetScenarioPedDensityMultiplierThisFrame(0.0, 0.0)
-- Supprime les véhicules civils
SetRandomVehicleDensityMultiplierThisFrame(0.0)
SetParkedVehicleDensityMultiplierThisFrame(0.0)
SetVehicleDensityMultiplierThisFrame(0.0)
end
end)
🛠️ À savoir : Ce script fonctionne en boucle infinie pour appliquer les changements à chaque frame, car GTA V recrée constamment les PNJ automatiquement.

2. Désactiver les services (ambulances, flics, pompiers)
Si vous voulez aussi bloquer les forces de l’ordre ou les secours :
Citizen.CreateThread(function()
while true do
Citizen.Wait(0)
-- Empêche l’apparition des services
DisableDispatchService(1, true) -- Police
DisableDispatchService(2, true) -- Ambulance
DisableDispatchService(3, true) -- Pompiers
-- Vous pouvez aller jusqu'à DisableDispatchService(15, true)
end
end)
💡 Astuce : Combinez ce code au précédent dans le même fichier ou créez un resources dédié type no-npc.
3. Bloquer les PNJ armés
Dans certains cas, des PNJ apparaissent armés (surtout dans les zones de gang). Pour éviter ça :
SetCreateRandomCops(false)
SetCreateRandomCopsNotOnScenarios(false)
SetCreateRandomCopsOnScenarios(false)
À placer aussi dans un Citizen.CreateThread, toujours.
Où placer le code ?
On vous recommande de :
- Créer un dossier
no-npcdans votre dossierresources. - Y mettre un
fxmanifest.luaavec le contenu suivant :
fx_version 'cerulean'
game 'gta5'
client_script 'client.lua'
- Créer votre
client.luaavec les codes ci-dessus. - Ajouter
ensure no-npcdans votreserver.cfg.
✅ Résultat : Plus de PNJ, plus de voitures aléatoires, plus de flics à vos trousses… la paix, enfin.
Peut-on garder certains PNJ utiles ?
Bonne question. Parfois, vous voulez des PNJ vendeurs, des PNJ de job, etc. Dans ce cas, ne désactivez pas tout. Utilisez des multiplicateurs partiels :
SetPedDensityMultiplierThisFrame(0.3)
Cela permet de réduire, sans supprimer.
En résumé
| Objectif | Code à utiliser |
|---|---|
| Supprimer tous les PNJ | SetPedDensityMultiplierThisFrame(0.0) |
| Supprimer véhicules civils | SetVehicleDensityMultiplierThisFrame(0.0) |
| Désactiver services (police…) | DisableDispatchService() |
| Bloquer cops armés aléatoires | SetCreateRandomCops(false) |
Notre avis chez HanoHost
Franchement ? Pour un serveur RP propre, c’est quasi indispensable. Trop de PNJ tue l’ambiance. Cela dit, on recommande de faire des tests, car sur certains serveurs, une absence totale de vie peut rendre l’environnement trop vide. Trouvez le bon équilibre selon votre concept de serveur.
Besoin d’aide ?
Chez HanoHost Hébergement, on connaît bien le terrain. Si vous avez besoin qu’on vous assiste dans l’optimisation ou le paramétrage de votre serveur, on est là. Et bien sûr, toutes nos offres sont 100% compatibles avec les scripts personnalisés comme celui-là.
