Emotes sind ein zentraler Bestandteil jeder sozialen Erlebnis.Die EmoteBar Entwickler-Modul zielt darauf ab, Spielern einen zugänglichen, anpassbaren Weg zu bieten, um die sinnvolle soziale Interaktion zu erleichtern.
Modul-Verwendung
Installationen
Um das EmoteBar -Modul in einem Erlebnis zu verwenden:
Stellen Sie sicher, dass die Sortierung der Modelle ausgewählt ist, dann klicken Sie auf die Schaltfläche Alle sehen für Kategorien .
Suchen und klicken Sie auf die Entwickler-Module -Kachel.
Suchen Sie das Emote-Bar-Modul und klicken Sie darauf oder ziehen Sie es in die 3D-Ansicht.
In dem Explorer Fenster verschiebe das gesamte EmoteBar Modell in ServerScriptService .Wenn das Erlebnis ausgeführt wird, verteilt sich das Modul auf verschiedene Dienste und beginnt zu laufen.
Konfigurieren
Das Modul ist vordefiniert mit 7 Emotes und kann einfach mit eigenen Emotes und Anzeigeeinstellungen angepasst werden.Zusätzlich, wenn der Spieler Emotes aus früheren Roblox-Events wie Lil Nas X, Royal Blood oder Twenty One Pilots besitzt, werden diese Emotes automatisch zur Liste der verfügbaren Emotes hinzugefügt.
In ServerScriptService erstelle ein neues Script und benenne es um in Konfigurieren von Emotes .
Füge den folgenden Code in das neue KonfigurierenEmotes Skript, das. PL: die Skriptsein.Die useDefaultEmotes Einstellung von false überschreibt die Standard-Emotes und ermöglicht es Ihnen, benutzerdefinierte Emotes über die setEmotes Funktion zu definieren.
Skript - Emotes konfigurierenlocal 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-Emotionen
Ein Mega-Emote wird gebildet, wenn mehrere Spieler im gleichen Bereich gleichzeitig dasselbe Emote ausführen.Wenn immer mehr Spieler beitreten, wächst das Mega-Emote größer.Wenn Spieler aufhören, das Emote auszuführen, wird das Mega-Emote kleiner, bis es schließlich verschwindet.

Geschwindigkeit
Das Tempo eines Emotes ist die Geschwindigkeit, mit der es abgespielt wird, wenn seine Schaltfläche einmal getippt wird.Die Standardgeschwindigkeit eines Emotes wird durch seine defaultTempo bestimmt.Die Geschwindigkeit eines Emotes kann durch Drücken seiner Taste schneller oder langsamer erhöht oder verringert werden.
API-Referenz
Arten
Emoten
Jedes Emote wird durch ein Wörterbuch repräsentiert, das die folgenden Schlüssel-Wert-Paare enthält:
Schlave | Typ | Beschreibung |
---|---|---|
name | string | Emotionsname, zum Beispiel "Shrug". |
animation | string | Asset-ID für die Animationendes Emotes. |
image | string | Asset-ID für das Bild des Emotes in der grafische Benutzeroberfläche. |
defaultTempo | zahl | Standard-Geschwindigkeitsfaktor, mit dem die Animationenabgespielt werden soll.Zum Beispiel wird ein Tempo von 2 die Animation bei zweifacher normaler Geschwindigkeit wiedergeben.Muss größer als 0 sein. |
isLocked | bool | Ob das Emote "gesperrt" ist, um aktiviert zu werden. |
Nummern
EmoteBar.GuiTyp
Namen | Übersicht |
---|---|
EmoteBar | Standardform, in der Emotes in einer Leiste am unteren Rand des Bildschirms angezeigt werden, getrennt in einzelne "Seiten". |
EmoteWheel | Variante, in der Emotes in einem Ring angezeigt werden, wenn ein Spieler auf seinen Spielercharakter klickt oder tippt. |
Lokales Skript
local ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))EmoteBar.configureClient({guiType = EmoteBar.GuiType.EmoteWheel,})
Funktionen
Server konfigurieren
konfigurierenServer(config: table)
Übernimmt Standard-Server-seitige Konfigurationsoptionen durch die folgenden Schlüssel-/Werte in der config Tabelle.Diese Funktion kann nur von einem Script aufgerufen werden und Änderungen werden automatisch auf alle Clients repliziert.
Schlave | Beschreibung | Standardmäßig |
---|---|---|
useDefaultEmotes | Ob die bereitgestellten Standard-Emotes enthalten sind oder nicht. | wahr |
useMegaEmotes | Aktiviert oder deaktiviert die Mega-Emotes-Funktion. | wahr |
emoteMinPlayers | Minimale Anzahl von Spielern, die dasselbe Emote ausführen, um zu einem Mega-Emote beizutragen. | 3 |
emoteMaxPlayers | Maximale Anzahl von Spielern, die dasselbe Emote ausführen, um zu einem Mega-Emote beizutragen. | 50 |
playParticles | Aktiviert oder deaktiviert Emotes, die Spieler als schwebende Partikel über ihren Köpfen spielen. | wahr |
sendContributingEmotes | Aktiviert oder deaktiviert das Senden eines kleinen Emote-Symbols, um zum Mega-Emote beizutragen. | wahr |
Skript
local ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))EmoteBar.configureServer({emoteMinPlayers = 2,playParticles = false,})
client konfigieren
client konfigurieren(config: table )
Übernimmt Standard-Client-Seiten-Konfigurationsoptionen durch die folgenden Schlüssel-/Werte in der config Tabelle.Diese Funktion kann nur von einem LocalScript aufgerufen werden.Abhängig vom Wert von guiType gelten auch Optionen in den angezeigten Tabs.
Schlave | Beschreibung | Standardmäßig |
---|---|---|
guiType | Steuerelemente, die die GUI bilden, nehmen für die Anzeige von Emotes ( EmoteBar.GuiType ). | Emotenleiste |
useTempo | Aktiviert oder deaktiviert die Tempo-Funktion, bei der Benutzer die Geschwindigkeit, mit der ihre Emotes wiederholt abgespielt werden, steuern können, indem sie dasselbe Emote rhythmisch wiederholt aktivieren. | wahr |
tempoActivationWindow | Die Menge der Zeit, in Sekunden, die der Benutzer zwischen sequentiellen Aktivierungen eines Emotes hat, damit es als Teil des Tempos zählt. | 3 |
lockedImage | Bild, das über dem gesperrten Emote angezeigt wird. | „rbxassetid://6905802778“ |
Lokales Skript - Emote Bar
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,})
Lokales Skript - Emotionsrad
local ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))EmoteBar.configureClient({guiType = EmoteBar.GuiType.EmoteWheel,})
emotesSetzen
setEmotes(emotes: table )
Legt die benutzerdefinierten Emotes fest, die verwendet werden.Diese werden den Standardwerten hinzugefügt, wenn useDefaultEmotes ist true oder die Standardwerte ersetzen, wenn useDefaultEmotes ist false.Diese Funktion kann nur von einem Script aufgerufen werden und Änderungen werden automatisch auf alle Clients repliziert.
Siehe Emote für die Struktur jedes Emotes, das an diese Funktion übergeben wird.
Skript - Emotes konfigurieren
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,},})
setGuiVisibility
setGuiVisibility(sichtbar: boolean )
Zeigt oder versteckt die grafische Benutzeroberfläche. Diese Funktion kann nur von einem LocalScript auf einem bestimmten Client aufgerufen werden.
Lokales Skript
local ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))EmoteBar.setGuiVisibility(false)
erhaltenEmote
Holen Sie sich ein Emote durch den Namen.Gibt nil zurück, wenn das Emote nicht gefunden werden kann.Diese Funktion kann nur von einem LocalScript auf einem bestimmten Client aufgerufen werden.
Lokales Skript
local ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))local shrug = EmoteBar.getEmote("Shrug")
spielenEmote
spielEmote(emote: Emote )
Spielt das angegebene Emote und feuert das emotePlayed Event auf dem Server ab, wenn es verbunden ist.Diese Funktion kann nur von einem LocalScript auf einem bestimmten Client aufgerufen werden.
Lokales Skript
local ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage:WaitForChild("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.
Lokales Skript
local ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))EmoteBar.lockEmote("Applaud")
Emote freischalten
unlockEmote(emoteName: string )
Schaltet das Emote mit dem angegebenen Namen frei. Diese Funktion kann nur von einem LocalScript auf dem Client aufgerufen werden.
Lokales Skript
local ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))EmoteBar.unlockEmote("Applaud")
Ereignisse
emoteAbgespielt
Feuert, wenn ein Client ein Emote spielt. Dieses Ereignis kann nur in einem LocalScript verbunden werden.
Parameter | |
---|---|
spieler:in: Player | Spieler, der das Emote ausgeführt hat. |
Emote: Emote | Emote, das abgespielt wurde. |
Lokales Skript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))
EmoteBar.emotePlayed:Connect(function(player, emote)
print(player.Name, "played", emote.name)
end)
lockedEmoteAktiviert
Feuert, wenn ein Client ein gesperrtes Emote anklickt. Dieses Ereignis kann nur in einem LocalScript verbunden werden.
Parameter | |
---|---|
Emote: Emote | Gesperrtes Emote, das aktiviert wurde. |
Lokales Skript
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)