MerchBooth moduł rozwoju pozwala na oferowanie asysty awatar, 1>przepustek1> i 4>produktów dla rozwoju4> bezpośrednio w swoim doświadczeniu. Gracze mogą przegl
Użyj modułu
Instalacja
Aby użyć modułu MerchBooth w doświadczeniu:
Z zakładki Zobacz, otwórz Skrzynię narzędzi i wybierz Sklep z twórcami.
Upewnij się, że Modele sortowanie jest zaznaczone, a następnie kliknij przycisk Zobacz wszystko dla Kategorie.
Lokalizuj i klikaj na płytę Moduły Rozwoju .
Lokalizuj moduł Sprzedaż i kliknij go, lub przeciągnij go do 3D.
W oknie Explorer przesuń cały model MerchBooth do ServerScriptService . Po uruchomieniu doświadczenia moduł zostanie rozdzielony na różne usługi i zacznie działać.
Konfiguracja
Moduł jest zaprojektowany tak, aby działał dla większości przypadków użycia, ale można go łatwo dostosować poprzez funkcję konfiguruj. Na przykład, aby stworzyć jaśniejszy motyw i wyłączyć domyślną przycisk Filtr w górnej lewej części widoku katalogowego:
W StarterPlayerScripts utwórz nowy LocalScript i zmień go na KonfigurujSklep .
Wklej następujący kod do nowego skryptu.
Lokalny Skrypt - KonfigurujMerchBoothlocal 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})
Dodawanie przedmiotów
Co to jest eksponować bez eksponować? Następne sekcje wyjaśniają, jak dodać zasoby dla awatara, przepustki i produkty dla rozwój do swojego eksponować.
Zasoby dla awatara
Przedmioty takie jak odzież i akcesoria muszą być dodane poprzez ich identyfikator zasobu położony na stronie szczegółów przedmiotu w Sklepie Avatar.
Utwórz Script w ServerScriptService i wklej następujący kod.
Skrypt - Dodaj zasoby awataralocal 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)endendKopiuj ID zasobów z ich strony internetowej Sklep Avatar. Na przykład, ID czapki béjsbolowej Roblox to 607702162.
Wklej każdy skopiowany identyfikator do listy wierszowej w tabeli items. Domyślnie pozycje pojawiają się w widoku katalogowym w porządku alfabetycznym, ale możesz dostosować sortowanie używając ustawićSortCatalogSort.
Skrypt - Dodaj zasoby awataralocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))local items = {607702162, -- Czapka Bejsbolowa Roblox4819740796, -- Roblox1374269, -- Uszy Kotka11884330, -- Okulary dla nerdów10476359, -- Papierowa czapka}for _, assetId in items dolocal success, errorMessage = pcall(function()MerchBooth.addItemAsync(assetId)end)if not success thenwarn(errorMessage)endend
Przepustki
Dodanie przepustek wymaga przepustek ID, które można znaleźć w Panelu twórcy.
Utwórz Script w ServerScriptService i wklej następujący kod.
Skrypt - Dodaj pasylocal 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)endendPrzejdź do Panelu twórcy i wybierz eksperyment.
W lewej kolumnie, pod Monetyzacją, wybierz Przepustki.
Kliknij przycisk ⋯ dla przepustki i wybierz Kopiuj ID zasobu .
Wklej każdy skopiowany identyfikator do listy w formie komy-zakropionej w tabeli items i włącz Mapa.InfoType.GamePass jako drugi parametr dla Enum.InfoType.GamePass, aby określić, że przedmioty są przepustkami. Domyślnie przedmioty będą pojawiać się w
Skrypt - Dodaj pasylocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))local items = {4343758, -- Zimna Zbroja Ognia28521575, -- Tarcza Slime}for _, assetId in items dolocal success, errorMessage = pcall(function()MerchBooth.addItemAsync(assetId, Enum.InfoType.GamePass)end)if not success thenwarn(errorMessage)endend
Produkty dla Rozwiniętych
Dodanie produktów dla programistów wymaga ID produktu, które można znaleźć w Kreator Dashboard.
Utwórz Script w ServerScriptService i wklej następujący kod.
Skrypt - Dodaj produkty dla programistówlocal 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)endendPrzejdź do Panelu twórcy i wybierz eksperyment.
W lewej kolumnie, pod Monetyzacją, wybierz Produkty dla Rozwójca.
Kliknij przycisk ⋯ dla produktu i wybierz Kopiuj ID zasobu .
Wklej każdy skopiowany identyfikator do listy w formie kropki-zakropionej w tabeli items i włącz Ennum.InfoType.Product jako drugi parametr dla Enum.InfoType.Product, aby wskazać, że przedmioty są produktami rozwozowników. Domyślnie przedmioty pojaw
Skrypt - Dodaj produkty dla programistówlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))local items = {1236602053, -- Uzupełnienie many1257880672, -- Eliksir Leczenia}for _, assetId in items dolocal success, errorMessage = pcall(function()MerchBooth.addItemAsync(assetId, Enum.InfoType.Product)end)if not success thenwarn(errorMessage)endend
Przycisk katalogu niestandardowego
Domyślnie, przycisk katalogowy pozwala graczom otworzyć kabinę w dowolnym momencie.
W niektórych przypadkach może być użyteczne usunąć ten przycisk i połączyć posiadać:
Utwórz nowy przycisk, o którym mowa w Przyciski .
Utwórz LocalScript jako dziecko obiektu przycisku.
Wklej następujący kod do nowego skryptu.
Lokalny Skrypt - Przycisk Katalogulocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))-- Usuń przycisk katalogu domyślnegoMerchBooth.toggleCatalogButton(false)-- Połącz niestandardowy przyciskscript.Parent.Activated:Connect(function()MerchBooth.openMerchBooth()end)
Zakupione regiony
Przydatnym sposobem na zwiększenie sprzedaży w swoim doświadczeniu jest automatyczne pokazanie kabiny sprzedaży, gdy gracz wchodzi w obszar.
Aby stworzyć regiony sklepowe:
Utwórz blok Anchored, który obejmuje obszar wykrywania. Upewnij się, że blok jest wystarczająco wysoki, aby uderzyć z PrimaryPart postaci ( HumanoidRootPart przez domyślną).
Używając sekcji Tagi właściwości bloku lub Studio's Tag Editor, zastosuj tag ShopRegion na bloku, aby 2> Class.CollectionService2> wykrył go.
Ustaw Transparency części na maksymalny, aby ukryć ją od graczy w doświadczeniu. Włącz również CanCollide i CanQuery właściwości, aby uniknąć fizycznego kolidowania z nią i wykrywania przez sieci.
Wprowadź nowy LocalScript pod StarterPlayerScripts .
W nowym skrypcie wklej następujący kod, który używa Touched i TouchEnded wydarzeń, aby wykryć, gdy postacie wchodzą/wychodzą z regionu i wzywają otwarty sklep internetowy i 2> zamknięty sklep internetowy2>,
Lokalny Skryptlocal Players = game:GetService("Players")local ReplicatedStorage = game:GetService("ReplicatedStorage")local CollectionService = game:GetService("CollectionService")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))-- Usuń przycisk katalogu domyślnegoMerchBooth.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-- Przeglądaj obszary sklepufor _, region in CollectionService:GetTagged("ShopRegion") dosetupRegion(region)end-- Wykryj, gdy regiony nieobsługiwane sklepu płynąCollectionService:GetInstanceAddedSignal("ShopRegion"):Connect(setupRegion)
Wskazówki dotyczące bliskości
Jako alternatywę dla 2D witryny katalogowej możesz dodać zaproszenia do bliskości nad obiektami w doświadczeniu. To zachęca graczy do odkrywania przedmiotów w środowisku 3D, zapobiega im przeglądanie ich sami na swoim własnym awatarze, zakupy i natychmiastowe ich wyposażenie. Zobacz dodajPrzyciskBliskości dla szczegółów.
Zmiana efektu wyposażenia
Domyślnie kabina sprzedaży towarów pokazuje ogólny efekt błysku, gdy gracz używa przedmiotu z niej. Aby zmienić efekt, ustaw particleEmitterTemplate na swojej własnej instancji ParticleEmitter w wezwaniu require.
Lokalny Skrypt - KonfigurujMerchBooth
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})
Widoczność GUI
Domyślnie kabina sprzedaży towarów ukrywa wszystkie ScreenGuis i CoreGuis kiedy jej UI się pojawia, w tym czat, rankingwyników i inne włączone przez Roblox. Jeśli chcesz wyłączyć ten zachowanie, ustaw hideOtherU
Lokalny Skrypt - KonfigurujMerchBooth
local ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))MerchBooth.configure({hideOtherUis = false})
Ruch postaci
Możliwe jest, aby zapobiec znakomitarnej ruchu, gdy są w sklepie. Można to zrobić ustawiając disableCharacterMovement na true w wezwaniu configure.
Lokalny Skrypt - KonfigurujMerchBooth
local ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))MerchBooth.configure({disableCharacterMovement = true})
Referencja API
Typy
Rzecz
Przedmioty w sklepie są reprezentowane przez słownik z następującymi parami kluczowych. Przedmioty można zbierać poprzez funkcję getItems lub wydarzenie itemAdded.
Klucz | Typ | Opis |
---|---|---|
assetId | liczba | ID katalogu przedmiotu, przekazane do addItemAsync. |
title | ciąg | Tytuł przedmiotu, który pojawia się w katalogu. |
price | liczba | Cena przedmiotu w Robux. |
opis | ciąg | Opis przedmiotu, jak wygląda w katalogu. |
assetType | ciąg | Strumień przedstawiający wpisywaćakcesorium przedmiotu. |
isOwned | boolean | Czy obecny gracz posiada przedmiot. |
creatorName | ciąg | Twórca przedmiotu, jak pokazano w katalogu. |
creatorType | Enum.CreatorType | Typ twórcy dla przedmiotu. |
Enumy
MerchBooth.Zarządzanie
Używany wraz z setControlKeyCodes , aby dostosować klucze i przyciski gamepadu do interakcji z stoiskiem handlowym.
Nazwa | Podsumowanie |
---|---|
ProximityPrompts | Przycisk klucza i / lub przycisku gamepad'a, aby otworzyć widok przedmiotu, gdy zaprośniki są skonfigurowane. |
OpenMerchBooth | Przycisk klucza i / lub przycisku gamepad'a, aby otworzyć stoiska handlowego. |
CloseMerchBooth | Przycisk klucza i / lub przycisku gamepad'a, aby zamknąć stoiska handlowego. |
Filter | Klucz i/lub przycisk gamepadu, aby użyć domyślnego Filtruj pulldown w górnej lewej obszarze widoku katalogowego. |
ViewItem | Przycisk klucza i/lub przycisku gry, aby otworzyć określony widok kabiny. |
Lokalny Skrypt
local ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))MerchBooth.setControlKeyCodes(MerchBooth.Controls.ProximityPrompts, {keyboard = Enum.KeyCode.Q,gamepad = Enum.KeyCode.ButtonL1})
Funkcje
konfigurować
Przywraca domyślne opcje konfiguracji strony klienta poprzez następujące klucze/werte w tabeli config. Ta funkcja może być wywołana tylko z LocalScript .
Klucz | Opis | Domyślny |
---|---|---|
backgroundColor | Główny kolor tła okna ( Color3 ). | [0, 0, 0] |
cornerRadius | Okrągły rozmiar dla głównego okna ( UDim ). | (0, 16) |
cornerRadiusSmall | Okrągły rozmiar krawędzi dla elementów w oknie ( UDim ). | (0, 8) |
textFont | Font "głównego tekstu", takich jak ceny, opisy i inne ogólne informacje (Enum.Font). | Gotham |
textSize | Rozmiar głównego tekstu. | 14 |
textColor | Kolor głównego tekstu ( Color3 ). | [255, 255, 255] |
secondaryTextColor | Kolor używany do niektórych zmian głównego tekstu ( Color3 ). | [153, 153, 158] |
headerFont | Fonty tekstu używane do tytułu okna ( Enum.Font ). | GothamMedium |
headerTextSize | Rozmiar tekstu nagłówka używany do tytułu okna. | 18 |
titleFont | Font tytułowy używany do nazw przedmiotów na stronie szczegółów przedmiotu ( Enum.Font ). | GothamBold |
titleTextSize | Rozmiar tekstu tytułowego używany do nazw przedmiotów na stronie szczegółów przedmiotu. | 28 |
buttonColor | Kolor tła dla większych przycisków w paśmie klikalnym, takich jak główny przycisk zakupu w widoku przedmiotu ( Color3 ). | [255, 255, 255] |
buttonTextColor | Kolor tekstu dla większych przycisków w państwie, w którym można kliknąć, takich jak główny przycisk zakupu w widoku przedmiotu (Color3). | [0, 0, 0] |
secondaryButtonColor | Kolor tła dla mniejszych przycisków, takich jak przyciski cen w widoku katalogowym lub przycisk Spróbuj ( Color3 ). | [34, 34, 34] |
secondaryButtonTextColor | Kolor tekstu dla mniejszych przycisków, takich jak przyciski cen w widoku katalogowym lub przycisk Spróbuj ( Color3 ). | [255, 255, 255] |
inactiveButtonColor | Kolor tła dla wszystkich przycisków w nieklikalnym stanie ( Color3 ). | [153, 153, 158] |
inactiveButtonTextColor | Kolor tekstu dla wszystkich przycisków w nieklikalnym stanie ( Color3 ). | [255, 255, 255] |
particleEmitterTemplate | Opcjonalny niestandardowy ParticleEmitter instans, który pojawia się i gra na equip. |
Lokalny Skrypt
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,})
dodajZwieszczone
Asynchronicznie dodaje pozycję do kiosku, aby była ona kwalifikująca się do zakupu w doświadczeniu. assetId to ID zasobu przedmiot, productType to zasobu Enum.InfoType i 1> hideFromCatalog1> można użyć do ukrycia pozycji w widoku katalogu.
Zobacz Dodawanie przedmiotów dla szczegółów, ponieważ użycie zmienia się nieco dla zasobów w porównaniu z przepustkami lub 2>produktami dla rozwój2> .
Skrypt - Dodaj zasoby awatara
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
local items = {
607702162, -- Czapka Bejsbolowa Roblox
4819740796, -- Roblox
1374269, -- Uszy Kotka
11884330, -- Okulary dla nerdów
10476359, -- Papierowa czapka
}
for _, assetId in items do
local success, errorMessage = pcall(function()
MerchBooth.addItemAsync(assetId)
end)
if not success then
warn(errorMessage)
end
end
Skrypt - Dodaj pasy
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
local items = {
4343758, -- Zimna Zbroja Ognia
28521575, -- Tarcza 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
Skrypt - Dodaj produkty dla programistów
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
local items = {
1236602053, -- Uzupełnienie many
1257880672, -- Eliksir Leczenia
}
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
dostańPrzedmiot
Zwraca dyktary reprezentujące wszystkie rejestrowane obecnie pozycje. Każdy przedmiotjest tożsamością zasobu jako ciągi każda wartość klucza jest Script. Ta funkcja może być wywołana tylko z Class.Script.
Skrypt
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
usuńPrzedmiot
Narejestruje przedmiot wcześniej dodany za pomocą addItemAsync, usuwając jego płytę w widoku katalogowym i wszystkie powiadomienia o bliskości przypisane do niego. Ta funkcja może być wywołana tylko z Script.
Skrypt
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
local success, errorMessage = pcall(function()
MerchBooth.addItemAsync(4819740796)
end)
if success then
-- Po pewnym czasie usuń przedmiot
task.wait(5)
MerchBooth.removeItem(4819740796)
end
dodajPrzyciskBliskości
Dodaje powiadomienie o bliskości nad adornee, które wyświetli widok przedmiotu, dany jego ID. Można używać jako alternatywy dla 2D-wizualizacji katalogu, zachęcając graczy do odkrywania przedmiotów w środowisku 3D.
Uwaga, że przed przyciskiem bliskości można dodać przedmiot poprzez dodajPrzedmiotAsync, aby przycisk bliskości nie był przypisany do obiektu. Zobacz również usuńPrzyciskBliskości, aby usunąć okienko prośby o bliskość z obiektu.
Skrypt
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
usuńPrzyciskBliskości
Usuwa wniosek o bliskość generowany przez dodajPrzyciskBliskości. Ta funkcja może być wywołana tylko z Script .
Skrypt
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
-- Po pewnym czasie usuń wskazówkę
task.wait(5)
MerchBooth.removeProximityButton(item)
end
setKatalogSort
Ustawia funkcję sortowania sortFunction , aby była używana w widoku katalogowym. Dostarczona funkcja sortowania może używać logiki opartej na informacjach item . Ta funkcja może być wywołana tylko z price.
Tu są przykłady do sortowania katalogu:
Cena od niskiej do wysokiej
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.setCatalogSort(function(a, b)
return a.price < b.price
end)
Cena High-to-Low
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.setCatalogSort(function(a, b)
return a.price > b.price
end)
Cena od niskiej do wysokiej & Alphabetical
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)
ustawKluczeKontrolne
Konfiguruje wartości klucza i przycisku dla interakcji z kabiną sprzedaży. Pierwszy parametr musi być MerchBooth.Controls zapisem i drugi parametr to tabela zawierająca klucze keyboard i/lub gamepad z odpowiadającym 2> Amount.KeyCode2> enums.
Lista ( control ) | Domyślny keyCodes Klucze/Wartości |
---|---|
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 |
Lokalny Skrypt
local ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))MerchBooth.setControlKeyCodes(MerchBooth.Controls.ProximityPrompts, {keyboard = Enum.KeyCode.Q,gamepad = Enum.KeyCode.ButtonL1,})
otwartyKiosk
Otwiera okno kabiny sprzedaży (jeśli jest zamknięte) i przegląda katalog. Ta funkcja może być wywołana tylko z LocalScript .
Lokalny Skrypt
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()
otwartyPrzeglad
Przegląda pojedynczą widok przedmiotu danego itemId, otwierając okno kabiny sprzedaży, jeśli jest ona obecnie zamknięta. Ta funkcja może być wywołana tylko z LocalScript.
Lokalny Skrypt
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
Przycisk katalogowy
Przełączałą na/wyłącz przycisk katalogowy po prawej stronie ekranu. To jest użyteczne, gdy wdrożysz niestandardowy przycisk lub ograniczysz wygląd kabiny sprzedaży do obszarów lub powiadomień o bliskości. Można to zwołać tylko z 2>Class.LocalScript2>.
Lokalny Skrypt
local ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))MerchBooth.toggleCatalogButton(false)
isMerchBoothOtwórz
Wykonuje true jeśli katalog lub widok przedmiotu jest otwarty. Jeśli widok przedmiotu jest otwarty, to ID zasobu przedmiotu jest zwracane jako druga wartość. Ta funkcja może być wywołana tylko z LocalScript .
Lokalny Skrypt
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
zamknijSkrzynię
Zamknięcie okna kabiny sprzedaży. Ta funkcja może być wywołana tylko z LocalScript .
Lokalny Skrypt
local ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))MerchBooth.closeMerchBooth()
isMerchBoothWłączone
Funkcja ta może być używana wraz z setEnabled, aby sprawdzić, czy kabina handlowa jest obecnie włączona lub nie. Można ją wzywać tylko z LocalScript.
setWłączone
Ustawia, czy cały stoiska handlowy jest włączony lub nie. Gdy jest wyłączony, ta funkcja usuwa całą UI, w tym wskazówki dotykowe i odłącza wszystkie wydarzenia. Ta funkcja może być uruchomiona tylko z LocalScript.
Lokalny Skrypt
local ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))local isEnabled = MerchBooth.isMerchBoothEnabled()if isEnabled thenMerchBooth.setEnabled(false)end
Wydarzenia
przedmiotDodano
Występuje, gdy przedmiot jest dodany za pośrednictwem dodajItemAsync. Wydarzenie może być połączone tylko w Script.
Parametry | |
---|---|
assetId: number | Identyfikator zasobu przedmiotu. |
itemInfo: table | Słownik informacji przedmiotu takich jak price lub title. |
Skrypt
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)
usuniętyPrzedmiot
Występuje, gdy przedmiot jest usunięty za pośrednictwem usuńPrzedmiot. Ten wydarzenie może być połączony tylko w Script .
Parametry | |
---|---|
assetId: number | Identyfikator zasobu przedmiotu. |
Skrypt
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)
merchBoothOtwarty
Wyst?puje, gdy otwarty zostanie jeden z katalogu lub szczeg?lny widok przedmiotu.
Lokalny Skrypt
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.merchBoothOpened:Connect(function()
print("Booth view opened")
end)
zamknięty merchBooth
Wyst?puje, gdy katalogowy lub szczeg?lny widok przedmiotu zostanie zamkni?ty.
Lokalny Skrypt
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.merchBoothClosed:Connect(function()
print("Booth view closed")
end)
aktualny katalog
Wystrzela się, gdy otwarta zostanie widok katalogu.
Lokalny Skrypt
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.catalogViewOpened:Connect(function()
print("Catalog view opened")
end)
katalogViewClosed
Wystrzela się, gdy widok katalogu zostanie zamknięty.
Lokalny Skrypt
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.catalogViewClosed:Connect(function()
print("Catalog view closed")
end)
otwartyPrzejdź
Wystrzeliwany jest, gdy otwarty zostanie szczegółowy widok przedmiotu.
Lokalny Skrypt
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.itemViewOpened:Connect(function()
print("Item view opened")
end)
itemViewZamknięty
Wystrzela się, gdy szczegółowy wgląd na przedmiot jest zamknięty.
Lokalny Skrypt
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.itemViewClosed:Connect(function()
print("Item view closed")
end)