El Mercado de Artesaníasmódulo de desarrollador le permite ofrecer arte de avatar, 2>pases2> y 5>Productos del desarrollador5> para la venta directamente dentro de su experiencia. Los jugadores pueden navegar por artículos, ver pre
Uso de módulos
Instalación
Para usar el módulo Cabina de Merchandising en una experiencia:
De la pestaña Ver, abra la Caja de herramientas y seleccione la pestaña Tienda del Creador .
Asegúrese de que se seleccione el Modelos clasificación y luego haga clic en el botón Ver Todo para Categorías .
Ubique y haga clic en el mosaico de Modulos de Dev .
Localice el módulo Cabina de merchandías y haga clic en él, o arrástralo y suéltalo en la vista 3D.
En la ventana Explorer, mueva el modelo entero de MerchBooth a ServerScriptService . Al ejecutar la experiencia, el módulo se distribuirá a varios servicios y comenzará a funcionar.
Configuración
El módulo está predefinido para trabajar para 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 de filtro predeterminado en la parte superior izquierda de la vista del catálogo:
En StarterPlayerScripts , crea un nuevo LocalScript y renombralo a ConfigurarMercado .
Pega el siguiente código en el nuevo script.
LocalScript - ConfigurarCabinaComerciallocal 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 una cabina de merchandising sin merchandising? Las siguientes secciones explican cómo agregar arte de avatar, pases y Productos del desarrollador a tu cabina de merchandising.
Recursos de Avatar
Se deben agregar elementos como ropa y accesorios a través de su ID de activo locado en la página de detalles del objetoen la Tienda de Avatar .
Cree un Script dentro de ServerScriptService y pegue 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 ID de artículo de su sitio web Avatar Shop. Por ejemplo, el ID de Gorra de béisbol de Roblox es 607702162 .
Pega cada ID copiado en una lista de comas dentro de la items tabla. Por defecto, los elementos aparecen en la vista del catálogo en orden alfabético, pero puedes personalizar la clasificación usando establecer el ordenarCatalogo .
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, -- Roblox1374269, -- Orejas de Gatito11884330, -- 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 pueden localizar en el Panel de creación de pases .
Cree un Script dentro de ServerScriptService y pegue 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 al Panel del Creador y seleccione la experiencia.
En la columna de la izquierda, debajo de Monetización, seleccione Pases.
Haga clic en el botón ⋯ para obtener un pase y seleccione Copiar ID de activo .
Paste cada ID copiado en una lista de comas dentro de la items tabla, y incluir el Encuéntrame.InfoType.GamePass como segundo parámetro para 2>addItemAsync2> 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
Script - Añadir Paseslocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))local items = {4343758, -- Armadura de ColdFyre28521575, -- 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 del desarrollador requiere ID de productos que se pueden encontrar en el Panel de control del creador .
Cree un Script dentro de ServerScriptService y pegue 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 al Panel del Creador y seleccione la experiencia.
En la columna de la izquierda, debajo de Monetización, seleccione Productos del desarrollador.
Haga clic en el botón ⋯ para un producto y seleccione Copiar ID de activo .
Paste cada ID copiado en una lista de comas dentro de la items tabla, y incluir Enum.InfoType.Product como el segundo parámetro para 2> agregarItemAsync2> para indicar que los elementos son productos del desarrollador. Por defecto, los elementos aparecen en la vista del catálogo en orden alfabético, pero puede personalizar la clas
Script - Añadir productos de desarrolladorlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))local items = {1236602053, -- Recarga de Mana1257880672, -- 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 el puesto en cualquier momento.
En algunos casos, puede ser útil eliminar este botón y conectar el 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"))-- Elimina el botón de catálogo por defectoMerchBooth.toggleCatalogButton(false)-- Conectar el botón personalizadoscript.Parent.Activated:Connect(function()MerchBooth.openMerchBooth()end)
Regiones Comprables
Una manera útil de impulsar las compras en tu experiencia es mostrar automáticamente la cabina de merchandising cuando un jugador ingresa a un área.
Para crear una región de compras:
Crea un bloque Anchored que abarca la región de detección. Asegúrese de que el bloque sea lo suficientemente alto para colisionar con el PrimaryPart de los modelos de personajes ( HumanoidRootPart por defecto).
Al usar la sección Etiquetas de las propiedades del bloques, o el Editor de Etiquetas de Studio ', aplica la etiqueta ShopRegion a la bloque para que 1> Class.CollectionService1> lo detecte.
Establece la Transparency de la parte al máximo para ocultarla de los jugadores en la experiencia. También desactiva sus propiedades CanCollide y CanQuery para que los objetos no se colisionen físicamente con él y los rayos no lo detecten.
Inserta un nuevo LocalScript debajo de StarterPlayerScripts .
En el nuevo script, pegue el siguiente código que usa los eventos Touched y TouchEnded para detectar cuando los personajes ingresan/salen de la región y llaman abrir el puesto de venta y 1> cerrar el puesto de venta1> para abrir/cerrar la Interfaz gráfica (o GUI)del
Script locallocal Players = game:GetService("Players")local ReplicatedStorage = game:GetService("ReplicatedStorage")local CollectionService = game:GetService("CollectionService")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))-- Elimina el botón de catálogo por defectoMerchBooth.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 las regiones de tienda existentesfor _, region in CollectionService:GetTagged("ShopRegion") dosetupRegion(region)end-- Detecta cuando las regiones de la tienda no estreamed se fusionanCollectionService:GetInstanceAddedSignal("ShopRegion"):Connect(setupRegion)
Solicitudes de proximidad
Como alternativa a la vista del catálogo 2D, puede agregar proximity prompts sobre los objetos de inicio de experiencia. Esto fomenta a los jugadores a descubrir elementos en el entorno, ambiente3D, previsualizarlos en su propio avatar, comprarlos y equiparlos instantáneamente. Consulte addProximityButton para obtener más información.
Cambiando el Efecto de Equipo
Por defecto, la cabina de merchandising muestra un efecto de chispitas genérico cuando un jugador equipa un artículo de ella. Para cambiar el efecto, establece particleEmitterTemplate a tu propia instancia de un ParticleEmitter en una llamada de Configurar
LocalScript - ConfigurarCabinaComercial
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 GUI
Por defecto, la cabina de merchandising oculta todos los ScreenGuis y CoreGuis cuando aparece su UI, incluida la chat, la tabla de clasificación y otros incluido por Roblox. Si desea desactivar este comportamiento, configure hideOtherUis para 2> false2> en una llamada
LocalScript - ConfigurarCabinaComercial
local ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))MerchBooth.configure({hideOtherUis = false})
Carácter de movimiento
Puede ser ventajoso prevenir a un personaje de moverse mientras está en la cabina de merchandising. Esto se puede hacer estableciendo disableCharacterMovement a true en un llamado Configurar.
LocalScript - ConfigurarCabinaComercial
local ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))MerchBooth.configure({disableCharacterMovement = true})
Referencia de API
Tipos
Artículo
Los elementos en la tienda de artesanías están representados por un diccionario con los siguientes pares de valores clave. Los elementos se pueden recopilar a través de la función getItems o el 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 | Cadena que representa el introducirde accesorio del objeto. |
isOwned | booleano | 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. |
Incrementos
Comprar marcos.Controls
Se usa junto con setControlKeyCodes para personalizar las teclas y los botones del gamepad para interactuar con el puesto de mercancías.
Nombre | Resumen |
---|---|
ProximityPrompts | Botón de tecla y/o gamepad para abrir la vista de los elementos cuando se configuran las solicitudes de proximidad. |
OpenMerchBooth | Botón de tecla y/o botón de gamepad para abrir la cabina de mercancías. |
CloseMerchBooth | Botón de tecla y/o botón de gamepad para cerrar la cabina de mercancías. |
Filter | Tecla y/o botón de gamepad para usar el pulldown de filtro predeterminado en el área superior izquierda del área de vista del catálogo. |
ViewItem | Botón de tecla y / o gamepad para abrir una vista de cabina de mercancías específica. |
Script 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
Anula las opciones de configuración del lado del cliente por defecto a través de las siguientes llaves/valores en la tabla config. Esta función solo se puede llamar desde un LocalScript .
Clave | Descripción | Por defecto |
---|---|---|
backgroundColor | Color principal de fondo 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 otras informaciones generales (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 de cabecera utilizado para el título de la ventana ( Enum.Font ). | GothamMedium |
headerTextSize | Tamaño del texto de encabezado usado para el título de la ventana. | 18 |
titleFont | Fuente del texto de título usado para nombres de artículos en la página de detalles del artículo ( Enum.Font ). | GothamBold |
titleTextSize | Tamaño del texto de título usado para nombres de artículos en la página de detalles del artículo. | 28 |
buttonColor | Color de fondo para botones más grandes en un estado de clic, como el botón de compra principal en la vista de artículo ( Color3 ). | [255, 255, 255] |
buttonTextColor | Color de texto para botones más grandes en un estado de clic, como el botón de compra principal en la vista de 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 clicable ( Color3 ). | [153, 153, 158] |
inactiveButtonTextColor | Color de texto para todos los botones en un estado no clicable ( Color3 ). | [255, 255, 255] |
particleEmitterTemplate | Instancia personalizada opcional que aparece y juega en equip. |
Script 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ñadirEventoAsíncrono
Agrega asincronamente un artículo a la cabina de artículos para que sea elegible para la compra en la experiencia. assetId es el ID de activo del objeto, productType es el índice de activo del catálogo y Enum.InfoType se puede usar para ocultar el artículo en la vista del catálogo.
Véase Añadir elementos para obtener detalles, ya que el uso varía ligeramente para artefactos en lugar de pases de juego o 1>Productos del desarrollador1> .
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, -- Roblox
1374269, -- Orejas de Gatito
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 ColdFyre
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 Mana
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
Regresa un diccionario que representa todos los elementos registrados actualmente. Cada clave es un ID de activo de un objetocomo una cadena, y cada valor de clave es un Artículo. Esta función solo se puede llamar desde un Script .
Script
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
Eliminar
Desregistra un elemento anteriormente agregado con addItemAsync , eliminando su azulejo en la vista del catálogo y cualquier próximo aviso de proximidad asignado a él. Esta función solo se puede llamar desde un Script .
Script
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 algún tiempo, elimina el objeto
task.wait(5)
MerchBooth.removeItem(4819740796)
end
añadirBotón de proximidad
Agrega un 提示 de proximidad sobre el adornee que se mostrará la vista de un objetode compras, dado su ID de activo. Esto se puede usar como alternativa a la vista del catálogo 2D, alentando a los jugadores a descubrir artículos en el entorno, ambiente3D.
Nota que un elemento debe ser agregado a través de agregarItemAsync antes de que se pueda asignar un botón de proximidad. Vea también eliminarProximityButton para eliminar el mensaje de proximidad de un objeto.
Script
local ReplicatedStorage = game:GetService("ReplicatedStorage")
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
EliminarBotón de proximidad
Elimina un <a href="/resources/modules/https:/developer.microsoft.com/en-us/microsoft-edge/microsoft-edge- proximity-prompt">提示 de proximidad</a> generado a través de <a href="/resources/modules/https:/developer.microsoft.com/en-us/microsoft-edge/microsoft-edge- proximity-prompt">añadirProximityButton</a>. Esta función solo se puede llamar desde un <a href="/resources/modules/https:/developer.microsoft.com/en-us/microsoft-edge/microsoft-edge- próximity-prompt">Class.Script</a> .
Script
local ReplicatedStorage = game:GetService("ReplicatedStorage")
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 algún tiempo, elimina la solicitud
task.wait(5)
MerchBooth.removeProximityButton(item)
end
setCatalogSort
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 información de Artículo como price o 1> title1> . Esta función solo se puede llamar desde un 4> Class.LocalScript4> .
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 claves de control
Configura los valores de la llave y el botón para las interacciones con la cabina de merchandising. El primer parámetro debe ser un MerchBooth.Controls枚 y el segundo parámetro es una tabla que contiene las llaves keyboard y/o gamepad con los correspondientes 1> Enums.KeyCode1> enums.
Enum ( control ) | Por defecto keyCodes Claves/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 |
Script 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,})
Abrir puesto de mercancías
Abre la ventana de la cabina de mercancías (si está cerrada) y navega a la vista del catálogo. Esta función solo se puede llamar desde un LocalScript .
Script 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()
Abrir vista
Navega a la vista de un solo elemento del itemId, abriendo la ventana de la cabina de mercancías si está actualmente cerrada. Esta función solo se puede llamar desde un LocalScript .
Script 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
Alternar botón de catálogo
Alterna el botón de catálogo en el lado derecho de la pantalla. Esto es útil cuando se implementa un botón personalizado o se limita la apariencia de la cabina de merchandising a regiones o proximity prompts. Solo se puede llamar desde un Class.LocalScript .
Script local
local ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))MerchBooth.toggleCatalogButton(false)
isMerchBoothOpen
Regresa true si el catálogo o la vista del artículo está abierto. Si la vista del artículo está abierta, se devuelve el ID de la propiedad del objetocomo el segundo valor. Esta función solo se puede llamar desde un LocalScript .
Script 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
cerrarCabinaComercial
Cierra la ventana de la cabina de mercancías. Esta función solo se puede llamar desde un LocalScript .
Script local
local ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))MerchBooth.closeMerchBooth()
isMerchBoothHabilitado
Esta función se puede utilizar en conjunción con setEnabled para verificar si la cabina de merchandising está actualmente habilitada o no. Solo se puede llamar desde un LocalScript .
setHabilitado
Establece si el espacio de exhibición entero está habilitado o no. Cuando está deshabilitado, esta función elimina el espacio de UI, incluida la proximidad prompts y desconecta todos los eventos. Esta función solo se puede llamar desde un LocalScript .
Script 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 activa 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 Artículo información como price o title . |
Script
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ículoEliminado
Se activa cuando se elimina un elemento a través de eliminar elemento . Este evento solo se puede conectar en un Script .
Parámetros | |
---|---|
assetId: number | ID de activo de artículo. |
Script
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 activa cuando se abre la vista de detalle del catálogo o
Script local
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.merchBoothOpened:Connect(function()
print("Booth view opened")
end)
merchBoothCerrado
Se activa cuando se cierra la vista de detalle del catálogo o
Script local
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.merchBoothClosed:Connect(function()
print("Booth view closed")
end)
catálogoVisto
Dispara cuando se abre la vista del catálogo.
Script local
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.catalogViewOpened:Connect(function()
print("Catalog view opened")
end)
catálogoVistoCerrado
Se activa cuando se cierra la vista del catálogo.
Script local
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.catalogViewClosed:Connect(function()
print("Catalog view closed")
end)
itemViewObtenido
Se activa cuando se abre la vista de detalle del artículo.
Script local
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.itemViewOpened:Connect(function()
print("Item view opened")
end)
itemViewCerrado
Se activa cuando se cierra la vista de detalle del artículo.
Script local
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.itemViewClosed:Connect(function()
print("Item view closed")
end)