Pasek emotikonów

*Ta zawartość została przetłumaczona przy użyciu narzędzi AI (w wersji beta) i może zawierać błędy. Aby wyświetlić tę stronę w języku angielskim, kliknij tutaj.

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:

  1. Z zakładki Widok, otwórz Pudełko z narzędziami i wybierz zakładkę Sklep z twórcami .

    Toolbox toggle button in Studio
  2. Upewnij się, że wybrano sortowanie modele , a następnie kliknij przycisk Zobacz wszystko dla kategorii .

  3. Zlokalizuj i kliknij pasek modułów rozwojowych .

  4. Zlokalizuj moduł Pasek emotikonów i kliknij go, lub przeciągnij i upuść do widoku 3D.

  5. 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.

  1. W ServerScriptService , utwórz nowy Script i zmień nazwę na Konfiguruj emotki .

  2. 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 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,
    },
    })

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ść:

KluczTypOpis
nameciągNazwa emotki, na przykład "Shrug" .
animationciągID zasobu dla animacjaemotka.
imageciągID zasobu dla obrazu emotkaw interfejsie GUI.
defaultTemponumber liczbaDomyś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.
isLockedboolCzy emotka jest "zablokowana" od aktywacji.

Enumery

Typ EmoteBar.Gui

NazwaPodsumowanie
EmoteBarDomyślna forma, w której emotki są wyświetlane w pasku na dole ekranu, oddzielone w poszczególnych "stronach".
EmoteWheelWariant, 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.

KluczOpisDomyślny
useDefaultEmotesCzy dostarczone domyślne emotki są włączone czy nie.prawda
useMegaEmotesWłącza lub wyłącza funkcję mega emotki.prawda
emoteMinPlayersMinimalna liczba graczy wykonujących tę samą emotkę, aby przyczynić się do mega emotka.3
emoteMaxPlayersMaksymalna liczba graczy wykonujących tę samą emotkę, aby przyczynić się do mega emotka.50
playParticlesWłącza lub wyłącza emotki, które gracze odtwarzają jako pływające cząstki nad ich głowami.prawda
sendContributingEmotesWłą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ą.

KluczOpisDomyślny
guiTypeSterowania, które tworzą interfejs użytkownika, będą wyświetlać emotki (EmoteBar.GuiType).Pasek emocji
useTempoWłą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
tempoActivationWindowIlość czasu, w sekundach, jaka użytkownik ma między sekwencyjnymi aktywacjami emotki, aby zaliczyć ją do tempa.3
lockedImageObraz 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ę

getEmote(emoteName: string ): table

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.

Parametry
gracz: PlayerGracz, który wykonał emotka.
emotka: EmocjaEmotka, która została odtworzona.
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: EmocjaZablokowana 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)