MerchBooth개발자 모듈을 사용하면 아바타 자산을 제공하고, 패스를 판매하고, 개발자 제품을 직접 판매할 수 있습니다. 플레이어는 아이템을 검색하고
모듈 사용
설치
경험에서 MerchBooth 모듈을 사용하려면:
모델 정렬을 선택한 다음 모두 보기 버튼을 클릭하여 범주 에 대한 전체 보기를 클릭하십시오.
찾아 클릭하십시오 개발자 모듈 타일.
의류 가판대 모듈을 찾아 클릭하거나 3D 뷰에 드래그 앤 드롭하세요.
In the 탐색기 창에서, the entire MerchBooth 모델을 ServerScriptService 로 이동합니다. 경험을 실행할 때, 모듈은 다양한 서비스에 배포되고 시작하기 시작합니다.
구성
모듈은 대부분의 사용 사례에 대해 작동하도록 미리 구성되지만, 구성 함수를 통해 쉽게 사용자 정의할 수 있습니다. 예를 들어, 더 라이트 테마를 생성하고 카탈로그 뷰의 왼쪽 상단 구역에 있는 기본 필터 버튼을 비활성화하려면:
In StarterPlayerScripts , create a new LocalScript and rename it to ConfigureMerchBooth .
다음 코드를 새 스크립트에 붙여넣습니다.
로컬 스크립트 - ConfigureMerchBoothlocal 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})
아이템 추가
의류 없는 상점은 무엇입니까? 다음 섹션에서는 아바타 자산, 패스, 및 개발자 제품을 상품 보관대에 추가하는 방법을 설명합니다.
아바타 자산
의류 및 액세서리와 같은 아이템은 아이템 세부 페이지에 있는 아바타 상점에서 자산 ID를 통해 추가해야 합니다.
서버스크립트 서비스 내에서 Script를 생성하고 다음 코드를 붙여넣습니다.
스크립트 - 아바타 자산 추가local 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)endend아바타 상점의 웹 사이트 URL에서 아이템 자산 ID를 복사합니다. 예를 들어, Roblox 야구 모자의 ID는 607702162입니다.
각 복사한 ID를 알파벳 순으로 items 테이블 내의 쉼표 구분 목록에 붙여넣습니다. 기본적으로 항목은 카탈로그 뷰에 나타나지만, setCatalogSort 를 사용하여 정렬을 사용자 정의할 수 있습니다.
스크립트 - 아바타 자산 추가local ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))local items = {607702162, -- Roblox 야구 모자4819740796, -- Roblox1374269, -- 고양이 귀11884330, -- 찐따 안경10476359, -- 종이 모자}for _, assetId in items dolocal success, errorMessage = pcall(function()MerchBooth.addItemAsync(assetId)end)if not success thenwarn(errorMessage)endend
패스
패스를 추가하려면 크리에이터 대시보드에 있는 패스 ID가 필요합니다.
서버스크립트 서비스 내에서 Script를 생성하고 다음 코드를 붙여넣습니다.
스크립트 - 패스 추가local 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)endend크리에이터 대시보드로 이동하고 경험을 선택하세요.
In the left column, under 수익 창출 , select 패스 .
패스용 버튼을 클릭하고 자산 ID 복사를 선택합니다.
Paste each copied ID into a comma-delimited list within the items table and include Enum.InfoType.GamePass as the second parameter for 1> addItemAsync1> to indicate that the items are passes. By default, items will appear in the catalog view in alphabetical order, but sorting can be customized via 4> setCatalogSort
스크립트 - 패스 추가local ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))local items = {4343758, -- 콜드파이어 갑옷28521575, -- 점액 방패}for _, assetId in items dolocal success, errorMessage = pcall(function()MerchBooth.addItemAsync(assetId, Enum.InfoType.GamePass)end)if not success thenwarn(errorMessage)endend
개발자 제품
개발자 제품 추가 는 크리에이터 대시보드에 있는 제품 ID를 필요로 합니다.
서버스크립트 서비스 내에서 Script를 생성하고 다음 코드를 붙여넣습니다.
스크립트 - 개발자 제품 추가local 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)endend크리에이터 대시보드로 이동하고 경험을 선택하세요.
In the left column, under 수익 창출 , select 개발자 제품 .
제품을 클릭하고 자산 ID 복사를 선택하십시오.
items 테이블 내의 쉼표 구분 목록에 각 복사된 ID를 붙여넣으십시오 와 함께 사용자 지정 된 Enum.InfoType.Product 을 두 번째 매개 변수로 나타냅니다 아이템을 개발자 제품
스크립트 - 개발자 제품 추가local ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))local items = {1236602053, -- 마나 보충1257880672, -- 치료 물약}for _, assetId in items dolocal success, errorMessage = pcall(function()MerchBooth.addItemAsync(assetId, Enum.InfoType.Product)end)if not success thenwarn(errorMessage)endend
사용자 지정 카탈로그 버튼
기본적으로 오른쪽 카탈로그 버튼 은 플레이어가 언제든지 부스를 열도록 허용합니다.
In some cases, it may be useful to 이 버튼을 제거하고 자신의 연결을 연결하는 것이 좋습니다.
버튼을 만들기 위해 버튼 작성 내용에 따라 새 버튼을 생성하십시오.
버튼 개체의 자식으로 LocalScript 를 생성합니다.
다음 코드를 새 스크립트에 붙여넣습니다.
LocalScript - 사용자 지정 카탈로그 버튼local ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))-- 기본 카탈로그 버튼 제거MerchBooth.toggleCatalogButton(false)-- 사용자 지정 버튼 연결script.Parent.Activated:Connect(function()MerchBooth.openMerchBooth()end)
구매 가능한 지역
경험에서 구매를 유도하는 데 도움이 되는 좋은 방법은 플레이어가 영역에 들어갈 때 상품 부스를 자동으로 표시하는 것입니다.
가게 가능한 지역을 만들려면:
감지 영역을 덮는 Anchored 블록을 생성합니다. 블록이 캐릭터 모델의 PrimaryPart 와 충돌하지 않도록 높이가 충분하게 높이십시오( HumanoidRootPart 기본).
블록의 속성의 태그 섹션 또는 Studio의 태그 편집기 를 사용하여 블록에 태그를 적용하여 ShopRegion 을 블록에 적용하여 2> Class.CollectionService2> 이 감지하도록 합니다.
파트의 Transparency 를 최대로 설정하여 플레이어가 경험에서 숨길 수 있습니다. 또한 그것의 CanCollide 및 CanQuery 속성을 비활성화하여 개체가 물리적으로 충
StarterPlayerScripts 아래에 새로운 Class.LocalScript 를 삽입합니다.
새 스크립트에서 Touched 및 TouchEnded 이벤트를 사용하여 캐릭터가 영역을 입력하거나 떠나면 스튜드 콜백을 감지하고 openMerchBooth 및 1>closeMerchBooth</
로컬 스크립트local Players = game:GetService("Players")local ReplicatedStorage = game:GetService("ReplicatedStorage")local CollectionService = game:GetService("CollectionService")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))-- 기본 카탈로그 버튼 제거MerchBooth.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-- 기존 태그된 상점 영역을 반복합니다.for _, region in CollectionService:GetTagged("ShopRegion") dosetupRegion(region)end-- 비 스트림 상점 영역이 스트림되는 시간 감지CollectionService:GetInstanceAddedSignal("ShopRegion"):Connect(setupRegion)
근접 프롬프트
2D 카탈로그 뷰의 대안으로, 경험 내 개체에 근접 프롬프트를 추가할 수 있습니다. 이렇게 하면 플레이어가 3D 환경에서 아이템을 발견하고, 자신의 아바타에서 미리 보고, 구매하고 즉시 장착할 수 있습니다. 자세한 내용은 addProxim
장비 효과 변경
기본적으로 상점 부스는 플레이어가 아이템을 장착할 때 일반적인 반짝이 효과를 표시합니다. 효과를 변경하려면 particleEmitterTemplate 을 자신의 ParticleEmitter 인스턴스에 설정하십시오.
로컬 스크립트 - ConfigureMerchBooth
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})
버튼 표시
기본적으로 상점 부스는 모든 ScreenGuis 및 CoreGuis 를 포함하여 채팅, 리더보드및 기타 Roblox 포함 기타 기능을 표시할 때 hideOtherUis 를 숨깁니다.
로컬 스크립트 - ConfigureMerchBooth
local ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))MerchBooth.configure({hideOtherUis = false})
캐릭터 이동
캐릭터가 상점 부스에 있는 동안 이동을 방지하는 것이 좋습니다. 이 작업은 disableCharacterMovement 에서 true 를 true로 설정하여 수행할 수 있습니다.
로컬 스크립트 - ConfigureMerchBooth
local ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))MerchBooth.configure({disableCharacterMovement = true})
API 참조
형식
아이템
상점에 있는 아이템은 다음 키 값 쌍으로 사전에 표시됩니다. 아이템은 getItems 함수 또는 itemAdded 이벤트를 통해 수집할 수 있습니다.
키 | 유형 | 설명 |
---|---|---|
assetId | 숫자 | 아이템의 카탈로그 ID, addItemAsync로 전달되었습니다. |
title | 문자열 | 카탈로그에 표시되는 항목 제목. |
price | 숫자 | Robux 가격 아이템. |
description | 문자열 | 카탈로그에 나타나는 아이템 설명. |
assetType | 문자열 | 아이템의 액세서리 입력나타내는 문자열입니다. |
isOwned | 부울 | 현재 플레이어가 아이템을 소유하고 있는지 여부. |
creatorName | 문자열 | 카탈로그에 표시된 아이템 생성자입니다. |
creatorType | Enum.CreatorType | 아이템의 크리에이터 유형입니다. |
열거
MerchBooth.Controls
setControlKeyCodes와 함께 사용하여 키와 게임 패드 버튼을 사용자 상호 작용 장치에 대해 사용자 정의합니다.
이름 | 요약 |
---|---|
ProximityPrompts | 근접 프롬프트가 구성된 경우 키 및/또는 게임 패드 버튼을 통해 아이템 뷰를 엽니다. |
OpenMerchBooth | 키 및/또는 게임 패드 버튼을 통해 상점 부스를 열 수 있습니다. |
CloseMerchBooth | 키 및/또는 게임 패드 버튼을 통해 상점 부스를 닫습니다. |
Filter | 왼쪽 상단 구역의 카탈로그 보기에서 기본 필터 풀다운을 사용하려면 키 및/또는 게임 패드 버튼을 사용하십시오. |
ViewItem | 키 및/또는 게임 패드 버튼을 통해 특정 상점 아이템 뷰를 엽니다. |
로컬 스크립트
local ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))MerchBooth.setControlKeyCodes(MerchBooth.Controls.ProximityPrompts, {keyboard = Enum.KeyCode.Q,gamepad = Enum.KeyCode.ButtonL1})
함수
구성
Class.LocalScript 테이블의 다음 키/값을 통해 기본 클라이언트 사이드 구성 옵션을 재정의합니다. 이 함수는 LocalScript 에서만 호출할 수 있습니다.
키 | 설명 | 기본 |
---|---|---|
backgroundColor | 창의 주 배경 색( Color3 )입니다. | [0, 0, 0] |
cornerRadius | 주 창의 모서리 반경(UDim). | (0, 16) |
cornerRadiusSmall | 창 내의 요소에 대한 모서리 반경(UDim). | (0, 8) |
textFont | 가격, 설명 및 기타 일반 정보와 같은 "메인 텍스트" 글꼴( Enum.Font ). | Gotham |
textSize | 주 텍스트의 크기입니다. | 14 |
textColor | 주 텍스트 색 ( Color3 ) . | [255, 255, 255] |
secondaryTextColor | 메인 텍스트의 일부 변형에 사용된 색( Color3 ). | [153, 153, 158] |
headerFont | 창 타이틀에 사용되는 헤더 텍스트 서체(Enum.Font). | GothamMedium |
headerTextSize | 창 타이틀에 사용되는 헤더 텍스트 크기. | 18 |
titleFont | 항목 세부 정보 페이지에 있는 항목 이름에 사용되는 타이틀 폰트(Enum.Font). | GothamBold |
titleTextSize | 항목 세부 페이지에 사용되는 항목 이름에 대한 타이틀 텍스트 크기. | 28 |
buttonColor | 클릭 가능한 상태의 대형 버튼에 대한 배경 색상, 예를 들어 아이템 뷰의 주요 구매 버튼(Color3). | [255, 255, 255] |
buttonTextColor | 클릭 가능한 상태의 대형 버튼에 텍스트 색상 지정, 예를 들어 아이템 보기(Color3). | [0, 0, 0] |
secondaryButtonColor | 가격 버튼이나 Try On 버튼과 같은 작은 버튼의 배경 색상. | [34, 34, 34] |
secondaryButtonTextColor | 가격 버튼이나 Try On 버튼과 같은 작은 버튼의 텍스트 색상. | [255, 255, 255] |
inactiveButtonColor | 클릭 불가능한 상태의 모든 버튼에 대한 배경 색상( Color3 ). | [153, 153, 158] |
inactiveButtonTextColor | 클릭 불가능한 상태의 모든 버튼에 대한 텍스트 색상( Color3 ). | [255, 255, 255] |
particleEmitterTemplate | 장착하고 플레이하는 옵션 사용자 정의 ParticleEmitter 인스턴스. |
로컬 스크립트
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,})
아이템 비동기화 추가
쇼핑 경험에서 구매할 수 있도록 아이템을 Asynchronously 추가합니다. assetId 는 아이템의 자산 ID이며, productType 는 아이템의 엔터미 유형 정보 및 캐탈로그 뷰에서 아이템을 숨길 수 있습니다. 및
자산, 게임 패스 또는 개발자 제품과 관련하여 사용이 약간 다르게 변경되지만 세부 내용은 아이템 추가를 참조하십시오.
스크립트 - 아바타 자산 추가
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
local items = {
607702162, -- Roblox 야구 모자
4819740796, -- Roblox
1374269, -- 고양이 귀
11884330, -- 찐따 안경
10476359, -- 종이 모자
}
for _, assetId in items do
local success, errorMessage = pcall(function()
MerchBooth.addItemAsync(assetId)
end)
if not success then
warn(errorMessage)
end
end
스크립트 - 패스 추가
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
local items = {
4343758, -- 콜드파이어 갑옷
28521575, -- 점액 방패
}
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
스크립트 - 개발자 제품 추가
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
local items = {
1236602053, -- 마나 보충
1257880672, -- 치료 물약
}
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
아이템 가져오기
현재 등록된 모든 항목을 나타내는 사전을 반환합니다. 각 키는 문자열 형식의 아이템 ID입니다. 각 키의 값은 항목입니다. 이 함수는 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
아이템 제거
addItemAsync 를 사용하여 이전에 추가된 항목을 등록하지 않으므로 카탈로그 뷰의 타일을 제거하고 할당된 모든 proximity 프롬프트를 제거합니다. 이 함수는 Script 에서만 호출할 수 있습니다.
스크립트
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
local success, errorMessage = pcall(function()
MerchBooth.addItemAsync(4819740796)
end)
if success then
-- 일정 시간 후, 아이템을 제거
task.wait(5)
MerchBooth.removeItem(4819740796)
end
근거리 버튼 추가
자산 ID 기준으로 항목의 구매 뷰를 표시하도록 지정한 adornee 위에 근접 프롬프트를 추가합니다. 이 프롬프트는 플레이어가 3D 환경에서 아이템을 발견하도록 유도하는 대체 방법으로 2D 카탈로그 뷰를 대체할 수 있습니다.
근접 버튼에 할당할 근접 프롬프트를 제거하려면 근접 아이템 추가 를 통해 아이템을 추가해야 합니다. 또한 근접 버튼을 제거하려면 근접 버튼을 제거하십시오.
스크립트
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
근접 버튼 제거
근접 프롬프트를 생성하는 근접 버튼을 제거합니다. 이 함수는 addProximityButton 을 통해서만 호출할 수 있습니다.
스크립트
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
-- 일정 시간 후 프롬프트를 제거
task.wait(5)
MerchBooth.removeProximityButton(item)
end
카탈로그 정렬 설정
카탈로그 뷰에서 사용할 정렬 기능 sortFunction 을 설정합니다. 제공된 정렬 기능은 price 또는 price와 같은 1>아이템1> 정보를 기반으로 논리를 사용할 수 있습니다. 이 함수는 4> Class.LocalScript4> 에
카탈로그를 정렬하는 몇 가지 예:
가격 낮은順
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.setCatalogSort(function(a, b)
return a.price < b.price
end)
가격 높은 순
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.setCatalogSort(function(a, b)
return a.price > b.price
end)
가격 순으로 내리기 & 알파벳
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)
설정ControlKeyCodes
상점 부스 인터랙션에 대한 키 및 버튼 값을 구성합니다. 첫 번째 매개 변수는 MerchBooth.Controls 열거형이어야 하고 두 번째 매개 변수는 keyboard 및/또는 gamepad 와 해당 키 코드 열거형 1> Enums.KeyCode1> 을 포함하는
열거형( control ) | 기본 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 |
로컬 스크립트
local ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))MerchBooth.setControlKeyCodes(MerchBooth.Controls.ProximityPrompts, {keyboard = Enum.KeyCode.Q,gamepad = Enum.KeyCode.ButtonL1,})
오픈 상점 부스
닫힌 상점 부스 창을 엽니다(창이 닫힌 경우) 및 카탈로그 보기로 이동합니다. 이 함수는 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()
openItemView
지정된 itemId의 단일 항목 뷰로 이동하고 현재 닫혀 있는 상점 부스 창을 열 수 있습니다. 이 함수는 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
카탈로그 버튼 전환
화면 오른쪽의 카탈로그 버튼을 전환합니다. 이 기능은 사용자 정의 버튼을 구현하거나 상점 부스 모양을 지정하는 경우에 유용합니다. 이 기능은 Class.LocalScript 에서만 호출할 수 있습니다.
로컬 스크립트
local ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))MerchBooth.toggleCatalogButton(false)
isMerchBoothOpen
카탈로그 또는 아이템 보기가 열려 있으면 true 반환합니다. 아이템 보기가 열려 있으면 LocalScript 두 번째 값으로 반환됩니다. 이 함수는 Class.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
닫기MerchBooth
닫기 상점 부스 창을 닫습니다. 이 함수는 LocalScript 에서만 호출할 수 있습니다.
로컬 스크립트
local ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))MerchBooth.closeMerchBooth()
isMerchBoothEnabled
이 함수는 setEnabled와 함께 사용하여 상점 부스가 현재 활성화되었는지 여부를 확인할 수 있습니다. 이 함수는 LocalScript에서만 호출할 수 있습니다.
설정 활성화
전체 상점 부스가 활성화되거나 활성화되지 않도록 설정합니다. 비활성화하면 이 기능이 전체 UI를 포함하여 근접 프롬프트 를 포함하여 모든 이벤트를 연결 해제합니다. 이 기능은 Class.LocalScript에서만 호출할 수 있습니다.
로컬 스크립트
local ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))local isEnabled = MerchBooth.isMerchBoothEnabled()if isEnabled thenMerchBooth.setEnabled(false)end
이벤트
항목이 추가되었습니다
addItemAsync를 통해 항목이 추가될 때 이 이벤트는 Script에만 연결될 수 있습니다.
매개 변수 | |
---|---|
자산 ID: number | 아이템 자산 ID. |
아이템 정보: table | 아이템 정보의 사전, 예를 들어 price 또는 title. |
스크립트
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)
아이템 제거
아이템을 제거하기 를 통해 제거할 때 이 이벤트는 연결할 수 있습니다. 이 이벤트는 Script 에만 연결할 수 있습니다.
매개 변수 | |
---|---|
자산 ID: number | 아이템 자산 ID. |
스크립트
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)
상점 열기
카탈로그 또는 아이템 세부 정보 뷰가 열릴 때 화재됩니다.
로컬 스크립트
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.merchBoothOpened:Connect(function()
print("Booth view opened")
end)
merchBoothClosed
카탈로그 또는 아이템 세부 정보 뷰가 닫힌 경우 화재됩니다.
로컬 스크립트
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.merchBoothClosed:Connect(function()
print("Booth view closed")
end)
카탈로그 보기 열림
카탈로그 뷰가 열릴 때 화재됩니다.
로컬 스크립트
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.catalogViewOpened:Connect(function()
print("Catalog view opened")
end)
카탈로그 뷰 닫힘
카탈로그 뷰가 닫힐 때 화재됩니다.
로컬 스크립트
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.catalogViewClosed:Connect(function()
print("Catalog view closed")
end)
아이템 뷰 열림
아이템 세부 정보 뷰가 열릴 때 화면에 표시됩니다.
로컬 스크립트
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.itemViewOpened:Connect(function()
print("Item view opened")
end)
아이템 뷰 닫기
아이템 세부 정보 뷰가 닫힌 때 발생합니다.
로컬 스크립트
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.itemViewClosed:Connect(function()
print("Item view closed")
end)