Emote-Leiste

*Dieser Inhalt wurde mit KI (Beta) übersetzt und kann Fehler enthalten. Um diese Seite auf Englisch zu sehen, klicke hier.

Emotes sind ein wesentlicher Bestandteil jeder sozialen Erfahrung. Das EmoteBar Entwicklermodul zielt darauf ab, den Spielern eine zugängliche, anpassbare Möglichkeit zu bieten, um bedeutungsvolle soziale Interaktionen zu ermöglichen.

Modulanwendung

Installation

Um das EmoteBar-Modul in einer Erfahrung zu verwenden:

  1. Öffnen Sie im Studio über das Fenster-Menü oder die Toolbar der Startseite die Werkzeugkiste und wählen Sie die Registerkarte Creator Store.

  2. Stellen Sie sicher, dass die Sortierung nach Modellen ausgewählt ist, und klicken Sie dann auf die Schaltfläche Alle anzeigen für Kategorien.

  3. Suchen Sie die Kachel Pakete und klicken Sie darauf.

  4. Suchen Sie das Emote Bar-Modul und klicken Sie darauf oder ziehen Sie es in die 3D-Ansicht.

  5. Verschieben Sie im Explorer-Fenster das gesamte EmoteBar-Modell in ReplicatedStorage. Beim Ausführen der Erfahrung beginnt das Modul zu laufen.

Konfiguration

Das Modul ist im Voraus mit 7 Emotes konfiguriert und kann mit eigenen Emotes und Anzeigeoptionen einfach angepasst werden. Darüber hinaus werden Emotes, die der Spieler aus früheren Roblox-Events wie Lil Nas X, Royal Blood oder Twenty One Pilots besitzt, automatisch zur Liste der verfügbaren Emotes hinzugefügt.

  1. Erstellen Sie in ServerScriptService ein neues Script und benennen Sie es ConfigureEmotes.

  2. Fügen Sie den folgenden Code in das neue ConfigureEmotes-Skript ein. Die useDefaultEmotes-Einstellung von false überschreibt die Standardemotes und ermöglicht es Ihnen, benutzerdefinierte Emotes über die setEmotes-Funktion zu definieren.

    Script - ConfigureEmotes

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

Mega Emotes

Ein Mega Emote entsteht, wenn mehrere Spieler im gleichen Bereich das gleiche Emote zur gleichen Zeit ausführen. Je mehr Spieler mitmachen, desto größer wird das Mega Emote. Wenn die Spieler aufhören, das Emote auszuführen, wird das Mega Emote kleiner, bis es schließlich verschwindet.

Tempo

Das Tempo eines Emotes ist die Geschwindigkeit, mit der es abgespielt wird, wenn die Taste einmal gedrückt wird. Die Standardgeschwindigkeit eines Emotes wird durch sein defaultTempo bestimmt. Die Geschwindigkeit eines Emotes kann erhöht oder gesenkt werden, indem die Taste schneller oder langsamer gedrückt wird.

API-Referenz

Typen

Emote

Jedes Emote wird durch ein Dictionary mit den folgenden Schlüssel-Wert-Paaren dargestellt:

SchlüsselTypBeschreibung
namestringEmote-Name, zum Beispiel "Shrug".
animationstringAsset-ID für die Animation des Emotes.
imagestringAsset-ID für das Bild des Emotes in der GUI.
defaultTemponumberStandardgeschwindigkeitsfaktor, mit dem die Emote-Animation abgespielt wird. Zum Beispiel wird ein Tempo von 2 die Animation mit der doppelten normalen Geschwindigkeit abspielen. Muss größer als 0 sein.
isLockedboolOb das Emote "gesperrt" ist und nicht aktiviert werden kann.

Enums

EmoteBar.GuiType

NameZusammenfassung
EmoteBarStandardform, in der Emotes in einer Leiste am unteren Bildschirmrand angezeigt werden, getrennt in einzelne "Seiten".
EmoteWheelVariante, bei der Emotes in einem Ring angezeigt werden, wenn ein Spieler auf seinen Charakter klickt oder tippt.
LocalScript

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

Funktionen

configureServer

configureServer(config: table)

Überschreibt die Standardserverseitigen Konfigurationsoptionen über die folgenden Schlüssel/Werte in der config-Tabelle. Diese Funktion kann nur von einem Script aufgerufen werden und Änderungen werden automatisch an alle Clients repliziert.

SchlüsselBeschreibungStandard
useDefaultEmotesOb die bereitgestellten Standardemotes enthalten sind oder nicht.true
useMegaEmotesAktiviert oder deaktiviert die Mega Emotes-Funktion.true
emoteMinPlayersMinimale Anzahl von Spielern, die das gleiche Emote ausführen, um zu einem Mega Emote beizutragen.3
emoteMaxPlayersMaximale Anzahl von Spielern, die das gleiche Emote ausführen, um zu einem Mega Emote beizutragen.50
playParticlesAktiviert oder deaktiviert die Emotes, die Spieler als schwebende Partikel über ihren Köpfen spielen.true
sendContributingEmotesAktiviert oder deaktiviert das Senden eines kleinen Emote-Symbols, um zu dem Mega Emote beizutragen.true
Script

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

configureClient

configureClient(config: table)

Überschreibt die Standard-Client-seitigen Konfigurationsoptionen über die folgenden Schlüssel/Werte in der config-Tabelle. Diese Funktion kann nur von einem LocalScript aufgerufen werden. Je nach Wert von guiType gelten auch die Optionen in den angegebenen Registerkarten.

SchlüsselBeschreibungStandard
guiTypeSteuert, welche Form die GUI für die Anzeige von Emotes annehmen wird (EmoteBar.GuiType).EmoteBar
useTempoAktiviert oder deaktiviert die Tempo-Funktion, bei der Benutzer steuern können, wie schnell oder langsam ihre Emotes abgespielt werden, indem sie dasselbe Emote rhythmisch aktivieren.true
tempoActivationWindowDie Zeitspanne, in Sekunden, die der Benutzer zwischen aufeinanderfolgenden Aktivierungen eines Emotes hat, damit es als Teil des Tempos zählt.3
lockedImageBild, das über gesperrten Emotes angezeigt wird."rbxassetid://6905802778"
LocalScript - Emote-Leiste

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 - Emote-Rad

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

setEmotes

setEmotes(emotes: table)

Setzt die benutzerdefinierten Emotes, die verwendet werden sollen. Diese werden mit den Standardwerten hinzugefügt, wenn useDefaultEmotes auf true gesetzt ist, oder ersetzen die Standardwerte, wenn useDefaultEmotes auf false gesetzt ist. Diese Funktion kann nur von einem Script aufgerufen werden und Änderungen werden automatisch an alle Clients repliziert.

Siehe Emote für die Struktur jedes an diese Funktion übergebenen Emote.

Script - ConfigureEmotes

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

setGuiVisibility

setGuiVisibility(visible: boolean)

Zeigt die Emote-GUI an oder verbirgt sie. Diese Funktion kann nur von einem LocalScript auf einem bestimmten Client aufgerufen werden.

LocalScript

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

getEmote

getEmote(emoteName: string): table

Erhält ein Emote nach Name. Gibt nil zurück, wenn das Emote nicht gefunden werden kann. Diese Funktion kann nur von einem LocalScript auf einem bestimmten Client aufgerufen werden.

LocalScript

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

playEmote

playEmote(emote: Emote)

Spielt das gegebene Emote ab und feuert das emotePlayed-Ereignis auf dem Server, wenn verbunden. Diese Funktion kann nur von einem LocalScript auf einem bestimmten Client aufgerufen werden.

LocalScript

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

lockEmote

lockEmote(emoteName: string)

Sperrt das Emote mit dem angegebenen Namen. Diese Funktion kann nur von einem LocalScript auf dem Client aufgerufen werden.

LocalScript

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

unlockEmote

unlockEmote(emoteName: string)

Entsperrt das Emote mit dem angegebenen Namen. Diese Funktion kann nur von einem LocalScript auf dem Client aufgerufen werden.

LocalScript

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

Ereignisse

emotePlayed

Wird ausgelöst, wenn ein Client ein Emote abspielt. Dieses Ereignis kann nur in einem LocalScript verbunden werden.

Parameter
player: PlayerSpieler, der das Emote ausgeführt hat.
emote: EmoteEmote, das abgespielt wurde.
LocalScript

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

lockedEmoteActivated

Wird ausgelöst, wenn ein Client auf ein gesperrtes Emote klickt. Dieses Ereignis kann nur in einem LocalScript verbunden werden.

Parameter
emote: EmoteGesperrtes Emote, das aktiviert wurde.
LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Players = game:GetService("Players")
local EmoteBar = require(ReplicatedStorage.EmoteBar)
EmoteBar.lockedEmoteActivated:Connect(function(emote)
print(Players.LocalPlayer, "klickte", emote.name)
end)
©2026 Roblox Corporation. Roblox, das Roblox-Logo und "Powering Imagination" gehören zu unseren eingetragenen und nicht eingetragenen Markenzeichen in den USA und anderen Ländern.