Le module développeur de MerchBooth vous permet d'offrir des ressources d'avatar , des passes et des produits de développeur à vendre directement dans votre expérience.Les joueurs peuvent parcourir des articles, prévisualiser des ressources sur leur propre avatar, acheter des articles et les utiliser instantanément ou les équiper — tout sans quitter votre expérience.Cela peut vous aider à monétiser votre expérience et à gagner des revenus grâce à la commission d'affiliation de 40 % associée à la vente des articles d'autres créateurs.
Utilisation du module
Étabissement
Pour utiliser le module MerchBooth dans une expérience :
Assurez-vous que le tri des modèles est sélectionné, puis cliquez sur le bouton Voir tout pour les catégories .
Localisez et cliquez sur la case modules de développement .
Localisez le module Stand de merchandising et cliquez dessus, ou glissez-déposez-le dans la voir3D.
Dans la fenêtre Explorateur, déplacez l'ensemble du modèle MerchBooth dans ServerScriptService .Une fois l'expérience exécutée, le module se distribuera à différents services et commencera à fonctionner.
Configération
Le module est préconfiguré pour fonctionner dans la plupart des cas d'utilisation, mais il peut être facilement personnalisé via la fonction configurer.Par exemple, pour créer un thème plus clair et désactiver le bouton filtre par défaut dans la zone supérieure gauche de la vue voir:
Dans StarterPlayerScripts , créez un nouveau LocalScript et renommez-le en Configurer le stand de marchandises .
Collez le code suivant dans le nouveau script.
LocalScript - Configurer le stand de marchandiseslocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("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 merch ? Les sections suivantes décrivent comment ajouter des ressources d'avatar, des passes et des produits de développeur à votre stand de merch.
Ressources d'avatar
Des articles tels que vêtements et accessoires doivent être ajoutés via leur ID de ressources situé sur la page de détail de l'itemdans la boutique d'Avatar.
Créez un Script dans ServerScriptService et collez le code suivant.
Script - Ajouter des ressources d'avatarlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))local items = {}for _, assetId in items dolocal success, errorMessage = pcall(function()MerchBooth.addItemAsync(assetId)end)if not success thenwarn(errorMessage)endendCopiez les ID d'actif de l'élément de la ressource de leur URL du site Web Avatar Shop. Par exemple, l'ID de 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 l'ordre alphabétique, mais vous pouvez personnaliser le tri en utilisant setCatalogSort.
Script - Ajouter des ressources d'avatarlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("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
Passer
Ajouter passes nécessite des ID de passe qui peuvent être localisés dans le tableau de bord du créateur.
Créez un Script dans ServerScriptService et collez le code suivant.
Script - Ajouter des passeslocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))local items = {}for _, assetId in items dolocal success, errorMessage = pcall(function()MerchBooth.addItemAsync(assetId)end)if not success thenwarn(errorMessage)endendAccédez au tableau de bord du créateur et sélectionnez l'expérience.
Dans la colonne de gauche, sous Monétisation , sélectionnez passes .
Passez la souris sur une miniaturede passe, cliquez sur le bouton ⋯ et sélectionnez Copier l'ID de la ressource 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 indiquer que les articles sont des passes.Par défaut, les articles apparaîtront dans la vue du catalogue dans l'ordre alphabétique, mais leur tri peut être personnalisé via setCatalogSort.
Script - Ajouter des passeslocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))local items = {4343758, -- Armure de feu froid28521575, -- Bouclier de slime}for _, assetId in items dolocal success, errorMessage = pcall(function()MerchBooth.addItemAsync(assetId, Enum.InfoType.GamePass)end)if not success thenwarn(errorMessage)endend
Produits des développeurs
Ajouter produits de développeur nécessite des identifiants de produit qui peuvent être localisés dans le tableau de bord du créateur.
Créez un Script dans ServerScriptService et collez le code suivant.
Script - Ajouter des produits du développeurlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))local items = {}for _, assetId in items dolocal success, errorMessage = pcall(function()MerchBooth.addItemAsync(assetId)end)if not success thenwarn(errorMessage)endendAccédez au tableau de bord du créateur et sélectionnez l'expérience.
Dans la colonne de gauche, sous Monétisation , sélectionnez Produits des développeurs .
Passez la souris sur la miniatured'un produit, cliquez sur le bouton ⋯ et sélectionnez Copier l'ID de la ressource 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 ajouterItemAsync indiquant que les articles sont des produits du développeur.Par défaut, les articles apparaissent dans la vue du catalogue dans l'ordre alphabétique, mais vous pouvez personnaliser le tri en utilisant setCatalogSort.
Script - Ajouter des produits du développeurlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))local items = {1236602053, -- Rechargement 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 personnalisé
Par défaut, un bouton de catalogue à droite permet aux joueurs d'ouvrir le stand à tout moment.

Dans certains cas, il peut être utile de supprimer ce bouton et de connecter le posséder:
Créez un nouveau bouton comme indiqué dans boutons.
Créer un LocalScript comme enfant de l'objet bouton.
Collez le code suivant dans le nouveau script.
LocalScript - Bouton de catalogue personnalisélocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))-- Supprimer le bouton de catalogue par défautMerchBooth.toggleCatalogButton(false)-- Connectez le bouton personnaliséscript.Parent.Activated:Connect(function()MerchBooth.openMerchBooth()end)
Régions marchandes
Un moyen utile de stimuler les achats dans votre expérience est d'afficher automatiquement le stand de merchandising lorsqu'un joueur entre dans une zone.
Pour créer une région marchande :
Créez un bloc Anchored qui couvre la région de détection.Assurez-vous que le bloc est assez haut pour se heurter aux modèles de caractères PrimaryPart ( HumanoidRootPart par défaut).
Bloc pour détecter quand les joueurs approchent le devant du comptoir de la boutique En utilisant la section balises des propriétés du bloc ou l'éditeur de balises de Studio, appliquez la balise au bloc afin que la détecte.
Définissez la partie Transparency au 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 se heurtent pas physiquement à 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 les personnages entrent/quittent la région et appelle openMerchBooth et closeMerchBooth pour ouvrir/fermer le interface utilisateur graphiquedu stand.
Lecteur localScriptlocal Players = game:GetService("Players")local ReplicatedStorage = game:GetService("ReplicatedStorage")local CollectionService = game:GetService("CollectionService")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))-- Supprimer 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érer à travers les régions de boutique étiquetées existantesfor _, region in CollectionService:GetTagged("ShopRegion") dosetupRegion(region)end-- Détecter quand les régions de boutique non diffusées se connectentCollectionService:GetInstanceAddedSignal("ShopRegion"):Connect(setupRegion)
Invites de proximité
En tant qu'alternative à la voirdu catalogue 2D, vous pouvez ajouter des invites de proximité sur les objets en expérience.Cela encourage les joueurs à découvrir des objets dans l'environnement 3D, à les prévisualiser sur leur propre avatar, à les acheter et à les équiper instantanément.Voir ajouter bouton de proximité pour les détails.
Changer l'effet d'équipement
Par défaut, le stand de merchandising montre un effet étincelant générique lorsqu'un joueur équipe un article à partir de celui-ci.Pour changer l'effet, définissez particleEmitterTemplate à votre propre instance d'un ParticleEmitter dans un configurer appel.
LocalScript - Configurer le stand de marchandises
local ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("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 graphique
Par défaut, le stand de merchandising cache tout ScreenGuis et CoreGuis lorsque son interface apparaît, y compris le chat, le classementset d'autres inclus par Roblox.Si vous souhaitez désactiver ce comportement, définissez hideOtherUis à false dans un appel configurer.
LocalScript - Configurer le stand de marchandises
local ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))MerchBooth.configure({hideOtherUis = false})
Mouvement du personnage
Il peut être avantageux d'empêcher un personnage de se déplacer alors qu'il se trouve dans le stand de merchandising.Cela peut être fait en définissant disableCharacterMovement à true dans un appel configurer.
LocalScript - Configurer le stand de marchandises
local ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))MerchBooth.configure({disableCharacterMovement = true})
Référence de l'API
Les types
Objet
Les articles dans le stand de merchandising sont représentés par un dictionnaire avec les paires clé-valeur suivantes.Les articles peuvent être récupérés via la fonction getItems ou l'événement itemadded.
Clé | Type | Avertissement |
---|---|---|
assetId | numéro | ID du catalogue de l'item, comme transmis à addItemAsync. |
title | chaîne | Titre de l'article tel qu'il apparaît dans le catalogue. |
price | numéro | Prix de l'article en Robux. |
description | chaîne | Description de l'article telle qu'elle apparaît dans le catalogue. |
assetType | chaîne | Chaîne représentant le taperd'accessoire de l'item. |
isOwned | bool | Si le joueur actuel possède l'item. |
creatorName | chaîne | Créateur d'objets comme indiqué dans le catalogue. |
creatorType | Enum.CreatorType | Type de créateur pour l'item. |
Enums
Booth marchand.Contrôles
Utilisé avec setControlKeyCodes pour personnaliser les touches et les boutons du gamepad pour interagir avec le stand de merchandising.
Nom | Sommaire |
---|---|
ProximityPrompts | Bouton clé et/ou de manette pour ouvrir la vue d'objet lorsque les invites de proximité sont configurées. |
OpenMerchBooth | Bouton clé et/ou de manette pour ouvrir le stand de merchandising. |
CloseMerchBooth | Bouton clé et/ou de manette pour fermer le stand de merchandising. |
Filter | Touche clé et/ou bouton de manette pour utiliser le filtre par défaut Filtre dans la zone supérieure gauche de la voirdu catalogue. |
ViewItem | Bouton clé et/ou de manette pour ouvrir une voird'élément de stand de marchandise spécifique. |
Lecteur localScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))MerchBooth.setControlKeyCodes(MerchBooth.Controls.ProximityPrompts, {keyboard = Enum.KeyCode.Q,gamepad = Enum.KeyCode.ButtonL1})
Fonctions
configurer
configurer(config: table )
Options de configuration par défaut du côté client remplacées par les valeurs/clés suivantes dans la table config .Cette fonction ne peut être appelée qu'à partir d'un LocalScript .
Clé | Avertissement | Par défaut |
---|---|---|
backgroundColor | Couleur de fond principale de la fenêtre ( Color3 ). | [0, 0, 0] |
cornerRadius | Rayon d'angle pour la fenêtre principale ( UDim ). | (0, 16) |
cornerRadiusSmall | Rayon d'angle pour les éléments à l'intérieur de la fenêtre ( UDim ). | (0, 8) |
textFont | Police de « texte principal » telle que les prix, les descriptions et d'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 du titre utilisé pour les noms d'objets sur la page de détail de l'objet (Enum.Font). | GothamBold |
titleTextSize | Taille du texte du titre utilisé pour les noms d'objets sur la page détail de l'objet. | 28 |
buttonColor | Couleur de fond pour les boutons plus grands dans un état cliquable, tels que le bouton d'achat principal dans la vue d'objet ( Color3 ). | [255, 255, 255] |
buttonTextColor | Couleur du texte pour les boutons plus grands dans un état cliquable, tels que le bouton d'achat principal dans la vue d'objet ( Color3 ). | [0, 0, 0] |
secondaryButtonColor | Couleur de fond pour les boutons plus petits tels que les boutons de prix dans la vue du catalogue ou le bouton Essayer ( Color3 ). | [34, 34, 34] |
secondaryButtonTextColor | Couleur du texte pour les boutons plus petits tels que les boutons de prix dans la vue du 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 personnalisée optionnelle ParticleEmitter qui apparaît et joue sur equip. |
Lecteur localScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))MerchBooth.configure({backgroundColor = Color3.fromRGB(255, 255, 255),textSize = 16,textFont = Enum.Font.Roboto,textColor = Color3.fromRGB(20, 20, 20),hideOtherUis = false,})
ajouterItemAsync
addItemAsync(assetId: number , productType: Enum.InfoType , hideFromCatalog: boolean )
Ajoute de manière asynchrone un article au stand de vente afin qu'il soit éligible à l'achat dans l'expérience.assetId est l'ID de la ressource de l'item, productType est l'énième de l'itemEnum.InfoType et hideFromCatalog peut être utilisé pour masquer l'élément dans la voirdu catalogue.
Voir Ajouter des articles pour les détails, car l'utilisation varie légèrement pour les ressources versus passes de jeu ou produits de développeur .
Script - Ajouter des ressources d'avatar
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("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 - Ajouter des passes
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
local items = {
4343758, -- Armure de feu froid
28521575, -- Bouclier de 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 - Ajouter des produits du développeur
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
local items = {
1236602053, -- Rechargement 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
obtenir des articles
getItems(): table
Renvoie un dictionnaire représentant tous les articles enregistrés actuellement.Chaque clé est l'ID de ressource d'un itemen tant que chaîne, et la valeur de chaque clé est un élément.Cette fonction ne peut être appelée qu'à partir d'un Script .
Scénario
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
local success, errorMessage = pcall(function()
MerchBooth.addItemAsync(4819740796)
end)
if success then
local items = MerchBooth.getItems()
print(items)
end
supprimerItem
supprimerItem(assetId: number )
Désenregistre un élément précédemment ajouté avec addItemAsync, en supprimant sa tuile dans la vue du catalogue et tout prompt de proximité attribué à elle.Cette fonction ne peut être appelée qu'à partir d'un Script .
Scénario
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
local success, errorMessage = pcall(function()
MerchBooth.addItemAsync(4819740796)
end)
if success then
-- Après un certain temps, supprimez l'item
task.wait(5)
MerchBooth.removeItem(4819740796)
end
ajouterProximitéBouton
ajouterProximitéBouton(adornee: BasePart | Model | Attachment , assetId: number )
Ajoute une invite de proximité sur la donnée donnée adornee qui déclenchera l'affichage de la voird'achat d'un item, en raison de son ID de ressource.Cela peut être utilisé comme alternative à la voirdu catalogue 2D, encourageant les joueurs à découvrir des articles dans l'environnement 3D.
Remarquez qu'un élément doit être ajouté via addItemAsync avant que le bouton de proximité puisse lui être attribué.Voir aussi supprimer le bouton de proximité pour supprimer l'invite de proximité d'un objet.
Scénario
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Workspace = game:GetService("Workspace")
local MerchBooth = require(ReplicatedStorage:WaitForChild("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
enlever le bouton de proximité
supprimerProximityButton(adornee: BasePart | Model | Attachment )
Supprime une invite de proximité générée via ajouterProximityButton . Cette fonction ne peut être appelée qu'à partir d'un Script .
Scénario
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Workspace = game:GetService("Workspace")
local MerchBooth = require(ReplicatedStorage:WaitForChild("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 la demande
task.wait(5)
MerchBooth.removeProximityButton(item)
end
définirCatalogSort
setCatalogSort(sortFunction: function): boolean
Définit la fonction de tri sortFunction à utiliser dans la voirdu catalogue.La fonction de tri fournie peut utiliser une logique basée sur l'information de l'élément telle que price ou title.Cette fonction ne peut être appelée qu'à partir d'un LocalScript.
Voici quelques exemples pour trier le catalogue :
Prix bas à haut
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.setCatalogSort(function(a, b)
return a.price < b.price
end)
Prix du plus élevé au plus bas
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.setCatalogSort(function(a, b)
return a.price > b.price
end)
Prix bas à haut et alphabétique
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.setCatalogSort(function(a, b)
return if a.price == b.price then a.title < b.title else a.price < b.price
end)
setControlKeyCommands
setControlKeyCodes(contrôle : MerchBooth.Controls , codes clés : table )
Configure les valeurs clé et bouton pour les interactions avec le stand de merchandising.Le premier paramètre doit être un ensemble de contrôles MerchBooth.Controls enum et le deuxième paramètre une table contenant les clés keyboard et/ou gamepad avec les enums correspondants Enum.KeyCode.
Enum ( control ) | Par défaut keyCodes Clés/Valeurs |
---|---|
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 |
Lecteur localScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))MerchBooth.setControlKeyCodes(MerchBooth.Controls.ProximityPrompts, {keyboard = Enum.KeyCode.Q,gamepad = Enum.KeyCode.ButtonL1,})
ouvrirMerchBooth
ouvertMerchBooth()
Ouvre la fenêtre de la boutique de marchandises (si elle est fermée) et navigue vers la voirdu catalogue. Cette fonction ne peut être appelée qu'à partir d'un LocalScript .
Lecteur localScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
local success, errorMessage = pcall(function()
MerchBooth.addItemAsync(assetId)
end)
if not success then
warn(errorMessage)
end
MerchBooth.openMerchBooth()
ouvrirItemView
openItemView(itemId: number )
Navigue vers la vue d'un seul article de la donnée donnée itemId, ouvrant la fenêtre du stand de merchandising si elle est actuellement fermée.Cette fonction ne peut être appelée qu'à partir d'un LocalScript .
Lecteur localScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
local success, errorMessage = pcall(function()
MerchBooth.addItemAsync(4819740796)
end)
if success then
MerchBooth.openItemView(4819740796)
end
basculer le bouton catalogue
toggleCatalogButton(activé: boolean )
Active/désactive le bouton catalogue sur le côté droit de l'écran.Cela est utile lors de l'implémentation d'un bouton personnalisé ou de la limitation de l'apparence du stand de merchandising à régions ou invitations de proximité.Ne peut être appelé qu'à partir d'un LocalScript .
Lecteur localScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))MerchBooth.toggleCatalogButton(false)
estMerchBoothOuvert
isMerchBoothOpen(): Tuple
Retourne true si le catalogue ou la vue d'objet est ouvert.Si la vue d'objet est ouverte, l'ID de ressource de l'itemest retourné comme deuxième valeur.Cette fonction ne peut être appelée qu'à partir d'un LocalScript .
Lecteur localScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("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
fermerBoothMerch
fermerMerchBooth()
Ferme la fenêtre du stand de merchandising. Cette fonction ne peut être appelée que depuis un LocalScript .
Lecteur localScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))MerchBooth.closeMerchBooth()
isMerchBoothEnabled
isMerchBoothEnabled(): boolean
Cette fonction peut être utilisée en tandem avec setEnabled pour vérifier si le stand de marchandise est actuellement activé ou non.Ne peut être appelé qu'à partir d'un LocalScript .
définirEnabled
setEnabled(enabled: boolean )
Définit si l'ensemble du stand de vente est activé ou non.Lorsqu'il est désactivé, cette fonction supprime l'ensemble de l'interface utilisateur, y compris les invites de proximité , et déconnecte tous les événements .Cette fonction ne peut être appelée qu'à partir d'un LocalScript .
Lecteur localScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))local isEnabled = MerchBooth.isMerchBoothEnabled()if isEnabled thenMerchBooth.setEnabled(false)end
Événements
élément ajouté
S'enflamme lorsqu'un élément est ajouté via addItemAsync. Cet événement ne peut être connecté qu'en Script.
Paramètres | |
---|---|
assetId : number | ID de ressource de l'élément. |
itemInfo : table | Dictionnaire de l'information de l'élément telle que price ou title . |
Scénario
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.itemAdded:Connect(function(assetId, itemInfo)
print("Item added with asset ID of", assetId)
print(itemInfo)
end)
objetSupprimé
S'enflamme lorsqu'un élément est supprimé via removeItem. Cet événement ne peut être connecté qu'en Script.
Paramètres | |
---|---|
assetId : number | ID de ressource de l'élément. |
Scénario
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.itemRemoved:Connect(function(assetId)
print("Item removed with asset ID of", assetId)
end)
stand marchand ouvert
S'enflamme lorsque la vue détaillée du catalogue ou est ouverte.
Lecteur localScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.merchBoothOpened:Connect(function()
print("Booth view opened")
end)
merchBoothClosed
S'enflamme lorsque la vue détaillée du catalogue ou est fermée.
Lecteur localScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.merchBoothClosed:Connect(function()
print("Booth view closed")
end)
catégorieViewOuvert
S'allume lorsque la vue du catalogue est ouverte.
Lecteur localScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.catalogViewOpened:Connect(function()
print("Catalog view opened")
end)
catégorie vue fermée
S'enflamme lorsque la vue du catalogue est fermée.
Lecteur localScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.catalogViewClosed:Connect(function()
print("Catalog view closed")
end)
ouverture d'élément vu
S'allume lorsque la vue détail de l'élément est ouverte.
Lecteur localScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.itemViewOpened:Connect(function()
print("Item view opened")
end)
itemViewFermé
S'enflamme lorsque la vue détail de l'élément est fermée.
Lecteur localScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.itemViewClosed:Connect(function()
print("Item view closed")
end)