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

  1. Von der Ansicht-Registerkarte öffne die Toolbox und wähle die Creator-Store -Registerkarte aus.

    Toolbox toggle button in Studio
  2. Stellen Sie sicher, dass die Sortierung der Modelle ausgewählt ist, dann klicken Sie auf die Schaltfläche Alle sehen für Kategorien .

  3. Suchen und klicken Sie auf die Entwickler-Module -Kachel.

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

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

  1. In ServerScriptService erstelle ein neues Script und benenne es um in Konfigurieren von Emotes .

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

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:

SchlaveTypBeschreibung
namestringEmotionsname, zum Beispiel "Shrug".
animationstringAsset-ID für die Animationendes Emotes.
imagestringAsset-ID für das Bild des Emotes in der grafische Benutzeroberfläche.
defaultTempozahlStandard-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.
isLockedboolOb das Emote "gesperrt" ist, um aktiviert zu werden.

Nummern

EmoteBar.GuiTyp

NamenÜbersicht
EmoteBarStandardform, in der Emotes in einer Leiste am unteren Rand des Bildschirms angezeigt werden, getrennt in einzelne "Seiten".
EmoteWheelVariante, 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.

SchlaveBeschreibungStandardmäßig
useDefaultEmotesOb die bereitgestellten Standard-Emotes enthalten sind oder nicht.wahr
useMegaEmotesAktiviert oder deaktiviert die Mega-Emotes-Funktion.wahr
emoteMinPlayersMinimale Anzahl von Spielern, die dasselbe Emote ausführen, um zu einem Mega-Emote beizutragen.3
emoteMaxPlayersMaximale Anzahl von Spielern, die dasselbe Emote ausführen, um zu einem Mega-Emote beizutragen.50
playParticlesAktiviert oder deaktiviert Emotes, die Spieler als schwebende Partikel über ihren Köpfen spielen.wahr
sendContributingEmotesAktiviert 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.

SchlaveBeschreibungStandardmäßig
guiTypeSteuerelemente, die die GUI bilden, nehmen für die Anzeige von Emotes ( EmoteBar.GuiType ).Emotenleiste
useTempoAktiviert 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
tempoActivationWindowDie Menge der Zeit, in Sekunden, die der Benutzer zwischen sequentiellen Aktivierungen eines Emotes hat, damit es als Teil des Tempos zählt.3
lockedImageBild, 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

getEmote(emoteName: string ): table

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: PlayerSpieler, der das Emote ausgeführt hat.
Emote: EmoteEmote, 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: EmoteGesperrtes 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)