Barre d'émote

*Ce contenu est traduit en utilisant l'IA (Beta) et peut contenir des erreurs. Pour consulter cette page en anglais, clique ici.

Les emotes sont un composant essentiel de toute expérience sociale.Le EmoteBar module de développeur vise à fournir aux joueurs une façon accessible et personnalisable de faciliter une interaction sociale significative.

Utilisation du module

Étabissement

Pour utiliser le module EmoteBar dans une expérience :

  1. De l'onglet Affichage, ouvrez la boîte à outils et sélectionnez l'onglet boutique des créateurs .

    Toolbox toggle button in Studio
  2. Assurez-vous que le tri des modèles est sélectionné, puis cliquez sur le bouton Voir tout pour les catégories .

  3. Localisez et cliquez sur la case modules de développement .

  4. Localisez le module barre d'émotion et cliquez dessus, ou glissez-déposez-le dans la voir3D.

  5. Dans la fenêtre Explorateur, déplacez l'ensemble du modèle EmoteBar dans ServerScriptService .Une fois l'expérience exécutée, le module se distribuera à différents services et commencera à fonctionner.

Configération

Le module est préconfiguré avec 7 émotes et peut être facilement personnalisé avec vos propres émotes et options d'affichage.De plus, si le joueur possède des émoticônes issues d'événements Roblox précédents tels que Lil Nas X, Royal Blood ou Twenty One Pilots, ces émoticônes seront automatiquement ajoutées à la liste des émoticônes disponibles.

  1. Dans ServerScriptService , créez un nouveau Script et renommez-le Configurer les émotes .

  2. Collez le code suivant dans le nouveau script ConfigureEmotes .Le paramètre useDefaultEmotes de false remplace les émotes par défaut et vous permet de définir des émotes personnalisées via la fonction setEmotes.

    Script - Configurer les émotes

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

Méga émotes

Un méga-émote est formé lorsque plusieurs joueurs dans la même zone effectuent la même émote en même temps.À mesure que de plus en plus de joueurs rejoignent, l'émote mega devient plus grande.Lorsque les joueurs arrêtent d'effectuer l'Emote, la méga-émote devient plus petite jusqu'à ce qu'elle disparaisse enfin.

Vitesse

Le rythme d'une Emote est la vitesse à laquelle elle joue lorsque son bouton est tapé une fois .La vitesse par défaut d'une emote est déterminée par son defaultTempo .La vitesse d'une Emotepeut être augmentée ou diminuée en tapant sur son bouton plus rapidement ou plus lentement.

Référence de l'API

Les types

Émote

Chaque emote est représentée par un dictionnaire avec les paires clé-valeur suivants :

CléTypeAvertissement
namechaîneNom de l'émote, par exemple "Shrug" .
animationchaîneID de ressource pour l'animationsde l'Emote.
imagechaîneID de ressource pour l'image de l'Emotedans l'interface utilisateur graphique.
defaultTemponuméroFacteur de vitesse par défaut auquel jouer l'animationsd'émote.Par exemple, un tempo de 2 jouera l'animation à deux fois sa vitesse normale.Doit être supérieur à 0.
isLockedboolSi l'émote est « verrouillée » pour ne pas être activée.

Enums

EmoteBar.GuiType

NomSommaire
EmoteBarFormulaire par défaut où les emotes sont affichées dans une barre en bas de l'écran, séparées en pages individuelles.
EmoteWheelVariante où les emotes sont affichées dans un anneau lorsqu'un joueur clique ou tape sur son personnage joueur.
Lecteur localScript

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

Fonctions

configurer le serveur

configurer le serveur(config: table )

Options de configuration par défaut du côté du serveur remplacées par les valeurs/clés suivantes dans la table config .Cette fonction ne peut être appelée qu'à partir d'un Script et les modifications se reproduiront automatiquement à tous les clients.

CléAvertissementPar défaut
useDefaultEmotesSi les emotes par défaut fournies sont incluses ou non.vrai
useMegaEmotesActive ou désactive la fonctionalitéméga emotes.vrai
emoteMinPlayersNombre minimum de joueurs effectuant la même emote pour contribuer à une Emoteméga.3
emoteMaxPlayersNombre maximum de joueurs effectuant la même emote pour contribuer à une Emoteméga.50
playParticlesActive ou désactive les emotes que les joueurs jouent en tant que particules flottantes au-dessus de leurs têtes.vrai
sendContributingEmotesActive ou désactive l'envoi d'une petite icône d'émote pour contribuer à l'Emoteméga.vrai
Scénario

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

configurer le client

configurer le client(config: table )

Options de configuration par défaut du côté client remplacées par les valeurs/clés suivantes dans la table config .Cette fonction ne peut être appelée qu'à partir d'un LocalScript .En fonction de la valeur de guiType, les options dans les onglets notés s'appliquent également.

CléAvertissementPar défaut
guiTypeLes contrôles qui forment l'interface utilisateur prendront pour afficher les emotes (EmoteBar.GuiType).Barre d'émotion
useTempoActive ou désactive la fonctionnalité tempo où les utilisateurs peuvent contrôler la vitesse à laquelle leurs emotes sont jouées en activant à plusieurs reprises le même rythme d'émote de manière rythmique.vrai
tempoActivationWindowQuantité de temps, en secondes, que l'utilisateur a entre les activations séquentielles d'une émote pour qu'elle compte comme faisant partie du tempo.3
lockedImageImage à afficher au-dessus des émoticônes verrouillées.« rbxassetid://6905802778 »
LocalScript - Barre d'émotion

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 - Roue d'émotions

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

définirEmotes

setEmotes(emotes: table )

Définit les emotes personnalisées à utiliser.Ces derniers seront ajoutés aux défauts si useDefaultEmotes est true , ou remplaceront les défauts si useDefaultEmotes est false .Cette fonction ne peut être appelée qu'à partir d'un Script et les modifications se reproduiront automatiquement à tous les clients.

Voir émote pour la structure de chaque émote transmise à cette fonction.

Script - Configurer les émotes

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

définir la visibilité de gui

setGuiVisibility(visible : boolean )

Affiche ou masque l'interface utilisateur graphiquedes emotes. Cette fonction ne peut être appelée qu'à partir d'un LocalScript sur un client spécifique.

Lecteur localScript

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

obtenezEmote

getEmote(nom de l'émote : string ) : table

Obtient une émote par nom.Renvoie nil si l'émote ne peut être trouvée.Cette fonction ne peut être appelée qu'à partir d'un LocalScript sur un client spécifique.

Lecteur localScript

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

jouerEmote

playEmote(emote: Emote )

Joue l'émote donnée Emote et déclenche l'événement emotePlayed sur le serveur, si connecté.Cette fonction ne peut être appelée qu'à partir d'un LocalScript sur un client spécifique.

Lecteur localScript

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

verrouillerEmote

lockEmote(nom de l'émote : string )

Verrouille l'émote avec le nom donné. Cette fonction ne peut être appelée que depuis un LocalScript sur le client.

Lecteur localScript

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

déverrouillerEmote

déverrouillerEmote(nom de l'émote : string )

Déverrouille l'émote avec le nom donné avec la fonction donnée. Cette fonction ne peut être appelée qu'à partir d'un LocalScript sur le client.

Lecteur localScript

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

Événements

émoteJouée

S'enflamme lorsque n'importe quel client joue une Emote. Cet événement ne peut être connecté qu'en LocalScript .

Paramètres
joueur : PlayerJoueur qui a joué l'Emote.
Emote: ÉmoteÉmote qui a été jouée.
Lecteur localScript

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

émote verrouilléeActivée

S'enflamme lorsqu'un client clique sur une Emoteverrouillée. Cet événement ne peut être connecté qu'en LocalScript .

Paramètres
Emote: ÉmoteÉmote verrouillée qui a été activée.
Lecteur localScript

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)