El módulo desarrollador de MerchBooth te permite ofrecer recursos de avatar , pases y productos para desarrolladores para la venta directamente dentro de tu experiencia.Los jugadores pueden navegar por los artículos, previsualizar recursos en su propio avatar, comprar artículos y utilizarlos instantáneamente o equiparlos sin salir de su experiencia.Esto puede ayudarlo a monetizar su experiencia y obtener ingresos a través de la tarifa de afiliado del 40% asociada con la venta de artículos de otros creadores.
Uso de módulo
Instalación
Para usar el módulo MerchBooth en una experiencia:
Asegúrese de que la clasificación de modelos esté seleccionada, luego haga clic en el botón Ver todo para categorías .
Localiza y haz clic en el mosaico Módulos de desarrollo .
Localiza el módulo Puesto de mercancías y haz clic en él, o arrastra y suelta en la vista 3D.
En la ventana Explorador, mueva todo el modelo MerchBooth al servicio ServerScriptService .Al ejecutar la experiencia, el módulo se distribuirá a varios servicios y comenzará a funcionar.
Configuración
El módulo está preconfigurado para trabajar en la mayoría de los casos de uso, pero se puede personalizar fácilmente a través de la función configurar.Por ejemplo, para crear un tema más ligero y desactivar el botón predeterminado Filtro en la parte superior izquierda de la vista del catálogo:
En StarterPlayerScripts , crea un nuevo LocalScript y renómlalo a Configurar puesto de mercancías .
Pega el siguiente código en el nuevo script.
LocalScript - Configurar el puesto de mercancíaslocal 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})
Añadir artículos
¿Qué es un puesto de merchandising sin merchandising? Las siguientes secciones explican cómo agregar activos de avatar, pases y productos de desarrollador a tu puesto de merchandising.
Recursos de avatar
Los artículos como ropa y accesorios deben ser agregados a través de su ID de activo ubicado en la página de detalles del objetoen la Tienda de Avatar.
Crea un Script dentro de ServerScriptService y pega el siguiente código.
Script - Añadir recursos de 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)endendCopia las ID de activos de artículos de su URL del sitio web Tienda de avatares. Por ejemplo, la ID de gorra de béisbol de Roblox es 607702162 .
Pega cada ID copiado en una lista delimitada por comas dentro de la tabla items.Por defecto, los elementos aparecen en la vista del catálogo en orden alfabético, pero puedes personalizar la clasificación usando setCatalogSort.
Script - Añadir recursos de avatarlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))local items = {607702162, -- Gorra de béisbol de Roblox4819740796, -- Robofox1374269, -- Orejas de gato11884330, -- Gafas de nerd10476359, -- Sombrero de papel}for _, assetId in items dolocal success, errorMessage = pcall(function()MerchBooth.addItemAsync(assetId)end)if not success thenwarn(errorMessage)endend
Pases
Añadir pases requiere ID de pase que se puede localizar en el tablero de administrador de creadores.
Crea un Script dentro de ServerScriptService y pega el siguiente código.
Script - Añadir paseslocal 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)endendNavegue hasta el tablero de control del creador y seleccione la experiencia.
En la columna de la izquierda, debajo de Monetización , seleccione Pasajes .
Pase el cursor sobre una miniatura de pase, haga clic en el botón ⋯ y seleccione Copiar ID de activo en el menú contextual.
Pega cada ID copiado en una lista delimitada por comas dentro de la tabla items y **** incluye Enum.InfoType.GamePass como el segundo parámetro para addItemAsync para indicar que los elementos son pases.Por defecto, los elementos aparecerán en la vista del catálogo en orden alfabético, pero la clasificación se puede personalizar a través de setCatalogSort.
Script - Añadir paseslocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))local items = {4343758, -- Armadura de fuego frío28521575, -- Escudo de limo}for _, assetId in items dolocal success, errorMessage = pcall(function()MerchBooth.addItemAsync(assetId, Enum.InfoType.GamePass)end)if not success thenwarn(errorMessage)endend
Productos para desarrolladores
Añadir productos de desarrollador requiere ID de producto que se pueden localizar en el Tablero de Creator.
Crea un Script dentro de ServerScriptService y pega el siguiente código.
Script - Añadir productos de desarrolladorlocal 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)endendNavegue hasta el tablero de control del creador y seleccione la experiencia.
En la columna de la izquierda, debajo de Monetización , seleccione Productos para desarrolladores .
Pase el cursor sobre la miniatura de un producto, haga clic en el botón ⋯ y seleccione Copiar ID de activo del menú contextual.
Pega cada ID copiado en una lista delimitada por comas dentro de la tabla items y **** incluye Enum.InfoType.Product como el segundo parámetro para addItemAsync para indicar que los artículos son productos de desarrollador.Por defecto, los elementos aparecen en la vista del catálogo en orden alfabético, pero puedes personalizar la clasificación usando setCatalogSort.
Script - Añadir productos de desarrolladorlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))local items = {1236602053, -- Recarga de maná1257880672, -- Poción de curación}for _, assetId in items dolocal success, errorMessage = pcall(function()MerchBooth.addItemAsync(assetId, Enum.InfoType.Product)end)if not success thenwarn(errorMessage)endend
Botón de catálogo personalizado
Por defecto, un botón de catálogo de la derecha permite a los jugadores abrir la cabina en cualquier momento .

En algunos casos, puede ser útil eliminar este botón y conectar el tuyo en posesión:
Crea un nuevo botón como se describe en Botones.
Crea un LocalScript como hijo del objeto de botón.
Pega el siguiente código en el nuevo script.
LocalScript - Botón de catálogo personalizadolocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))-- Eliminar el botón de catálogo predeterminadoMerchBooth.toggleCatalogButton(false)-- Conecta el botón personalizadoscript.Parent.Activated:Connect(function()MerchBooth.openMerchBooth()end)
Regiones comerciables
Una manera útil de impulsar las compras en tu experiencia es mostrar automáticamente el puesto de merchandising cuando un jugador ingresa a una zona.
Para crear una región comprable:
Crea un bloque Anchored que abarque la región de detección.Asegúrate de que el bloque sea lo suficientemente alto como para chocar con el PrimaryPart de modelos de personajes ( HumanoidRootPart por defecto).
Bloque para detectar cuando los jugadores se acercan a la parte delantera del mostrador de la tienda Usando la sección Etiquetas de las propiedades del bloqueso el editor de etiquetas de Studio, aplique la etiqueta al bloque para que lo detecte.
Establece el Transparency de la parte al máximo para ocultarla de los jugadores en la experiencia.También desactive sus propiedades CanCollide y CanQuery para que los objetos no choquen físicamente con él y los rayos no lo detecten.
Inserta un nuevo LocalScript debajo de StarterPlayerScripts .
En el nuevo script, pega el siguiente código que usa los eventos Touched y TouchEnded para detectar cuando los personajes ingresan/salen de la región y llama openMerchBooth y closeMerchBooth para abrir/cerrar la Interfaz gráfica (o GUI)del puesto.
Guión locallocal Players = game:GetService("Players")local ReplicatedStorage = game:GetService("ReplicatedStorage")local CollectionService = game:GetService("CollectionService")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))-- Eliminar el botón de catálogo predeterminadoMerchBooth.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-- Iterar a través de regiones etiquetadas existentesfor _, region in CollectionService:GetTagged("ShopRegion") dosetupRegion(region)end-- Detecta cuando las regiones de la tienda sin transmitir fluyenCollectionService:GetInstanceAddedSignal("ShopRegion"):Connect(setupRegion)
Indicaciones de proximidad
Como alternativa a la vista del catálogo de 2D, puedes agregar instrucciones de proximidad sobre objetos en experiencia.Esto anima a los jugadores a descubrir artículos en el entorno, ambiente3D, probarlos en su propio avatar, comprarlos y equiparlos al instante.Vea addProximityButton para detalles.
Cambiar el efecto de equipamiento
Por defecto, el puesto de mercancías muestra un efecto de brillo genérico cuando un jugador equipa un artículo de él.Para cambiar el efecto, establece particleEmitterTemplate a tu propia instancia de un ParticleEmitter en una llamada configurar.
LocalScript - Configurar el puesto de mercancías
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})
Visibilidad de la GUI
Por defecto, el puesto de merchandising oculta todos los ScreenGuis y CoreGuis cuando aparece su interfaz de usuario, incluido el chat, la tabla de clasificación y otros incluidos por Roblox.Si desea deshabilitar este comportamiento, establezca hideOtherUis a false en una llamada configurar .
LocalScript - Configurar el puesto de mercancías
local ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))MerchBooth.configure({hideOtherUis = false})
Movimiento de caracteres
Puede ser ventajoso evitar que un personaje se mueva mientras está en la cabina de mercancías.Esto se puede hacer al establecer disableCharacterMovement a true en una llamada configurar.
LocalScript - Configurar el puesto de mercancías
local ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))MerchBooth.configure({disableCharacterMovement = true})
Referencia de API
Tipos
Artículo
Los artículos en la cabina de mercancías se representan con un diccionario con los siguientes pares de clave-valor.Los elementos se pueden recopilar a través de la función getItems o del evento itemadded.
Clave | Tipo | Descripción |
---|---|---|
assetId | número | ID del catálogo del objeto, como se pasó a addItemAsync. |
title | cadena | Título del artículo como aparece en el catálogo. |
price | número | Precio del artículo en Robux. |
description | cadena | Descripción del artículo como aparece en el catálogo. |
assetType | cadena | Texto que representa el introducirde accesorio del objeto. |
isOwned | bool | Si el jugador actual posee el objeto. |
creatorName | cadena | Creador de artículos como se muestra en el catálogo. |
creatorType | Enum.CreatorType | Tipo de creador para el objeto. |
Enumeraciones
MerchBooth.Controls
Se usa junto con setControlKeyCommands para personalizar las teclas y los botones del gamepad para interactuar con el puesto de mercancías.
Nombre | Resumen |
---|---|
ProximityPrompts | Tecla y/o botón del gamepad para abrir la vista del artículo cuando se configuran los avisos de proximidad de. |
OpenMerchBooth | Tecla y/o botón del gamepad para abrir el puesto de merchandising. |
CloseMerchBooth | Tecla y/o botón del gamepad para cerrar el puesto de merchandising. |
Filter | Tecla y/o botón de gamepad para usar el filtro predeterminado Filtro en la parte superior izquierda del área de vista del catálogo. |
ViewItem | Tecla y/o botón del gamepad para abrir una vista de elemento de puesto de mercancías específica. |
Guión local
local ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))MerchBooth.setControlKeyCodes(MerchBooth.Controls.ProximityPrompts, {keyboard = Enum.KeyCode.Q,gamepad = Enum.KeyCode.ButtonL1})
Funciones
configurar
configurar(config: table )
Anula las opciones de configuración predeterminadas del lado del cliente a través de las siguientes claves/valores en la tabla config.Esta función solo se puede llamar desde un LocalScript .
Clave | Descripción | Por defecto |
---|---|---|
backgroundColor | Color de fondo principal de la ventana ( Color3 ). | [0, 0, 0] |
cornerRadius | Radio de esquina para la ventana principal ( UDim ). | (0, 16) |
cornerRadiusSmall | Radio de esquina para elementos dentro de la ventana ( UDim ). | (0, 8) |
textFont | Fuente de "texto principal" como precios, descripciones y otra información general (Enum.Font). | Gotham |
textSize | Tamaño del texto principal. | 14 |
textColor | Color del texto principal ( Color3 ). | [255, 255, 255] |
secondaryTextColor | Color utilizado para algunas variaciones del texto principal (Color3). | [153, 153, 158] |
headerFont | Fuente del texto del encabezado utilizado para el título de la ventana ( Enum.Font ). | GothamMedium |
headerTextSize | Tamaño del texto del encabezado utilizado para el título de la ventana. | 18 |
titleFont | Fuente del texto del título utilizado para los nombres de los artículos en la página de detalles del artículo (Enum.Font). | GothamBold |
titleTextSize | Tamaño del texto del título utilizado para los nombres de los artículos en la página de detalles del artículo. | 28 |
buttonColor | Color de fondo para botones más grandes en un estado clicable, como el botón de compra principal en la vista del artículo ( Color3 ). | [255, 255, 255] |
buttonTextColor | Color de texto para botones más grandes en un estado clicable, como el botón de compra principal en la vista del artículo ( Color3 ). | [0, 0, 0] |
secondaryButtonColor | Color de fondo para botones más pequeños como los botones de precio en la vista de catálogo o el botón Prueba ( Color3 ). | [34, 34, 34] |
secondaryButtonTextColor | Color de texto para botones más pequeños como los botones de precio en la vista de catálogo o el botón Prueba ( Color3 ). | [255, 255, 255] |
inactiveButtonColor | Color de fondo para todos los botones en un estado no haga clic ( Color3 ). | [153, 153, 158] |
inactiveButtonTextColor | Color de texto para todos los botones en un estado no haga clic ( Color3 ). | [255, 255, 255] |
particleEmitterTemplate | Instancia personalizada opcional ParticleEmitter que aparece y juega en equip. |
Guión local
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,})
añadirItemAsync
addItemAsync(assetId: number , tipo de producto: Enum.InfoType , ocultar del catálogo: boolean)
Agrega de forma asincrónica un artículo a la cabina de mercancías para que sea elegible para la compra en la experiencia. assetId es el ID de activo del objeto, productType es el enumerador del objetoEnum.InfoType y hideFromCatalog se puede usar para ocultar el artículo en la vista del catálogo.
Vea Añadir artículos para detalles, ya que el uso varía ligeramente para activos versus pases de juego o productos de desarrollador .
Script - Añadir recursos de avatar
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
local items = {
607702162, -- Gorra de béisbol de Roblox
4819740796, -- Robofox
1374269, -- Orejas de gato
11884330, -- Gafas de nerd
10476359, -- Sombrero de papel
}
for _, assetId in items do
local success, errorMessage = pcall(function()
MerchBooth.addItemAsync(assetId)
end)
if not success then
warn(errorMessage)
end
end
Script - Añadir pases
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
local items = {
4343758, -- Armadura de fuego frío
28521575, -- Escudo de limo
}
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 - Añadir productos de desarrollador
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
local items = {
1236602053, -- Recarga de maná
1257880672, -- Poción de curación
}
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
obtener artículos
getItems(): table
Devuelve un diccionario que representa todos los artículos registrados actualmente.Cada clave es un ID de activo de objetocomo cadena, y el valor de cada clave es un elemento.Esta función solo se puede llamar desde un Script .
Guión
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
quitar elemento
removingItem(assetId: number )
Desregistra un artículo previamente agregado con addItemAsync, eliminando su azulejo en la vista del catálogo y cualquier solicitud de proximidad asignada a él.Esta función solo se puede llamar desde un Script .
Guión
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
local success, errorMessage = pcall(function()
MerchBooth.addItemAsync(4819740796)
end)
if success then
-- Después de un tiempo, elimina el objeto
task.wait(5)
MerchBooth.removeItem(4819740796)
end
añadirProximidadButton
addProximityButton(adornee: BasePart | Model | Attachment , assetId: number )
Añade un aviso de proximidad sobre el dado adornee que desencadenará la visualización de la vista de compra de un objeto, dada su ID de activo.Esto se puede utilizar como alternativa a la vista del catálogo de 2D, alentando a los jugadores a descubrir artículos en el entorno, ambiente3D.
Tenga en cuenta que un artículo debe ser agregado a través de addItemAsync antes de que se pueda asignar un botón de proximidad a él.Vea también eliminar el botón de proximidad para eliminar la solicitud de proximidad de un objeto.
Guión
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
quitarBotón de proximidad
eliminarProximityButton(adornee: BasePart | Model | Attachment )
Elimina un aviso de proximidad generado a través de addProximityButton . Esta función solo se puede llamar desde un Script .
Guión
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
-- Después de un tiempo, elimine la solicitud
task.wait(5)
MerchBooth.removeProximityButton(item)
end
establecerCatalogSort
setCatalogSort(función de clasificación: function ): boolean
Establece la función de clasificación sortFunction para usar en la vista del catálogo.La función de clasificación proporcionada puede usar lógica basada en la información de Artículo como price o title .Esta función solo se puede llamar desde un LocalScript .
Aquí hay algunos ejemplos para ordenar el catálogo:
Precio de bajo a alto
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.setCatalogSort(function(a, b)
return a.price < b.price
end)
Precio de alto a bajo
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.setCatalogSort(function(a, b)
return a.price > b.price
end)
Precio de bajo a alto y alfabético
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)
establecer control de claves de código
setControlKeyCommands(control: MerchBooth.Controls , keyCommands: table )
Configura los valores de clave y botón para las interacciones con el puesto de mercancías.El primer parámetro debe ser un enumerado MerchBooth.Controls y el segundo parámetro una tabla que contenga las claves keyboard y/o gamepad con los correspondientes enumerados Enum.KeyCode.
Enum ( control ) | Por defecto keyCodes Llaves/Valores |
---|---|
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 |
Guión local
local ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))MerchBooth.setControlKeyCodes(MerchBooth.Controls.ProximityPrompts, {keyboard = Enum.KeyCode.Q,gamepad = Enum.KeyCode.ButtonL1,})
abrirMerchBooth
openMerchBooth()
Abre la ventana de la cabina de merchandising (si está cerrada) y navega a la vista del catálogo. Esta función solo se puede llamar desde un LocalScript .
Guión local
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()
viewItemOpen de abierto
openItemView(itemId: number )
Navega a la vista de un solo artículo del dado itemId, abriendo la ventana de la cabina de mercancías si está actualmente cerrada.Esta función solo se puede llamar desde un LocalScript .
Guión local
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
habilitarBotónCatálogo
habilitarBotónCatálogo(habilitado: boolean )
Alterna el botón de catálogo en el lado derecho de la pantalla.Esto es útil al implementar un botón personalizado o limitar la apariencia del puesto de mercancías a regiones o instrucciones de proximidad.Solo se puede llamar desde un LocalScript .
Guión local
local ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))MerchBooth.toggleCatalogButton(false)
estáMerchBoothOpen
isMerchBoothOpen(): Tuple
Devuelve true si está abierto el catálogo o la vista de elementos.Si la vista de elemento está abierta, el ID del objetose devuelve como segundo valor.Esta función solo se puede llamar desde un LocalScript .
Guión local
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
cerrarMerchBooth
cerrarBooth de comercio()
Cierra la ventana de la cabina de merchandising. Esta función solo se puede llamar desde un LocalScript .
Guión local
local ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))MerchBooth.closeMerchBooth()
está habilitado isMerchBoothEnabled
isMerchBoothEnabled(): boolean
Esta función se puede usar en conjunto con setEnabled para verificar si el puesto de mercancías está actualmente habilitado o no.Solo se puede llamar desde un LocalScript .
establecerEnabled
setEnabled(habilitado: boolean )
Establece si todo el puesto de mercancías está habilitado o no.Cuando está deshabilitada, esta función elimina toda la interfaz de usuario, incluido los avisos de proximidad , y desconecta todos los eventos .Esta función solo se puede llamar desde un LocalScript .
Guión local
local ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))local isEnabled = MerchBooth.isMerchBoothEnabled()if isEnabled thenMerchBooth.setEnabled(false)end
Eventos
artículoañadido
Se incendia cuando se agrega un artículo a través de addItemAsync. Este evento solo se puede conectar en un Script .
Parámetros | |
---|---|
assetId: number | ID de activo de artículo. |
itemInfo: table | Diccionario de información del artículo tal como price o title . |
Guión
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)
artículoRemovido
Se activa cuando se elimina un artículo a través de removeItem. Este evento solo se puede conectar en un Script.
Parámetros | |
---|---|
assetId: number | ID de activo de artículo. |
Guión
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)
merchBoothAbierto
Se enciende cuando se abre el detalle del elemento del catálogo o .
Guión local
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.merchBoothOpened:Connect(function()
print("Booth view opened")
end)
merchBoothCerrado
Se enciende cuando se cierra el detalle del elemento del catálogo o .
Guión local
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.merchBoothClosed:Connect(function()
print("Booth view closed")
end)
catálogoViewOpened
Se enciende cuando se abre la vista del catálogo.
Guión local
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.catalogViewOpened:Connect(function()
print("Catalog view opened")
end)
catálogoViewClosed
Se enciende cuando se cierra la vista del catálogo.
Guión local
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.catalogViewClosed:Connect(function()
print("Catalog view closed")
end)
itemViewAbierto
Se enciende cuando se abre la vista de detalle del artículo.
Guión local
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.itemViewOpened:Connect(function()
print("Item view opened")
end)
itemViewCerrado
Se enciende cuando se cierra la vista de detalle del artículo.
Guión local
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.itemViewClosed:Connect(function()
print("Item view closed")
end)