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 :
Assurez-vous que le tri des modèles est sélectionné, puis cliquez sur le bouton Voir tout pour les catégories .
Localisez et cliquez sur la case modules de développement .
Localisez le module barre d'émotion et cliquez dessus, ou glissez-déposez-le dans la voir3D.
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.
Dans ServerScriptService , créez un nouveau Script et renommez-le Configurer les émotes .
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 émoteslocal 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é | Type | Avertissement |
---|---|---|
name | chaîne | Nom de l'émote, par exemple "Shrug" . |
animation | chaîne | ID de ressource pour l'animationsde l'Emote. |
image | chaîne | ID de ressource pour l'image de l'Emotedans l'interface utilisateur graphique. |
defaultTempo | numéro | Facteur 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. |
isLocked | bool | Si l'émote est « verrouillée » pour ne pas être activée. |
Enums
EmoteBar.GuiType
Nom | Sommaire |
---|---|
EmoteBar | Formulaire par défaut où les emotes sont affichées dans une barre en bas de l'écran, séparées en pages individuelles. |
EmoteWheel | Variante 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é | Avertissement | Par défaut |
---|---|---|
useDefaultEmotes | Si les emotes par défaut fournies sont incluses ou non. | vrai |
useMegaEmotes | Active ou désactive la fonctionalitéméga emotes. | vrai |
emoteMinPlayers | Nombre minimum de joueurs effectuant la même emote pour contribuer à une Emoteméga. | 3 |
emoteMaxPlayers | Nombre maximum de joueurs effectuant la même emote pour contribuer à une Emoteméga. | 50 |
playParticles | Active ou désactive les emotes que les joueurs jouent en tant que particules flottantes au-dessus de leurs têtes. | vrai |
sendContributingEmotes | Active 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é | Avertissement | Par défaut |
---|---|---|
guiType | Les contrôles qui forment l'interface utilisateur prendront pour afficher les emotes (EmoteBar.GuiType). | Barre d'émotion |
useTempo | Active 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 |
tempoActivationWindow | Quantité 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 |
lockedImage | Image à 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
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 .
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)