Core Skin (3 in 1)
Barbier, salon de tatouage et magasin de vêtements dans une seule ressource FiveM. 1615 tatouages, tous les composants et props de vêtements, tout le visage et la peau, répartis sur 36 boutiques. Une interface, une caméra, un flux d'achat, et une seule chose à installer sur ESX, QBCore, vRP ou en standalone.
Ce que contient ce pack
Économisez 15,00 €Ce qu'il fait
Le problème de l'emplacement de décorations, supprimé plutôt que géré
Un ped GTA n'a qu'un seul emplacement de décorations, partagé par toutes les ressources du serveur, et le vider le vide pour tout le monde. Les hair bases et les tatouages y vivent tous les deux. Avec les trois ressources séparées, chacune doit remettre les autres après chaque redraw, ce qui marche mais reste une trêve. Ici tout est dessiné et sauvegardé ensemble.
Spécifications
techniques
Tout ce que vous
recevez
-
Les trois boutiques, à un seul prix
Le barbier, le salon de tatouage et le magasin de vêtements, avec tout ce que chacun embarque séparément. Le pack coûte moins que les trois achetées à part, et vous pouvez toujours couper un module si vous n'en voulez que deux.
-
Quinze fichiers de langue, livrés remplis
Vos joueurs lisent le script dans leur langue dès le premier démarrage, et les fichiers sont hors escrow, donc vous pouvez corriger n'importe quelle ligne en production. Note honnête : ils sont traduits et relus par nos soins, pas par des natifs des quinze langues. Dites-nous ce qui sonne faux dans la vôtre, c'est corrigé.
-
Huit bridges, un fichier chacun
Framework, notifications, interaction, vêtements, inventaire, décorations, captures d'écran et compat. Chaque fichier documente ses cibles, ce qu'il détecte, et ce que chaque cible vous coûte. La détection sonde l'export réel plutôt que l'état de la ressource, un export renommé dégrade donc en silence au lieu de planter au démarrage.
-
Tout ce qui se règle reste ouvert
Les 36 boutiques, toutes les tables de prix, les multiplicateurs de collection, les corrections de zone, la caméra, l'éclairage, les listes VIP et les overrides que l'éditeur en jeu écrit. `config/*.lua`, `locales/*.lua` et `bridges/*.lua` sont hors escrow et modifiables en production.
Guide d'intégration
Installation
-
Déposez la ressource
Récupérez le script depuis votre compte Tebex, copiez le dossier dans votre dossier resources et ajoutez
ensure avenida_core_skinà votre config serveur, aprèsensure oxmysql. Gardez le nom du dossier tel qu'il est livré, c'est lui qui fait le nom de la ressource. -
Passez le SQL, toute la section [A]
La section [A] contient toutes les tables de la ressource, y compris le registre des vêtements payés. Les sections [B], [C] et [D] sont conditionnelles et le fichier dit quand chacune s'applique. La [D] est celle des items d'inventaire, utile seulement si vous activez
Config.Clothes.GiveAsItems, et c'est celle qu'on oublie. -
Choisissez vos modules
Ouvrez
config/config.luaet réglezConfig.Modules. Un module à false ne coûte rien du tout : pas de blip, pas de point d'interaction, pas de thread. Profitez-en pour vérifierConfig.Locale. -
Donnez-vous les permissions
Ajoutez
add_ace group.admin avenida_skin.admin allowetadd_ace group.admin avenida_skin.vip allow. La première ouvre l'éditeur de catalogue en jeu, la seconde débloque ce que vous placez derrière la liste VIP. -
Contrôlez les intégrations
Mettez
Config.Debug = true, redémarrez, et lisez la console : une ligne par catégorie de bridge nomme la cible retenue. Repassez àfalseune fois que les lignes correspondent à votre serveur, et retenez qu'il ne pilote que les logs, l'éditeur a son propre interrupteur.
Démarrage rapide
Ne faire tourner que les boutiques utiles
Les trois modules sont indépendants. Un serveur qui a déjà un magasin de vêtements qui lui plaît garde le barbier et le salon de tatouage, et rien du module coupé ne tourne.
-- config/config.lua
Config.Modules = {
Barber = true,
Tattoo = true,
Clothes = false, -- no blip, no point, no thread
}
Config.Locale = 'en'
Config.Framework = 'auto' -- 'qbcore' | 'esx' | 'vrp' | 'standalone' | 'custom'
Config.Notif = 'auto'
Config.Interact = 'auto'
Config.Clothing = 'auto'Référence API
Exports publics groupés par domaine. Chaque ligne montre la signature d'appel
Client
GetHairbase
exports['avenida_skin']:GetHairbase() --> { c = collection, t = nameHash } | nilLa racine de cheveux portée par le ped. Le pack fait tourner les trois boutiques sur un seul emplacement de décoration, donc c'est l'unique endroit où la lire, quelle que soit la boutique visitée en dernier.
GetTattoos
exports['avenida_skin']:GetTattoos() --> { { c, t }, ... }Les tatouages actuellement sur le ped. Comme le barbier, l'encre et la penderie partagent ici un seul registre, vous obtenez une liste unique au lieu d'interroger trois ressources pour la même réponse.
Server
GetBagStorage
exports['avenida_skin']:GetBagStorage(sex, drawable) --> { weight, slots } | nilCe que vaut un drawable de sac en poids et en emplacements, lu depuis la configuration de la penderie. Renvoie nil pour un drawable qui n'est pas déclaré comme sac.
Recettes
Exemples copier-coller pour les cas courants. À déposer dans ta ressource, ajuster les valeurs, et c'est en prod.
Chaque magasin déclare ses sections, et chaque section son mode de tarification. Un forfait pour toute une section, un multiplicateur qui rend les drawables suivants plus chers, ou une table quand seules quelques pièces méritent leur propre prix.
-- config/clothes_shops.lua
categories = {
tops = {
enabled = true,
price = { mode = 'fixed', base = 300 },
},
pants = {
enabled = true,
-- price = base + index * mult
price = { mode = 'multiplier', base = 100, mult = 2 },
},
mask = {
enabled = true,
price = { mode = 'table', map = { [12] = 900, [45] = 1500 } },
},
}Un tarif unique couvre les 1615 motifs, et un multiplicateur par collection DLC fait le reste, vous ne tarifez donc jamais un catalogue à la main. Le détatouage garde son propre prix et n'est jamais multiplié.
-- config/tattoo.lua
Config.Tattoo.Prices = {
flat = 1000,
reset = 3000, -- laser removal, per tattoo removed
}
Config.Tattoo.CollectionMultipliers = {
multiplayer_overlays = 0.80, -- base game, cheaper
mpHipster_overlays = 0.85,
-- anything not listed stays at 1.0
}La caméra pivote sur la tête, les mêmes valeurs de hauteur marchent donc debout ou assis. L'éclairage et la profondeur de champ sont ce qui fait lire le personnage comme le sujet plutôt que comme un ped dans une pièce sombre.
-- config/config.lua
Config.Camera = {
Sensitivity = 1.0, -- rotation, zoom and height, clamped to 0.1 - 5.0
InvertY = false,
}
Config.UI = {
Tutorial = true,
Timecycle = 'casino_brightroom',
TimecycleFadeMs = 400,
DofStrength = 0.1,
}La ressource émet un event client à l'ouverture et à la fermeture d'un menu, pour les trois modules. Branchez-vous dessus plutôt que de sonder, c'est le signal qu'utilise déjà la gestion interne du HUD.
AddEventHandler('avenida_skin:client:uiStateChanged', function(hidden)
if hidden then
exports['myhud']:hide()
else
exports['myhud']:show()
end
end)Questions fréquentes
- Le pack si vous voulez les trois : il coûte moins cher et c'est une seule chose à installer et à mettre à jour. Les ressources séparées si vous n'en voulez qu'une ou deux, ou si vous avez déjà un magasin de vêtements qui vous convient. Ce qu'il ne faut jamais faire, c'est lancer les deux en même temps : ils poseraient chacun leur blip et écriraient chacun leur copie du même personnage. La ressource détecte le recouvrement et le signale en console au démarrage.
- Mettez `Config.Clothes = false` dans `Config.Modules`. Un module coupé n'enregistre rien : pas de blip, pas de point d'interaction, pas de thread, et sa config n'est simplement jamais lue. Vous pouvez aussi acheter les deux ressources séparées, le choix est une question de prix, pas de ce qui tourne.
- Oui. Il lit et écrit la même forme de personnage que les ressources séparées et passe par le même bridge d'apparence, donc qb-clothing, illenium-appearance, fivem-appearance, esx_skin ou sa propre table continuent de fonctionner. Les personnages qui existent déjà sont initialisés depuis ce qu'ils portent, y compris pour le registre de propriété des vêtements.
- QBCore, ESX et vRP, plus un mode standalone qui ne demande aucun framework et une branche `custom` dans `bridges/framework.lua` pour le reste. La détection tourne au démarrage et sonde l'export réel. Qbox et ox_core n'ont pas de branche dédiée : ils passent par le chemin standalone ou custom, pas par une cible testée.
- Oui, partout où ça compte : `ox_lib` pour les notifications, `ox_target` pour le prompt d'interaction, `ox_inventory` pour les vêtements en items et les conteneurs de sacs, et oxmysql comme seule dépendance dure. Rien de tout ça n'est obligatoire à part oxmysql.
- vRP stocke les composants de vêtements et les props, rien d'autre. Il n'a aucun champ pour les overlays de tête, les traits du visage, la couleur des cheveux, celle des yeux ni les décorations de ped. Sur vRP, tout le personnage est donc conservé dans la table de cette ressource. vRP reçoit quand même la partie vêtements, rafraîchie après un changement. vRP 2 et vRP 0.5 ne sont pas supportés, et la ressource le dit en console au lieu de mal se comporter en silence.
- Regardez `Config.Clothes.RequireOwnership`. Le registre initialise un personnage depuis ce qu'il porte déjà la première fois qu'il le voit, l'activer ne retire donc pas de garde-robe. Ce qu'il refuse, c'est une écriture pour un vêtement sans achat derrière, ce qu'envoie justement un client trafiqué.
- 0.00ms. Les points d'interaction partagent un thread qui se met à une seconde quand personne n'est à proximité, les blips sont créés une fois, et chaque thread de session est tué à la sortie. Un module coupé ne coûte rien du tout, puisque aucune de ses lignes ne tourne.
Ce qu'en disent les acheteurs
5.0 1 avis vérifié
Glades Ravage-rp.fr Excellent resource — and genuinely open where it matters Every point where this touches the rest of the server goes through one readable file in bridges/. Each one documents what it detects, what it writes, and what each target actually costs you. That meant I could plug the clothing store into an inventory system it was never designed for — clothing as real items in dedicated equipment slots — without touching a single encrypted file. I wrapped the inventory bridge, translated names and metadata on the way through, and everything else kept working.
EN AVANT Avenida TeamBarber shop
Un barbier mis en scène, avec une caméra que le joueur pilote vraiment. Le personnage entre, s'assoit, et le barbier travaille pendant qu'une caméra orbitale cadre la tête. Cheveux, barbe, overlays et tous les détails de peau, prévisualisés avant d'avoir dépensé un dollar.
EN AVANT Avenida TeamClothing store
Un magasin de vêtements avec tenues sauvegardées, garde-robes d'entreprise et un éditeur qui tarife le catalogue depuis le jeu. Tous les composants et tous les props, achetés pièce par pièce ou en tenue complète, avec un registre côté serveur qui empêche de porter ce qu'on n'a jamais payé.
EN AVANT Avenida TeamTattoo shop
Tout le catalogue de tatouages du jeu, avec un panier et un fauteuil où l'on s'assoit vraiment. 1615 motifs répartis sur 26 collections DLC, prévisualisés en direct sur votre personnage au fur et à mesure, payés en une fois. Détatouage au laser inclus, et un tatoueur qui entre et fait le travail.