Pasek Emotó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.

Emoty są podstawowym elementem każdej społecznej interakcji. Moduł EmoteBar dewelopera ma na celu zapewnienie graczom dostępnego, dostosowywanego sposobu na ułatwienie znaczącej interakcji społecznej.

Użycie modułu

Instalacja

Aby użyć modułu EmoteBar w doświadczeniu:

  1. Z menu Okno w Studio lub z paska narzędzi karty Strona główna, otwórz Narzędziownię i wybierz kartę Sklep Twórcy.

  2. Upewnij się, że wybrano sortowanie Modele, a następnie kliknij przycisk Zobacz wszystkie dla Kategorii.

  3. Znajdź i kliknij kafelek Pakiety.

  4. Zlokalizuj moduł Pasek Emotów i kliknij go lub przeciągnij do widoku 3D.

  5. W oknie Eksploratora przenieś cały model EmoteBar do ReplicatedStorage. Po uruchomieniu doświadczenia moduł zacznie działać.

Konfiguracja

Moduł jest wstępnie skonfigurowany z 7 emotkami i można go łatwo dostosować własnymi emotkami i opcjami wyświetlania. Dodatkowo, jeśli gracz posiada jakiekolwiek emotki z wcześniejszych wydarzeń Roblox, takich jak Lil Nas X, Royal Blood czy Twenty One Pilots, te emotki zostaną automatycznie dodane do listy dostępnych emotek.

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

  2. Wklej następujący kod do nowego skryptu ConfigureEmotes. Ustawienie useDefaultEmotes na false nadpisuje domyślne emotki i pozwala na zdefiniowanie niestandardowych emotek za pomocą funkcji setEmotes.

    Script - ConfigureEmotes

    local ReplicatedStorage = game:GetService("ReplicatedStorage")
    local EmoteBar = require(ReplicatedStorage.EmoteBar)
    EmoteBar.configureServer({
    useDefaultEmotes = false,
    })
    EmoteBar.setEmotes({
    {
    name = "Cześć",
    animation = "rbxassetid://3344650532",
    image = "rbxassetid://7719817462",
    defaultTempo = 1,
    },
    {
    name = "Brawa",
    animation = "rbxassetid://5915693819",
    image = "rbxassetid://7720292217",
    defaultTempo = 2,
    },
    })

Mega emotki

Mega emotka powstaje, gdy wielu graczy w tym samym obszarze wykonuje tę samą emotkę w tym samym czasie. Gdy coraz więcej graczy zaczyna uczestniczyć, mega emotka staje się większa. Gdy gracze przestają wykonywać emotkę, mega emotka staje się mniejsza, aż w końcu znika.

Tempo

Tempo emotki to prędkość, z jaką jest odtwarzana, gdy przycisk jest naciśnięty raz. Domyślna prędkość emotki jest określona przez jej defaultTempo. Prędkość emotki można zwiększyć lub zmniejszyć, naciskając jej przycisk szybciej lub wolniej.

Referencja API

Typy

Emote

Każda emotka jest reprezentowana przez słownik z następującymi parami klucz-wartość:

KluczTypOpis
namestringNazwa emotki, na przykład "Shrug".
animationstringID zasobu dla animacji emotki.
imagestringID zasobu dla obrazu emotki w GUI.
defaultTemponumberDomyślny współczynnik prędkości, z jaką ma być odtwarzana animacja emotki. Na przykład tempo 2 odtworzy animację z prędkością dwa razy większą niż normalna. Musi być większy od 0.
isLockedboolCzy emotka jest "zablokowana" przed aktywacją.

Enums

EmoteBar.GuiType

NazwaPodsumowanie
EmoteBarDomyślna forma, w której emotki są wyświetlane w pasku wzdłuż dolnej części ekranu, podzielone na indywidualne "strony".
EmoteWheelWariant, w którym emotki są wyświetlane w pierścieniu, gdy gracz kliknie lub dotknie swojego bohatera.
LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local EmoteBar = require(ReplicatedStorage.EmoteBar)
EmoteBar.configureClient({
guiType = EmoteBar.GuiType.EmoteWheel,
})

Funkcje

configureServer

configureServer(config: table)

Nadpisuje domyślne opcje konfiguracyjne po stronie serwera przez następujące klucze/wartości w tabeli config. Ta funkcja może być wywoływana tylko z Script, a zmiany będą automatycznie replikowane do wszystkich klientów.

KluczOpisDomyślny
useDefaultEmotesCzy dostarczone domyślne emotki są włączone, czy nie.true
useMegaEmotesWłącza lub wyłącza funkcję mega emotek.true
emoteMinPlayersMinimalna liczba graczy wykonujących tę samą emotkę, aby przyczynić się do mega emotki.3
emoteMaxPlayersMaksymalna liczba graczy wykonujących tę samą emotkę, aby przyczynić się do mega emotki.50
playParticlesWłącza lub wyłącza emotki, które gracze wykonują jako unoszące się cząstki nad ich głowami.true
sendContributingEmotesWłącza lub wyłącza wysyłanie małej ikony emotki, aby przyczynić się do mega emotki.true
Script

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local EmoteBar = require(ReplicatedStorage.EmoteBar)
EmoteBar.configureServer({
emoteMinPlayers = 2,
playParticles = false,
})

configureClient

configureClient(config: table)

Nadpisuje domyślne opcje konfiguracyjne po stronie klienta przez następujące klucze/wartości w tabeli config. Ta funkcja może być wywoływana tylko z LocalScript. W zależności od wartości guiType, opcje w wymienionych kartach również obowiązują.

KluczOpisDomyślny
guiTypeKontroluje, jaką formę przyjmie GUI do wyświetlania emotek (EmoteBar.GuiType).EmoteBar
useTempoWłącza lub wyłącza funkcję tempo, w której użytkownicy mogą kontrolować, jak szybko lub wolno odtwarzane są ich emotki, powtarzając rytmicznie tę samą emotkę.true
tempoActivationWindowIlość czasu, w sekundach, którą użytkownik ma między kolejnymi aktywacjami emotki, aby liczyła się jako część tempa.3
lockedImageObraz wyświetlany nad zablokowanymi emotkami."rbxassetid://6905802778"
LocalScript - Pasek Emotów

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local EmoteBar = require(ReplicatedStorage.EmoteBar)
EmoteBar.configureClient({
guiType = EmoteBar.GuiType.EmoteBar,
maxEmotesPerPage = 6,
nextPageKey = Enum.KeyCode.Z,
prevPageKey = Enum.KeyCode.C,
})
LocalScript - Koło Emotów

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local EmoteBar = require(ReplicatedStorage.EmoteBar)
EmoteBar.configureClient({
guiType = EmoteBar.GuiType.EmoteWheel,
})

setEmotes

setEmotes(emotes: table)

Ustawia niestandardowe emotki do użycia. Zostaną one dodane do domyślnych, jeśli useDefaultEmotes jest ustawione na true, lub zastąpią domyślne, jeśli useDefaultEmotes jest ustawione na false. Ta funkcja może być wywoływana tylko z Script, a zmiany będą automatycznie replikowane do wszystkich klientów.

Zobacz Emote dla struktury każdej emotki przekazanej do tej funkcji.

Script - ConfigureEmotes

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local EmoteBar = require(ReplicatedStorage.EmoteBar)
EmoteBar.configureServer({
useDefaultEmotes = false,
})
EmoteBar.setEmotes({
{
name = "Cześć",
animation = "rbxassetid://3344650532",
image = "rbxassetid://7719817462",
defaultTempo = 1,
},
{
name = "Brawa",
animation = "rbxassetid://5915693819",
image = "rbxassetid://7720292217",
defaultTempo = 2,
},
})

setGuiVisibility

setGuiVisibility(visible: boolean)

Pokazuje lub ukrywa GUI emotek. Ta funkcja może być wywoływana tylko z LocalScript na konkretnym kliencie.

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local EmoteBar = require(ReplicatedStorage.EmoteBar)
EmoteBar.setGuiVisibility(false)

getEmote

getEmote(emoteName: string): table

Pobiera Emote według nazwy. Zwraca nil, jeśli emotka nie może zostać znaleziona. Ta funkcja może być wywoływana tylko z LocalScript na konkretnym kliencie.

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local EmoteBar = require(ReplicatedStorage.EmoteBar)
local shrug = EmoteBar.getEmote("Shrug")

playEmote

playEmote(emote: Emote)

Odtwarza daną Emote i wywołuje zdarzenie emotePlayed na serwerze, jeśli jest podłączony. Ta funkcja może być wywoływana tylko z LocalScript na konkretnym kliencie.

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local EmoteBar = require(ReplicatedStorage.EmoteBar)
local shrug = EmoteBar.getEmote("Shrug")
EmoteBar.playEmote(shrug)

lockEmote

lockEmote(emoteName: string)

Zamyka Emote o danej nazwie. Ta funkcja może być wywoływana tylko z LocalScript na kliencie.

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local EmoteBar = require(ReplicatedStorage.EmoteBar)
EmoteBar.lockEmote("Brawa")

unlockEmote

unlockEmote(emoteName: string)

Odblokowuje Emote o danej nazwie. Ta funkcja może być wywoływana tylko z LocalScript na kliencie.

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local EmoteBar = require(ReplicatedStorage.EmoteBar)
EmoteBar.unlockEmote("Brawa")

Zdarzenia

emotePlayed

Wywołuje się, gdy jakikolwiek klient odtwarza emotkę. To zdarzenie można podłączyć tylko w LocalScript.

Parametry
gracz: PlayerGracz, który wykonał emotkę.
emote: EmoteEmotka, która została odtworzona.
LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local EmoteBar = require(ReplicatedStorage.EmoteBar)
EmoteBar.emotePlayed:Connect(function(player, emote)
print(player.Name, "odtworzył", emote.name)
end)

lockedEmoteActivated

Wywołuje się, gdy klient kliknie zablokowaną emotkę. To zdarzenie można podłączyć tylko w LocalScript.

Parametry
emote: EmoteZablokowana emotka, która została aktywowana.
LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Players = game:GetService("Players")
local EmoteBar = require(ReplicatedStorage.EmoteBar)
EmoteBar.lockedEmoteActivated:Connect(function(emote)
print(Players.LocalPlayer, "kliknął", emote.name)
end)
©2026 Roblox Corporation. Nazwa Roblox, logo Roblox oraz hasło „Powering Imagination” należą do naszych zarejestrowanych i niezarejestrowanych znaków towarowych na terenie Stanów Zjednoczonych oraz w innych krajach.