Barre d'emotes

*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 élément essentiel de toute expérience sociale. Le module EmoteBar pour développeurs vise à fournir aux joueurs un moyen accessible et personnalisable de faciliter des interactions sociales significatives.

Utilisation du module

Installation

Pour utiliser le module EmoteBar dans une expérience :

  1. Depuis le menu Fenêtre de Studio ou la barre d'outils de l'onglet Accueil, ouvrez le Toolbox et sélectionnez l'onglet Créateur Store.

  2. Assurez-vous que le tri des Modèles est sélectionné, puis cliquez sur le bouton Voir Tout pour Catégories.

  3. Localisez et cliquez sur le carré Packages.

  4. Localisez le module Emote Bar et cliquez dessus, ou faites-le glisser dans la vue 3D.

  5. Dans la fenêtre Explorateur, déplacez le modèle entier EmoteBar dans ReplicatedStorage. Lors de l'exécution de l'expérience, le module commencera à fonctionner.

Configuration

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

  1. Dans ServerScriptService, créez un nouveau Script et renommez-le ConfigureEmotes.

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

    Script - ConfigureEmotes

    local ReplicatedStorage = game:GetService("ReplicatedStorage")
    local EmoteBar = require(ReplicatedStorage.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 emotes

Une mega emote se forme lorsque plusieurs joueurs dans la même zone effectuent la même emote en même temps. À mesure que de plus en plus de joueurs se joignent, la mega emote devient plus grande. Lorsque les joueurs cessent d'effectuer l'emote, la mega emote devient plus petite jusqu'à disparaître finalement.

Tempo

Le tempo d'une emote est la vitesse à laquelle elle se joue lorsqu'on tape son bouton une fois. La vitesse par défaut d'une emote est déterminée par son defaultTempo. La vitesse d'une emote peut être augmentée ou diminuée en tapant son bouton plus rapidement ou plus lentement.

Référence API

Types

Emote

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

CléTypeDescription
namestringNom de l'emote, par exemple "Shrug".
animationstringID d'actif pour l'animation de l'emote.
imagestringID d'actif pour l'image de l'emote dans l'interface utilisateur.
defaultTemponumberFacteur de vitesse par défaut auquel jouer l'animation de l'emote. Par exemple, un tempo de 2 jouera l'animation à deux fois sa vitesse normale. Doit être supérieur à 0.
isLockedboolSi l'emote est "verrouillée" et ne peut pas être activée.

Enums

EmoteBar.GuiType

NomRésumé
EmoteBarForme par défaut où les emotes sont affichées dans une barre le long du bas de l'écran, séparées en pages individuelles.
EmoteWheelVersion où les emotes sont affichées en cercle lorsque le joueur clique ou tape sur son personnage.
LocalScript

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

Fonctions

configureServer

configureServer(config: table)

Remplace les options de configuration par défaut côté serveur à travers les clés/valeurs suivantes dans le tableau config. Cette fonction ne peut être appelée que depuis un Script et les modifications se répliqueront automatiquement à tous les clients.

CléDescriptionPar défaut
useDefaultEmotesSi les emotes par défaut fournies sont incluses ou non.true
useMegaEmotesActive ou désactive la fonctionnalité des mega emotes.true
emoteMinPlayersNombre minimum de joueurs effectuant la même emote pour contribuer à une mega emote.3
emoteMaxPlayersNombre maximum de joueurs effectuant la même emote pour contribuer à une mega emote.50
playParticlesActive ou désactive les emotes que les joueurs jouent en tant que particules flottantes au-dessus de leurs têtes.true
sendContributingEmotesActive ou désactive l'envoi d'une petite icône d'emote pour contribuer à la mega emote.true
Script

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

configureClient

configureClient(config: table)

Remplace les options de configuration par défaut côté client à travers les clés/valeurs suivantes dans le tableau config. Cette fonction ne peut être appelée que depuis un LocalScript. Selon la valeur de guiType, les options dans les onglets notés s'appliquent également.

CléDescriptionPar défaut
guiTypeContrôle la forme que prendra l'interface utilisateur pour afficher les emotes (EmoteBar.GuiType).EmoteBar
useTempoActive ou désactive la fonctionnalité de tempo où les utilisateurs peuvent contrôler à quelle vitesse ou lenteur leurs emotes sont jouées en activant à plusieurs reprises la même emote de manière rythmée.true
tempoActivationWindowTemps, en secondes, dont dispose l'utilisateur entre les activations successives d'une emote pour qu'elle compte dans le tempo.3
lockedImageImage à afficher par-dessus les emotes verrouillées."rbxassetid://6905802778"
LocalScript - Emote Bar

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 Wheel

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

setEmotes

setEmotes(emotes: table)

Définit les emotes personnalisés à utiliser. Celles-ci seront ajoutées aux valeurs par défaut si useDefaultEmotes est true, ou remplaceront les valeurs par défaut si useDefaultEmotes est false. Cette fonction ne peut être appelée que depuis un Script et les changements se répliqueront automatiquement à tous les clients.

Voir Emote pour la structure de chaque emote passée à cette fonction.

Script - ConfigureEmotes

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local EmoteBar = require(ReplicatedStorage.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(visible: boolean)

Affiche ou cache l'interface utilisateur des emotes. Cette fonction ne peut être appelée que depuis un LocalScript sur un client spécifique.

LocalScript

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

getEmote

getEmote(emoteName: string): table

Récupère une Emote par nom. Retourne nil si l'emote ne peut pas être trouvée. Cette fonction ne peut être appelée que depuis un LocalScript sur un client spécifique.

LocalScript

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

playEmote

playEmote(emote: Emote)

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

LocalScript

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

lockEmote

lockEmote(emoteName: string)

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

LocalScript

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

unlockEmote

unlockEmote(emoteName: string)

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

LocalScript

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

Événements

emotePlayed

Se déclenche lorsque tout client joue une emote. Cet événement ne peut être connecté que dans un LocalScript.

Paramètres
player: PlayerJoueur qui a effectué l'emote.
emote: EmoteEmote qui a été jouée.
LocalScript

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

lockedEmoteActivated

Se déclenche lorsqu'un client clique sur une emote verrouillée. Cet événement ne peut être connecté que dans un LocalScript.

Paramètres
emote: EmoteEmote verrouillée qui a été activée.
LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Players = game:GetService("Players")
local EmoteBar = require(ReplicatedStorage.EmoteBar)
EmoteBar.lockedEmoteActivated:Connect(function(emote)
print(Players.LocalPlayer, "a cliqué sur", emote.name)
end)
©2026 Société Roblox. Roblox, le logo Roblox et Powering Imagination font partie de nos marques déposées aux États-Unis et dans d'autres pays.