Le MerchBooth module de développeur vous permet d'offrir des biens d'avatar, des passes et des produits de développeur à la vente directement dans votre expérience. Les joueurs peuvent parcourir les articles, prévisualiser les biens sur leur propre avatar, acheter des articles et les utiliser ou les équiper immédiatement — le tout sans quitter votre expérience. Cela peut vous aider à monétiser votre expérience et à générer des revenus grâce à la commission d'affiliation de 40 % associée à la vente d'articles d'autres créateurs.
Utilisation du module
Installation
Pour utiliser le module MerchBooth dans une expérience :
Depuis le menu Fenêtre de Studio ou la barre d'outils de l'onglet Accueil, ouvrez la Boîte à outils et sélectionnez l'onglet Boutique Créateur.

Assurez-vous que le tri par Modèles est sélectionné, puis cliquez sur le bouton Voir tout pour Catégories.

Localisez et cliquez sur le carreau Packages.
Localisez le module Merch Booth et cliquez dessus, ou faites-le glisser dans la vue 3D.

Dans la fenêtre Explorateur, déplacez l'ensemble du modèle MerchBooth dans ReplicatedStorage. Lorsque vous lancez l'expérience, le module commencera à fonctionner.
Configuration
Le module est préconfiguré pour fonctionner pour la plupart des cas d'utilisation, mais il peut être facilement personnalisé grâce à la fonction configure. Par exemple, pour créer un thème plus clair et désactiver le bouton Filtrer par défaut dans la zone supérieure gauche de la vue du catalogue :
Dans StarterPlayerScripts, créez un nouveau LocalScript et renommez-le en ConfigureMerchBooth.

Collez le code suivant dans le nouveau script.
LocalScript - ConfigureMerchBoothlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage.MerchBooth)MerchBooth.configure({backgroundColor = Color3.fromRGB(220, 210, 200),textSize = 17,textFont = Enum.Font.Fondamento,textColor = Color3.fromRGB(20, 20, 20),useFilters = false})
Ajouter des articles
Qu'est-ce qu'un stand de merch sans marchandises ? Les sections suivantes décrivent comment ajouter des biens d'avatar, des passes et des produits de développeur à votre stand de merch.
Biens d'avatar
Les articles tels que les vêtements et accessoires doivent être ajoutés via leur ID d'actif situé sur la page de détails de l'article dans la Boutique Avatar.
Créez un Script dans ServerScriptService et collez le code suivant.
Script - Add Avatar Assetslocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage.MerchBooth)local items = {}for _, assetId in items dolocal success, errorMessage = pcall(function()MerchBooth.addItemAsync(assetId)end)if not success thenwarn(errorMessage)endendCopiez les IDs d'actifs des articles à partir des URL du site web de leur Boutique Avatar. Par exemple, l'ID de la Casquette de Baseball Roblox est 607702162.

Collez chaque ID copié dans une liste délimitée par des virgules dans la table items. Par défaut, les articles apparaissent dans la vue du catalogue dans un ordre alphabétique, mais vous pouvez personnaliser le tri en utilisant setCatalogSort.
Script - Add Avatar Assetslocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage.MerchBooth)local items = {607702162, -- Casquette de Baseball Roblox4819740796, -- Robox1374269, -- Oreilles de Chat11884330, -- Lunettes de Nerd10476359, -- Chapeau en Papier}for _, assetId in items dolocal success, errorMessage = pcall(function()MerchBooth.addItemAsync(assetId)end)if not success thenwarn(errorMessage)endend
Passes
L'ajout de passes nécessite des IDs de passes qui peuvent être trouvés dans le Tableau de bord des créateurs.
Créez un Script dans ServerScriptService et collez le code suivant.
Script - Add Passeslocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage.MerchBooth)local items = {}for _, assetId in items dolocal success, errorMessage = pcall(function()MerchBooth.addItemAsync(assetId)end)if not success thenwarn(errorMessage)endendNaviguez vers le Tableau de bord des créateurs et sélectionnez l'expérience.
Dans la colonne de gauche, sous Monétisation, sélectionnez Passes.
Survolez la vignette d'une passe, cliquez sur le bouton ⋯ et sélectionnez Copier l'ID d'actif dans le menu contextuel.

Collez chaque ID copié dans une liste délimitée par des virgules dans la table items et incluez Enum.InfoType.GamePass comme deuxième paramètre pour addItemAsync pour indiquer que les articles sont des passes. Par défaut, les articles apparaîtront dans la vue du catalogue par ordre alphabétique, mais le tri peut être personnalisé via setCatalogSort.
Script - Add Passeslocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage.MerchBooth)local items = {4343758, -- Armure ColdFyre28521575, -- Bouclier Slime}for _, assetId in items dolocal success, errorMessage = pcall(function()MerchBooth.addItemAsync(assetId, Enum.InfoType.GamePass)end)if not success thenwarn(errorMessage)endend
Produits de développeur
L'ajout de produits de développeur nécessite des IDs de produits qui peuvent être trouvés dans le Tableau de bord des créateurs.
Créez un Script dans ServerScriptService et collez le code suivant.
Script - Add Developer Productslocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage.MerchBooth)local items = {}for _, assetId in items dolocal success, errorMessage = pcall(function()MerchBooth.addItemAsync(assetId)end)if not success thenwarn(errorMessage)endendNaviguez vers le Tableau de bord des créateurs et sélectionnez l'expérience.
Dans la colonne de gauche, sous Monétisation, sélectionnez Produits de développeur.
Survolez la vignette d'un produit, cliquez sur le bouton ⋯ et sélectionnez Copier l'ID d'actif dans le menu contextuel.

Collez chaque ID copié dans une liste délimitée par des virgules dans la table items et incluez Enum.InfoType.Product comme deuxième paramètre pour addItemAsync pour indiquer que les articles sont des produits de développeur. Par défaut, les articles apparaîtront dans la vue du catalogue dans un ordre alphabétique, mais vous pouvez personnaliser le tri en utilisant setCatalogSort.
Script - Add Developer Productslocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage.MerchBooth)local items = {1236602053, -- Récupération de Mana1257880672, -- Potion de Guérison}for _, assetId in items dolocal success, errorMessage = pcall(function()MerchBooth.addItemAsync(assetId, Enum.InfoType.Product)end)if not success thenwarn(errorMessage)endend
Bouton de catalogue personnalisable
Par défaut, un bouton de catalogue sur le côté droit permet aux joueurs d'ouvrir le stand à tout moment.

Dans certains cas, il peut être utile de supprimer ce bouton et de connecter le vôtre :
Créez un nouveau bouton comme indiqué dans Boutons.
Créez un LocalScript comme enfant de l'objet bouton.

Collez le code suivant dans le nouveau script.
LocalScript - Custom Catalog Buttonlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage.MerchBooth)-- Supprimez le bouton de catalogue par défautMerchBooth.toggleCatalogButton(false)-- Connectez le bouton personnaliséscript.Parent.Activated:Connect(function()MerchBooth.openMerchBooth()end)
Régions achetables
Une façon utile d'inciter les achats dans votre expérience est d'afficher automatiquement le stand de merch lorsqu'un joueur entre dans une zone.
Pour créer une région achetable :
Créez un bloc Anchored qui englobe la zone de détection. Assurez-vous que le bloc est assez haut pour entrer en collision avec le PrimaryPart des modèles de personnage (HumanoidRootPart par défaut).

Bloc pour détecter quand les joueurs approchent du devant du comptoir de la boutique En utilisant la section Tags des propriétés du bloc, appliquez le tag ShopRegion au bloc afin que CollectionService le détecte.
Réglez la Transparency de la pièce à son maximum pour la cacher aux joueurs dans l'expérience. Désactivez également ses propriétés CanCollide et CanQuery afin que les objets ne rentrent pas physiquement en collision avec elle et que les raycasts ne la détectent pas.


Insérez un nouveau LocalScript sous StarterPlayerScripts.

Dans le nouveau script, collez le code suivant qui utilise les événements Touched et TouchEnded pour détecter quand des personnages entrent/sortent de la région et appeler openMerchBooth et closeMerchBooth pour ouvrir/fermer l'interface du stand.
LocalScriptlocal Players = game:GetService("Players")local ReplicatedStorage = game:GetService("ReplicatedStorage")local CollectionService = game:GetService("CollectionService")local MerchBooth = require(ReplicatedStorage.MerchBooth)-- Supprimez le bouton de catalogue par défautMerchBooth.toggleCatalogButton(false)local function setupRegion(region: BasePart)region.Touched:Connect(function(otherPart)local character = Players.LocalPlayer.Characterif character and otherPart == character.PrimaryPart thenMerchBooth.openMerchBooth()endend)region.TouchEnded:Connect(function(otherPart)local character = Players.LocalPlayer.Characterif character and otherPart == character.PrimaryPart thenMerchBooth.closeMerchBooth()endend)end-- Itérez à travers les régions de magasin marquées existantesfor _, region in CollectionService:GetTagged("ShopRegion") dosetupRegion(region)end-- Détectez quand les régions de magasin non diffusées apparaissentCollectionService:GetInstanceAddedSignal("ShopRegion"):Connect(setupRegion)
Invite de proximité
Comme alternative à la vue 2D du catalogue, vous pouvez ajouter des invites de proximité sur des objets dans l'expérience. Cela encourage les joueurs à découvrir des articles dans l'environnement 3D, à les prévisualiser sur leur propre avatar, à les acheter et à les équiper immédiatement. Consultez addProximityButton pour plus de détails.
Changer l'effet d'équipement
Par défaut, le stand de merch affiche un effet d'étincelles générique lorsqu'un joueur équipe un article à partir de celui-ci. Pour changer l'effet, définissez particleEmitterTemplate sur votre propre instance de ParticleEmitter dans un appel de configure.
LocalScript - ConfigureMerchBoothlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage.MerchBooth)local myParticleEmitter = Instance.new("ParticleEmitter")myParticleEmitter.SpreadAngle = Vector2.new(22, 22)myParticleEmitter.Lifetime = NumberRange.new(0.5, 1.5)myParticleEmitter.Shape = Enum.ParticleEmitterShape.SpheremyParticleEmitter.Transparency = NumberSequence.new(0, 1)myParticleEmitter.RotSpeed = NumberRange.new(200, 200)MerchBooth.configure({particleEmitterTemplate = myParticleEmitter})
Visibilité de l'interface
Par défaut, le stand de merch masque tous les ScreenGuis et CoreGuis lorsque son interface apparaît, y compris le chat, le tableau des leaders et d'autres inclus par Roblox. Si vous souhaitez désactiver ce comportement, définissez hideOtherUis sur false dans un appel de configure.
LocalScript - ConfigureMerchBoothlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage.MerchBooth)MerchBooth.configure({hideOtherUis = false})
Mouvement du personnage
Il peut être avantageux d'empêcher un personnage de se déplacer tant qu'il est dans le stand de merch. Cela peut être fait en définissant disableCharacterMovement sur true dans un appel de configure.
LocalScript - ConfigureMerchBoothlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage.MerchBooth)MerchBooth.configure({disableCharacterMovement = true})
Référence API
Types
Article
Les articles dans le stand de merch sont représentés par un dictionnaire avec les paires clé-valeur suivantes. Les articles peuvent être rassemblés via la fonction getItems ou l'événement itemAdded.
| Clé | Type | Description |
|---|---|---|
| assetId | number | ID du catalogue de l'article, tel qu'il est passé à addItemAsync. |
| title | string | Titre de l'article tel qu'il apparaît dans le catalogue. |
| price | number | Prix de l'article en Robux. |
| description | string | Description de l'article tel qu'elle apparaît dans le catalogue. |
| assetType | string | Chaîne représentant le type d'accessoire de l'article. |
| isOwned | bool | Indique si le joueur actuel possède l'article. |
| creatorName | string | Créateur de l'article tel qu'il apparaît dans le catalogue. |
| creatorType | Enum.CreatorType | Type de créateur de l'article. |
Enums
MerchBooth.Controls
Utilisé avec setControlKeyCodes pour personnaliser les touches et les boutons de manette pour interagir avec le stand de merch.
| Nom | Résumé |
|---|---|
| ProximityPrompts | Touche et/ou bouton de manette pour ouvrir la vue de l'article lorsque des invites de proximité sont configurées. |
| OpenMerchBooth | Touche et/ou bouton de manette pour ouvrir le stand de merch. |
| CloseMerchBooth | Touche et/ou bouton de manette pour fermer le stand de merch. |
| Filter | Touche et/ou bouton de manette pour utiliser le menu déroulant Filtrer par défaut dans la zone supérieure gauche de la vue du catalogue. |
| ViewItem | Touche et/ou bouton de manette pour ouvrir une vue spécifique d'un article du stand de merch. |
LocalScriptlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage.MerchBooth)MerchBooth.setControlKeyCodes(MerchBooth.Controls.ProximityPrompts, {keyboard = Enum.KeyCode.Q,gamepad = Enum.KeyCode.ButtonL1})
Fonctions
configure
configure(config: table)
Remplace les options de configuration par défaut côté client à travers les clés/valeurs suivantes dans la table config. Cette fonction ne peut être appelée que depuis un LocalScript.
| Clé | Description | Par défaut |
|---|---|---|
| backgroundColor | Couleur de fond principale de la fenêtre (Color3). | [0, 0, 0] |
| cornerRadius | Rayon de coin pour la fenêtre principale (UDim). | (0, 16) |
| cornerRadiusSmall | Rayon de coin pour les éléments à l'intérieur de la fenêtre (UDim). | (0, 8) |
| textFont | Police du "texte principal" tel que les prix, descriptions et autres informations générales (Enum.Font). | Gotham |
| textSize | Taille du texte principal. | 14 |
| textColor | Couleur du texte principal (Color3). | [255, 255, 255] |
| secondaryTextColor | Couleur utilisée pour certaines variations du texte principal (Color3). | [153, 153, 158] |
| headerFont | Police du texte d'en-tête utilisé pour le titre de la fenêtre (Enum.Font). | GothamMedium |
| headerTextSize | Taille du texte d'en-tête utilisé pour le titre de la fenêtre. | 18 |
| titleFont | Police du texte titre utilisée pour les noms des articles sur la page de détails de l'article (Enum.Font). | GothamBold |
| titleTextSize | Taille du texte titre utilisée pour les noms des articles sur la page de détails de l'article. | 28 |
| buttonColor | Couleur de fond pour les boutons plus grands dans un état cliquable, tels que le bouton principal d'achat dans la vue de l'article (Color3). | [255, 255, 255] |
| buttonTextColor | Couleur du texte pour les boutons plus grands dans un état cliquable, tels que le bouton principal d'achat dans la vue de l'article (Color3). | [0, 0, 0] |
| secondaryButtonColor | Couleur de fond pour les petits boutons tels que les boutons de prix dans la vue de catalogue ou le bouton Essayer (Color3). | [34, 34, 34] |
| secondaryButtonTextColor | Couleur du texte pour les petits boutons tels que les boutons de prix dans la vue de catalogue ou le bouton Essayer (Color3). | [255, 255, 255] |
| inactiveButtonColor | Couleur de fond pour tous les boutons dans un état non cliquable (Color3). | [153, 153, 158] |
| inactiveButtonTextColor | Couleur du texte pour tous les boutons dans un état non cliquable (Color3). | [255, 255, 255] |
| particleEmitterTemplate | Instance ParticleEmitter personnalisée optionnelle qui apparaît et joue lors de l'équipement. |
LocalScriptlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage.MerchBooth)MerchBooth.configure({backgroundColor = Color3.fromRGB(255, 255, 255),textSize = 16,textFont = Enum.Font.Roboto,textColor = Color3.fromRGB(20, 20, 20),hideOtherUis = false,})
addItemAsync
addItemAsync(assetId: number, productType: Enum.InfoType, hideFromCatalog: boolean)
Ajoute de manière asynchrone un article au stand de merch afin qu'il soit éligible à l'achat dans l'expérience. assetId est l'ID d'actif de l'article, productType est l'énumération Enum.InfoType de l'article, et hideFromCatalog peut être utilisé pour masquer l'article dans la vue du catalogue.
Voir Ajouter des Articles pour plus de détails, car l'utilisation varie légèrement pour les actifs par rapport aux passes de jeu ou aux produits de développeur.
Script - Add Avatar Assets
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
local items = {
607702162, -- Casquette de Baseball Roblox
4819740796, -- Robox
1374269, -- Oreilles de Chat
11884330, -- Lunettes de Nerd
10476359, -- Chapeau en Papier
}
for _, assetId in items do
local success, errorMessage = pcall(function()
MerchBooth.addItemAsync(assetId)
end)
if not success then
warn(errorMessage)
end
end
Script - Add Passes
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
local items = {
4343758, -- Armure ColdFyre
28521575, -- Bouclier Slime
}
for _, assetId in items do
local success, errorMessage = pcall(function()
MerchBooth.addItemAsync(assetId, Enum.InfoType.GamePass)
end)
if not success then
warn(errorMessage)
end
end
Script - Add Developer Products
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
local items = {
1236602053, -- Récupération de Mana
1257880672, -- Potion de Guérison
}
for _, assetId in items do
local success, errorMessage = pcall(function()
MerchBooth.addItemAsync(assetId, Enum.InfoType.Product)
end)
if not success then
warn(errorMessage)
end
end
getItems
getItems(): table
Retourne un dictionnaire représentant tous les articles actuellement enregistrés. Chaque clé est l'ID d'actif d'un article sous forme de chaîne, et chaque valeur de clé est un Article. Cette fonction ne peut être appelée que depuis un Script.
Script
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
local success, errorMessage = pcall(function()
MerchBooth.addItemAsync(4819740796)
end)
if success then
local items = MerchBooth.getItems()
print(items)
end
removeItem
removeItem(assetId: number)
Désinscrit un article précédemment ajouté avec addItemAsync, supprimant sa vignette dans la vue du catalogue et toutes les invites de proximité qui lui sont attribuées. Cette fonction ne peut être appelée que depuis un Script.
Script
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
local success, errorMessage = pcall(function()
MerchBooth.addItemAsync(4819740796)
end)
if success then
-- Après un certain temps, supprimez l'article
task.wait(5)
MerchBooth.removeItem(4819740796)
end
addProximityButton
addProximityButton(adornee: BasePart|Model|Attachment, assetId: number)
Ajoute une invite de proximité sur le adornee donné qui déclenchera l'affichage de la vue d'achat d'un article, donné son ID d'actif. Cela peut être utilisé comme alternative à la vue 2D du catalogue, encourageant les joueurs à découvrir des articles dans l'environnement 3D.
Notez qu'un article doit être ajouté via addItemAsync avant qu'un bouton de proximité puisse lui être attribué. Voir aussi removeProximityButton pour supprimer l'invite de proximité d'un objet.
Script
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Workspace = game:GetService("Workspace")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
local success, errorMessage = pcall(function()
MerchBooth.addItemAsync(4819740796)
end)
if success then
local item = Workspace:FindFirstChild("Robox")
if item then
MerchBooth.addProximityButton(item, 4819740796)
end
end
removeProximityButton
removeProximityButton(adornee: BasePart|Model|Attachment)
Supprime une invite de proximité générée par addProximityButton. Cette fonction ne peut être appelée que depuis un Script.
Script
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Workspace = game:GetService("Workspace")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
local success, errorMessage = pcall(function()
MerchBooth.addItemAsync(4819740796)
end)
if success then
local item = Workspace:FindFirstChild("Robox")
if item then
MerchBooth.addProximityButton(item, 4819740796)
end
-- Après un certain temps, supprimez l'invite
task.wait(5)
MerchBooth.removeProximityButton(item)
end
setCatalogSort
setCatalogSort(sortFunction: function): boolean
Définit la fonction de tri sortFunction à utiliser dans la vue du catalogue. La fonction de tri fournie peut utiliser la logique basée sur les informations Article telles que price ou title. Cette fonction ne peut être appelée que depuis un LocalScript.
Voici quelques exemples pour trier le catalogue :
Price Low-to-High
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
MerchBooth.setCatalogSort(function(a, b)
return a.price < b.price
end)
Price High-to-Low
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
MerchBooth.setCatalogSort(function(a, b)
return a.price > b.price
end)
Price Low-to-High & Alphabetical
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
MerchBooth.setCatalogSort(function(a, b)
return if a.price == b.price then a.title < b.title else a.price < b.price
end)
setControlKeyCodes
setControlKeyCodes(control: MerchBooth.Controls, keyCodes: table)
Configure les valeurs de touches et de boutons pour interagir avec le stand de merch. Le premier paramètre doit être une énumération MerchBooth.Controls et le second un tableau contenant les touches keyboard et/ou gamepad avec les énumérations Enum.KeyCode correspondantes.
| Enum (control) | Valeurs de clés/valeurs par défaut keyCodes |
|---|---|
| MerchBooth.Controls.ProximityPrompts | keyboard = Enum.KeyCode.E gamepad = Enum.KeyCode.ButtonY |
| MerchBooth.Controls.OpenMerchBooth | gamepad = Enum.KeyCode.ButtonY |
| MerchBooth.Controls.CloseMerchBooth | gamepad = Enum.KeyCode.ButtonB |
| MerchBooth.Controls.Filter | gamepad = Enum.KeyCode.ButtonX |
| MerchBooth.Controls.ViewItem | gamepad = Enum.KeyCode.ButtonA |
LocalScriptlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage.MerchBooth)MerchBooth.setControlKeyCodes(MerchBooth.Controls.ProximityPrompts, {keyboard = Enum.KeyCode.Q,gamepad = Enum.KeyCode.ButtonL1,})
openMerchBooth
openMerchBooth()
Ouvre la fenêtre du stand de merch (si fermée) et navigue vers la vue du catalogue. Cette fonction ne peut être appelée que depuis un LocalScript.
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
local success, errorMessage = pcall(function()
MerchBooth.addItemAsync(assetId)
end)
if not success then
warn(errorMessage)
end
MerchBooth.openMerchBooth()
openItemView
openItemView(itemId: number)
Navigue vers la vue d'un seul article donné l'itemId, ouvrant la fenêtre du stand de merch si elle est actuellement fermée. Cette fonction ne peut être appelée que depuis un LocalScript.
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
local success, errorMessage = pcall(function()
MerchBooth.addItemAsync(4819740796)
end)
if success then
MerchBooth.openItemView(4819740796)
end
toggleCatalogButton
toggleCatalogButton(enabled: boolean)
Active ou désactive le bouton de catalogue sur le côté droit de l'écran. Cela est utile lors de la mise en œuvre d'un bouton personnalisé ou de limiter l'apparition du stand de merch aux régions ou aux invites de proximité. Ne peut être appelé que depuis un LocalScript.
LocalScriptlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage.MerchBooth)MerchBooth.toggleCatalogButton(false)
isMerchBoothOpen
isMerchBoothOpen(): Tuple
Retourne true si l'une ou l'autre de la vue du catalogue ou de la vue des détails de l'article est ouverte. Si la vue des détails est ouverte, l'ID d'actif de l'article est retourné comme seconde valeur. Cette fonction ne peut être appelée que depuis un LocalScript.
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
local success, errorMessage = pcall(function()
MerchBooth.addItemAsync(4819740796)
end)
if success then
MerchBooth.openItemView(4819740796)
local isOpen, itemId = MerchBooth.isMerchBoothOpen()
print(isOpen, itemId)
end
closeMerchBooth
closeMerchBooth()
Ferme la fenêtre du stand de merch. Cette fonction ne peut être appelée que depuis un LocalScript.
LocalScriptlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage.MerchBooth)MerchBooth.closeMerchBooth()
isMerchBoothEnabled
isMerchBoothEnabled(): boolean
Cette fonction peut être utilisée en tandem avec setEnabled pour vérifier si le stand de merch est actuellement activé ou non. Ne peut être appelé que depuis un LocalScript.
setEnabled
setEnabled(enabled: boolean)
Définit si l'ensemble du stand de merch est activé ou non. Lorsqu'il est désactivé, cette fonction supprime l'interface entière, y compris les invites de proximité, et déconnecte tous les événements. Cette fonction ne peut être appelée que depuis un LocalScript.
LocalScriptlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage.MerchBooth)local isEnabled = MerchBooth.isMerchBoothEnabled()if isEnabled thenMerchBooth.setEnabled(false)end
Événements
itemAdded
Se déclenche lorsqu'un article est ajouté via addItemAsync. Cet événement ne peut être connecté que dans un Script.
| Paramètres | |
|---|---|
| assetId: number | ID d'actif de l'article. |
| itemInfo: table | Dictionnaire d'informations sur l'Article telles que price ou title. |
Script
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
MerchBooth.itemAdded:Connect(function(assetId, itemInfo)
print("Article ajouté avec l'ID d'actif de", assetId)
print(itemInfo)
end)
itemRemoved
Se déclenche lorsqu'un article est supprimé via removeItem. Cet événement ne peut être connecté que dans un Script.
| Paramètres | |
|---|---|
| assetId: number | ID d'actif de l'article. |
Script
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
MerchBooth.itemRemoved:Connect(function(assetId)
print("Article supprimé avec l'ID d'actif de", assetId)
end)
merchBoothOpened
Se déclenche lorsque la vue du catalogue ou la vue de détails de l'article est ouverte.
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
MerchBooth.merchBoothOpened:Connect(function()
print("Vue du stand ouverte")
end)
merchBoothClosed
Se déclenche lorsque la vue du catalogue ou la vue de détails de l'article est fermée.
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
MerchBooth.merchBoothClosed:Connect(function()
print("Vue du stand fermée")
end)
catalogViewOpened
Se déclenche lorsque la vue du catalogue est ouverte.
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
MerchBooth.catalogViewOpened:Connect(function()
print("Vue du catalogue ouverte")
end)
catalogViewClosed
Se déclenche lorsque la vue du catalogue est fermée.
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
MerchBooth.catalogViewClosed:Connect(function()
print("Vue du catalogue fermée")
end)
itemViewOpened
Se déclenche lorsque la vue des détails de l'article est ouverte.
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
MerchBooth.itemViewOpened:Connect(function()
print("Vue de l'article ouverte")
end)
itemViewClosed
Se déclenche lorsque la vue des détails de l'article est fermée.
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
MerchBooth.itemViewClosed:Connect(function()
print("Vue de l'article fermée")
end)