Emotki są podstawowym składnikiem każdego doświadczenia społecznego.Moduł EmoteBar developera ma na celu zapewnienie graczom dostępny, dostosowywalny sposób ułatwiający znaczącą interakcję społeczną.
Użycie modułu
Instalacja
Aby użyć modułu EmoteBar w doświadczeniu:
Upewnij się, że wybrano sortowanie modele , a następnie kliknij przycisk Zobacz wszystko dla kategorii .
Zlokalizuj i kliknij pasek modułów rozwojowych .
Zlokalizuj moduł Pasek emotikonów i kliknij go, lub przeciągnij i upuść do widoku 3D.
W oknie Eksploratora przenieś cały model EmoteBar do ServerScriptService .Po uruchomieniu doświadczenia moduł rozproszy się na różne usługi i rozpocznie działanie.
Konfiguracja
Moduł jest wstępnie skonfigurowany z 7 emotkami i można go łatwo dostosować za pomocą własnych emotek i opcji wyświetlania.Ponadto, jeśli gracz posiada jakiekolwiek emotki z poprzednich wydarzeń Roblox, takich jak Lil Nas X, Royal Blood lub Twenty One Pilots, te emotki zostaną automatycznie dodane do listy dostępnych emotek.
W ServerScriptService , utwórz nowy Script i zmień nazwę na Konfiguruj emotki .
Wklej następujący kod do nowego skryptu KonfigurujEmotki .Ustawienie anuluje domyślne emotki i pozwala definiować niestandardowe emotki za pomocą funkcji setEmotes .
Skrypt - Konfiguruj emotkilocal ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))EmoteBar.configureServer({useDefaultEmotes = false,})EmoteBar.setEmotes({{name = "Hello",animation = "rbxassetid://3344650532",image = "rbxassetid://7719817462",defaultTempo = 1,},{name = "Applaud",animation = "rbxassetid://5915693819",image = "rbxassetid://7720292217",defaultTempo = 2,},})
Mega emotki
A mega emotka powstaje, gdy wielu graczy na tym samym obszarze wykonuje tę samą emotkę jednocześnie.W miarę przyłączania się coraz więcej graczy mega emotka rośnie.Gdy gracze przestają wykonywać emotkę, mega emotka zmniejsza się, aż w końcu znika.

Prędkość
Tempo emotka jest prędkością, z jaką odtwarza się, gdy jej przycisk zostanie naciśnięty raz .Domyślna prędkość emotki jest określana przez jej defaultTempo .Prędkość emotkamożna zwiększyć lub zmniejszyć, klikając jej przycisk szybciej lub wolniej.
Referencja API
Typy
Emotikon
Każda emota jest reprezentowana przez słownik z następującymi parametrami klucz-wartość:
Klucz | Typ | Opis |
---|---|---|
name | ciąg | Nazwa emotki, na przykład "Shrug" . |
animation | ciąg | ID zasobu dla animacjaemotka. |
image | ciąg | ID zasobu dla obrazu emotkaw interfejsie GUI. |
defaultTempo | number liczba | Domyślny czynnik prędkości, przy którym można odtworzyć animacjaemotki.Na przykład tempo 2 odtworzy animację dwukrotnie z normalną prędkością.Musi być większy niż 0. |
isLocked | bool | Czy emotka jest "zablokowana" od aktywacji. |
Enumery
Typ EmoteBar.Gui
Nazwa | Podsumowanie |
---|---|
EmoteBar | Domyślna forma, w której emotki są wyświetlane w pasku na dole ekranu, oddzielone w poszczególnych "stronach". |
EmoteWheel | Wariant, w którym emotki są wyświetlane w pierścieniu, gdy gracz kliknie lub dotknie ich postaci gracza. |
Lokalny skrypt
local ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))EmoteBar.configureClient({guiType = EmoteBar.GuiType.EmoteWheel,})
Funkcje
skonfiguruj serwer
konfiguruj serwer(config: table )
Nadpisanie domyślnych opcji konfiguracji po stronie serwera za pomocą następujących kluczy/wartości w tabeli config.Funkcja ta może być wywołana tylko z Script i zmiany zostaną automatycznie replikowane na wszystkie klienty.
Klucz | Opis | Domyślny |
---|---|---|
useDefaultEmotes | Czy dostarczone domyślne emotki są włączone czy nie. | prawda |
useMegaEmotes | Włącza lub wyłącza funkcję mega emotki. | prawda |
emoteMinPlayers | Minimalna liczba graczy wykonujących tę samą emotkę, aby przyczynić się do mega emotka. | 3 |
emoteMaxPlayers | Maksymalna liczba graczy wykonujących tę samą emotkę, aby przyczynić się do mega emotka. | 50 |
playParticles | Włącza lub wyłącza emotki, które gracze odtwarzają jako pływające cząstki nad ich głowami. | prawda |
sendContributingEmotes | Włącza lub wyłącza wysyłanie małej ikony emotki, aby przyczynić się do mega emotka. | prawda |
Skrypt
local ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))EmoteBar.configureServer({emoteMinPlayers = 2,playParticles = false,})
skonfiguruj klienta
skonfiguruj klienta(config: table )
Nadpisanie domyślnych opcji konfiguracji po stronie klienta za pomocą następujących kluczy/wartości w tabeli config.Funkcja ta może być wywołana tylko z LocalScript.W zależności od wartości guiType, opcje w zaznaczonych zakładkach również się zastosują.
Klucz | Opis | Domyślny |
---|---|---|
guiType | Sterowania, które tworzą interfejs użytkownika, będą wyświetlać emotki (EmoteBar.GuiType). | Pasek emocji |
useTempo | Włącza lub wyłącza funkcję tempo, w której użytkownicy mogą kontrolować, jak szybko lub powoli odtwarzane są ich emotki, aktywując tę samą emotkę wielokrotnie rytmicznie. | prawda |
tempoActivationWindow | Ilość czasu, w sekundach, jaka użytkownik ma między sekwencyjnymi aktywacjami emotki, aby zaliczyć ją do tempa. | 3 |
lockedImage | Obraz do wyświetlenia nad zamkniętymi emotkami. | „rbxassetid://6905802778” |
LocalScript - Pasek emotikonów
local ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))EmoteBar.configureClient({guiType = EmoteBar.GuiType.EmoteBar,maxEmotesPerPage = 6,nextPageKey = Enum.KeyCode.Z,prevPageKey = Enum.KeyCode.C,})
LocalScript - Koło emotikonów
local ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))EmoteBar.configureClient({guiType = EmoteBar.GuiType.EmoteWheel,})
ustawEmotki
setEmotes(emotes: table )
Ustawia niestandardowe emotki do użycia.Zostaną one dodane do domyślnych, jeśli useDefaultEmotes jest true, lub zastąpią domyślne, jeśli useDefaultEmotes jest false.Funkcja ta może być wywołana tylko z Script i zmiany zostaną automatycznie replikowane na wszystkie klienty.
Zobacz Emotkę dla struktury każdej emotki przekazanej do tej funkcji.
Skrypt - Konfiguruj emotki
local ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))EmoteBar.configureServer({useDefaultEmotes = false,})EmoteBar.setEmotes({{name = "Hello",animation = "rbxassetid://3344650532",image = "rbxassetid://7719817462",defaultTempo = 1,},{name = "Applaud",animation = "rbxassetid://5915693819",image = "rbxassetid://7720292217",defaultTempo = 2,},})
ustawić widoczność gui
setGuiVisibility(widoczne: boolean )
Pokazuje lub ukrywa interfejs użytkownika emotikonów. Funkcja ta może być wywołana tylko z LocalScript na określonym klientem.
Lokalny skrypt
local ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))EmoteBar.setGuiVisibility(false)
zdobądźEmotkę
Otrzymuje Emotkę przez nazwę.Wyświetla nil jeśli nie można znaleźć emotki.Funkcja ta może być wywołana tylko z LocalScript na określonym klientem.
Lokalny skrypt
local ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))local shrug = EmoteBar.getEmote("Shrug")
zagrajEmotką
playEmote(emotka: Emocja )
Odtwarza podany Emotikon i uruchamia wydarzenie emotikonOdtwarzany na serwerze, jeśli jest połączony.Funkcja ta może być wywołana tylko z LocalScript na określonym klientem.
Lokalny skrypt
local ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))local shrug = EmoteBar.getEmote("Shrug")EmoteBar.playEmote(shrug)
Zablokuj emotkę
lockEmote(emoteName: string )
Blokuje Emotkę z daną nazwą. Ta funkcja może być wywołana tylko z LocalScript na klientzie.
Lokalny skrypt
local ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))EmoteBar.lockEmote("Applaud")
Odblokuj emotkę
odblokujEmotkę(emotekName: string )
Odblokowuje Emotkę z daną nazwą. Ta funkcja może być wywołana tylko z LocalScript na klientzie.
Lokalny skrypt
local ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))EmoteBar.unlockEmote("Applaud")
Wydarzenia
emotkaOdtworzona
Wystrzeliwuje się, gdy którykolwiek klient odtworzy emotka. To wydarzenie może być połączone tylko w LocalScript.
Lokalny skrypt
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))
EmoteBar.emotePlayed:Connect(function(player, emote)
print(player.Name, "played", emote.name)
end)
ZablokowanaEmotkaAktywowana
Wystrzeliwuje, gdy klient kliknie zamknięty emotka. To wydarzenie może być połączone tylko w LocalScript.
Parametry | |
---|---|
emotka: Emocja | Zablokowana emota, która została aktywowana. |
Lokalny skrypt
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Players = game:GetService("Players")
local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))
EmoteBar.lockedEmoteActivated:Connect(function(emote)
print(Players.LocalPlayer, "clicked", emote.name)
end)