Las emociones son un componente central de cualquier experiencia social.El módulo desarrollador de EmoteBar tiene como objetivo proporcionar a los jugadores una forma accesible y personalizable de facilitar una interacción social significativa.
Uso de módulo
Instalación
Para usar el módulo Barra de emotes en una experiencia:
Asegúrese de que la clasificación de modelos esté seleccionada, luego haga clic en el botón Ver todo para categorías .
Localiza y haz clic en el mosaico Módulos de desarrollo .
Localiza el módulo Barra de emotes y haz clic en él, o arrástralo a la vista 3D.
En la ventana Explorador, mueva todo el modelo Barra de emotes al servicio ServerScriptService .Al ejecutar la experiencia, el módulo se distribuirá a varios servicios y comenzará a funcionar.
Configuración
El módulo está preconfigurado con 7 emotes y se puede personalizar fácilmente con tus propios emotes y opciones de visualización.Además, si el jugador posee cualquier emote de eventos anteriores de Roblox como Lil Nas X, Royal Blood o Twenty One Pilots, esos emotes se agregarán automáticamente a la lista de emotes disponibles.
En Servicio de guiones de servidor , crea un nuevo Script y renombralo Configurar emotes .
Pega el siguiente código en el nuevo script ConfigurarEmotes .La configuración useDefaultEmotes de false anula los emotes predeterminados y te permite definir emotes personalizados a través de la función setEmotes.
Script - Configurar emoteslocal 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 emoticonos
Un mega emote se forma cuando múltiples jugadores en la misma área realizan el mismo emote al mismo tiempo.A medida que más y más jugadores se unen, el mega emote se hace más grande.A medida que los jugadores dejan de realizar el emote, el mega emote se reduce hasta que finalmente desaparece.

Tiempo
El tiempo de un emote es la velocidad a la que se reproduce cuando su botón se toca una vez La velocidad predeterminada de un emote se determina por su defaultTempo .La velocidad de un emote se puede aumentar o disminuir al tocar su botón más rápido o más lento.
Referencia de API
Tipos
Emoticono
Cada emote se representa por un diccionario con los siguientes pares de clave-valor:
Clave | Tipo | Descripción |
---|---|---|
name | cadena | Nombre de emote, por ejemplo "Shrug" . |
animation | cadena | ID de activo para la animacionesdel emote. |
image | cadena | ID de activo para la imagen del emote en la Interfaz gráfica (o GUI). |
defaultTempo | número | Factor de velocidad predeterminado en el que jugar la animacionesde emote.Por ejemplo, un tempo de 2 reproducirá la animación a doble velocidad normal.Debe ser superior a 0. |
isLocked | bool | Si el emote está "bloqueado" de ser activado. |
Enumeraciones
EmoteBar.GuiTipo
Nombre | Resumen |
---|---|
EmoteBar | Formulario predeterminado donde se muestran los emotes en una barra alrededor de la parte inferior de la pantalla, separados en páginas individuales. |
EmoteWheel | Variante en la que los emotes se muestran en un anillo cuando un jugador hace clic o toca en su personaje de jugador. |
Guión local
local ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))EmoteBar.configureClient({guiType = EmoteBar.GuiType.EmoteWheel,})
Funciones
configurarServidor
configurarServidor(config: table )
Anula las opciones de configuración predeterminadas del lado del servidor a través de las siguientes claves/valores en la tabla config.Esta función solo se puede llamar desde un Script y las modificaciones se replicarán automáticamente a todos los clientes.
Clave | Descripción | Por defecto |
---|---|---|
useDefaultEmotes | Si los emotes predeterminados proporcionados se incluyen o no. | cierto |
useMegaEmotes | Habilita o deshabilita la función mega emotes. | cierto |
emoteMinPlayers | Número mínimo de jugadores que realizan el mismo emote para contribuir a un mega emote. | 3 |
emoteMaxPlayers | Número máximo de jugadores que realizan el mismo emote para contribuir a un mega emote. | 50 |
playParticles | Habilita o deshabilita los emotes que los jugadores están jugando como partículas flotantes sobre sus cabezas. | cierto |
sendContributingEmotes | Habilita o deshabilita el envío de un pequeño icono de emote para contribuir al mega emote. | cierto |
Guión
local ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))EmoteBar.configureServer({emoteMinPlayers = 2,playParticles = false,})
配置客户端 (configurar cliente)
configurarCliente(config: table )
Anula las opciones de configuración predeterminadas del lado del cliente a través de las siguientes claves/valores en la tabla config.Esta función solo se puede llamar desde un LocalScript .Dependiendo del valor de guiType, las opciones en las pestañas notadas también se aplican.
Clave | Descripción | Por defecto |
---|---|---|
guiType | Los controles que forman la interfaz gráfica tomarán para mostrar emotes (EmoteBar.GuiType). | Barra de emotes |
useTempo | Habilita o deshabilita la función de tiempo donde los usuarios pueden controlar la velocidad a la que se reproducen sus emotes al activar repetidamente el mismo ritmo de emote de forma rítmica. | cierto |
tempoActivationWindow | Cantidad de tiempo, en segundos, que el usuario tiene entre activaciones secuenciales de un emote para que cuente como parte del ritmo. | 3 |
lockedImage | Imagen para mostrar sobre los emotes bloqueados en la parte superior. | “rbxassetid://6905802778” |
LocalScript - Barra de emotes
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 - Rueda de emotes
local ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))EmoteBar.configureClient({guiType = EmoteBar.GuiType.EmoteWheel,})
establecerEmotes
setEmotes(emotes: table )
Establece los emotes personalizados para usar.Estos se agregarán a los predeterminados si useDefaultEmotes es true o reemplazarán los predeterminados si useDefaultEmotes es false .Esta función solo se puede llamar desde un Script y las modificaciones se replicarán automáticamente a todos los clientes.
Vea Emote para la estructura de cada emote pasado a esta función.
Script - Configurar emotes
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,},})
establecer visibilidad de la interfaz
setGuiVisibility(visible: boolean )
Muestra o oculta la interfaz de usuario de los emotes. Esta función solo se puede llamar desde un LocalScript en un cliente específico.
Guión local
local ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))EmoteBar.setGuiVisibility(false)
obtenerEmote
Obtiene un Emote por nombre.Devuelve nil si no se puede encontrar el emote.Esta función solo se puede llamar desde un LocalScript en un cliente específico.
Guión local
local ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))local shrug = EmoteBar.getEmote("Shrug")
jugarEmote
jugarEmote(emote: Emote )
Reproduce el Emote dado y dispara el evento emotePlayed en el servidor, si está conectado.Esta función solo se puede llamar desde un LocalScript en un cliente específico.
Guión local
local ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))local shrug = EmoteBar.getEmote("Shrug")EmoteBar.playEmote(shrug)
bloquearEmote
lockEmote(nombre de emote: string)
Bloquea el Emote con el nombre dado. Esta función solo se puede llamar desde un LocalScript en el cliente.
Guión local
local ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))EmoteBar.lockEmote("Applaud")
desbloquearEmote
desbloquearEmote(nombreEmote: string )
Desbloquea el Emote con el nombre dado. Esta función solo se puede llamar desde un LocalScript en el cliente.
Guión local
local ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))EmoteBar.unlockEmote("Applaud")
Eventos
emoticonoReproducido
Se activa cuando cualquier cliente reproduce un emote. Este evento solo se puede conectar en un LocalScript .
Guión local
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))
EmoteBar.emotePlayed:Connect(function(player, emote)
print(player.Name, "played", emote.name)
end)
emoteBloqueadoActivado
Se activa cuando un cliente hace clic en un emote bloqueado. Este evento solo se puede conectar en un LocalScript .
Parámetros | |
---|---|
emote: Emoticono | Emote bloqueado que se activó. |
Guión local
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)