Configuration
Les réglages de cette page se trouvent dans config.lua. Modifiez les champs des tables existantes et redémarrez la ressource pour appliquer les changements.
Valeurs initiales et réglages enregistrés
Les boutiques et les règles de progression du fichier servent de configuration initiale. Une fois leurs valeurs enregistrées depuis le panneau d’administration, elles restent effectives après les redémarrages. Les modifier dans le fichier ne remplace pas automatiquement les valeurs enregistrées : utilisez le panneau pour mettre à jour les boutiques, les règles et les options du système déjà initialisées.
La langue, les providers, les bridges, la caméra et la tenue d’aperçu se configurent dans le fichier. Les sources et les tatouages sont décrits dans Catalogue et packs.
Langue globale
Config.Locale = 'es'
Config.LocaleFallback = 'en'
Locale définit la langue de l’interface et des messages pour tous les joueurs. Redémarrez la ressource après l’avoir modifié ; le joueur ne peut pas la changer depuis la NUI. LocaleFallback définit la langue de secours.
Langues incluses : en, es, pt-BR, fr, de, it, pl, ru, tr, th et ar. L’interface arabe utilise une direction de lecture de droite à gauche.
Système d’identités
Config.Identity configure l’intégration au système d’identités du serveur. Ce réglage définit comment obtenir l’identifiant du personnage ou du compte que la ressource utilise pour enregistrer et récupérer les tatouages, l’XP et les blueprints.
Config.Identity.mode = 'auto'
Config.Identity.qbxResource = 'qbx_core'
| Mode | Utilisation |
|---|---|
auto | Sur Qbox, utilise l’identifiant du personnage actif (citizenid). Sur les autres serveurs, utilise l’identifiant FiveM stable. |
qbx_character | Utilise explicitement l’identifiant du personnage Qbox (citizenid). |
license | Utilise la licence FiveM comme identifiant de compte. Les personnages de ce compte partagent leurs tatouages, leur XP et leurs blueprints. |
Choisissez le mode avant d’ouvrir la ressource aux joueurs. Le modifier ensuite change l’identité utilisée pour rechercher les données ; les données ne sont pas transférées automatiquement d’un mode à l’autre. Ne sélectionnez pas license si vous souhaitez séparer les tatouages entre les personnages d’un même compte.
Notification d’interaction
Config.HelpText.enabled = true
Config.HelpText.provider = 'auto'
Config.HelpText.position = 'left-center'
| Champ | Valeurs ou effet |
|---|---|
enabled | Affiche ou masque la notification d’interaction des boutiques avec marqueur. |
provider | auto, ox_lib ou native. auto utilise TextUI si disponible et la notification native dans le cas contraire. |
position | left-center, right-center, top-center ou bottom-center pour TextUI. |
style | Couleurs, bordure, ombre, typographie et espacement intérieur de TextUI. |
Exemple de style :
Config.HelpText.style.backgroundColor = '#172328'
Config.HelpText.style.color = '#eef3f3'
Config.HelpText.style.fontSize = '15px'
Boutiques initiales
Config.Shops comprend six emplacements. Pour modifier une entrée initiale, conservez sa structure :
{
label = 'Tattoo Studio',
coords = vector3(322.62, 180.34, 103.59),
heading = 156.2,
drawDistance = 10.0,
interactDistance = 1.5,
shopRadius = 4.0,
marker = {
type = 1,
scale = vector3(1.0, 1.0, 1.0),
color = { r = 255, g = 100, b = 0, a = 100 },
},
},
| Champ | Utilisation |
|---|---|
label | Nom de la boutique. |
coords, heading | Position et orientation. |
drawDistance | Distance d’affichage du marqueur. |
interactDistance | Distance d’interaction. |
shopRadius | Rayon dans lequel l’opération de boutique est autorisée. |
marker.type, scale, color | Apparence du marqueur. |
Gardez interactDistance inférieur ou égal à shopRadius. Pour les boutiques déjà créées, utilisez la section dédiée du panneau d’administration ; ne vous attendez pas à ce qu’une modification du fichier recrée ou remplace ces boutiques.
Niveaux et XP
Réglage de Config.Levels | Valeur initiale | Utilisation |
|---|---|---|
enabled | true | Active la progression, les prérequis et les réductions. |
maxLevel | 10 | Niveau maximal. |
defaultXpPerTattoo | 10 | XP accordée pour un tatouage sans champ Xp. |
thresholds | Niveaux 1 à 10 | XP cumulée nécessaire pour chaque niveau. |
formula.base, formula.exponent | 100, 1.5 | Paramètres de la formule alternative des seuils. |
zoneRequirements | 1 pour chaque zone | Prérequis par zone en l’absence de prérequis individuel. |
discounts | Activé, 3 par niveau et maximum 25 | Réduction en pourcentage. |
blueprintSlots | Base 5, incrément 3 | Nombre de blueprints selon le niveau. |
Les seuils doivent commencer au niveau 1 avec 0 XP, se suivre sans saut et augmenter la quantité d’XP requise :
Config.Levels.thresholds = {
{ level = 1, xpRequired = 0 },
{ level = 2, xpRequired = 100 },
{ level = 3, xpRequired = 250 },
}
Config.Levels.maxLevel = 3
La réduction est calculée comme niveau × perLevel, dans la limite de maxDiscount. Avec les valeurs initiales, le niveau 5 donne une réduction de 15 % et la réduction maximale est de 25 %.
Le nombre de places est calculé comme base + (niveau - 1) × perLevel. Avec la configuration initiale, le niveau 1 en compte 5 et le niveau 5 en compte 17.
Un RequiredLevel individuel dans le catalogue est prioritaire sur le prérequis de zone. Consultez les champs du catalogue.
Lorsque les niveaux sont désactivés, aucune restriction de niveau, XP ni réduction ne s’applique ; la limite des blueprints utilise Config.Blueprints.maxPerPlayer. La désactivation du système conserve l’XP enregistrée. Dans les installations déjà initialisées, mettez également à jour l’état effectif depuis le panneau.
Blueprints
Les blueprints enregistrent des groupes de tatouages et permettent de les partager au moyen de codes. Leurs limites initiales se trouvent dans Config.Blueprints :
| Champ | Valeur initiale | Utilisation |
|---|---|---|
enabled | true | Active le système. |
codePrefix | INK | Préfixe des codes, par exemple INK-A3X9. |
codeLength | 4 | Nombre de caractères après le préfixe. |
maxPerPlayer | 20 | Nombre de places utilisé quand la progression est inactive. |
maxTattoosPerBlueprint | 50 | Nombre maximal de tatouages par groupe. |
nameMaxLength | 60 | Nombre maximal de caractères du nom. |
L’utilisation d’un code prépare les tatouages dans le parcours d’achat ; elle ne donne pas droit à un achat gratuit. L’économie est configurée dans Intégrations.
Caméra
| Table | Contrôle |
|---|---|
CameraOffsets | Os ciblé, distance, décalages et champ de vision par zone. |
CameraFraming | Composition générale et décalage du point de mise au point. |
CameraFramingBySide | Réglages supplémentaires pour les vues avant et arrière. |
CameraManualControls | Commandes manuelles, pas de déplacement, rotation, zoom et limites. |
Les zones configurées sont ZONE_HEAD, ZONE_TORSO, ZONE_LEFT_ARM, ZONE_RIGHT_ARM, ZONE_LEFT_LEG et ZONE_RIGHT_LEG.
Exemples de modifications ciblées :
Config.CameraOffsets['ZONE_TORSO'].fov = 50.0
Config.CameraFraming.screenOffset = 0.35
Config.CameraManualControls.enabled = true
Config.CameraManualControls.step = 0.035
Config.CameraManualControls.zoomStep = 0.08
Une valeur positive de screenOffset place le personnage vers la gauche afin de laisser de la place au menu situé à droite. lookAtOffsetX/Y/Z modifie le point de mise au point ; camOffsetX/Y/Z dans les réglages par côté modifie la position de la caméra.
Dans les commandes manuelles, horizontalDegrees et rotationStepDegrees règlent la rotation. ranges.y/z, radialClamp et maxDistance limitent les déplacements. zoomCompositionMinBias ajuste le centrage lors du zoom avant. Modifiez une valeur à la fois et testez les six zones avec des personnages masculins et féminins.
Tenue d’aperçu
Config.PreviewOutfit permet de dégager les zones tatouées pendant que l’interface est ouverte :
Config.PreviewOutfit.enabled = true
Config.PreviewOutfit.useDefaultVariation = false
Config.PreviewOutfit.presets['mp_m_freemode_01'].components[11] = {
drawable = 15,
texture = 0,
}
Les presets fournis distinguent mp_m_freemode_01 et mp_f_freemode_01. Chaque composant indique drawable et texture ; clearProps retire les accessoires pendant l’aperçu. Ajustez les index aux vêtements installés sur votre serveur. Gardez useDefaultVariation = false si vous voulez appliquer uniquement les composants du preset sans réinitialiser globalement l’apparence.
Permissions, économie et Qbox
Config.Permissions, Config.AdminCommand, Config.Purchases et Config.QbxMulticharacterPreview sont expliqués dans Intégrations. Configurez les noms réels de vos ressources lorsqu’ils diffèrent des valeurs par défaut.
Diagnostic
Config.Debug active le diagnostic général. Config.Permissions.debug permet d’examiner les décisions d’accès. Laissez les deux options désactivées lorsque vous avez terminé.
Config.DebugCommands.clientTattooCommand est désactivé par défaut. Activez cette commande visuelle uniquement pour les tests : elle n’enregistre pas de tatouage et ne remplace pas un achat.