Barra de Emotes

*Este contenido se traduce usando la IA (Beta) y puede contener errores. Para ver esta página en inglés, haz clic en aquí.

Los emotes son un componente esencial de cualquier experiencia social. El módulo EmoteBar desarrollador tiene como objetivo proporcionar a los jugadores una forma accesible y personalizable de facilitar una interacción social significativa.

Uso del módulo

Instalación

Para usar el módulo EmoteBar en una experiencia:

  1. Desde el menú Ventana de Studio o la barra de herramientas de la pestaña Inicio, abre el Caja de Herramientas y selecciona la pestaña Tienda de Creadores.

  2. Asegúrate de que la clasificación Modelos esté seleccionada, luego haz clic en el botón Ver Todos para Categorías.

  3. Localiza y haz clic en el mosaico Paquetes.

  4. Localiza el módulo Emote Bar y haz clic en él, o arrástralo y suéltalo en la vista 3D.

  5. En la ventana Explorador, mueve todo el modelo EmoteBar a ReplicatedStorage. Al ejecutar la experiencia, el módulo comenzará a ejecutarse.

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

  1. En ServerScriptService, crea un nuevo Script y renómbralo como ConfigureEmotes.

  2. Pega el siguiente código en el nuevo script ConfigureEmotes. 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 - ConfigureEmotes

    local ReplicatedStorage = game:GetService("ReplicatedStorage")
    local EmoteBar = require(ReplicatedStorage.EmoteBar)
    EmoteBar.configureServer({
    useDefaultEmotes = false,
    })
    EmoteBar.setEmotes({
    {
    name = "Hola",
    animation = "rbxassetid://3344650532",
    image = "rbxassetid://7719817462",
    defaultTempo = 1,
    },
    {
    name = "Aplausos",
    animation = "rbxassetid://5915693819",
    image = "rbxassetid://7720292217",
    defaultTempo = 2,
    },
    })

Mega emotes

Un mega emote se forma cuando varios jugadores en la misma área realizan el mismo emote al mismo tiempo. A medida que más jugadores se unen, el mega emote crece más grande. Cuando los jugadores dejan de realizar el emote, el mega emote se vuelve más pequeño hasta que eventualmente desaparece.

Tempo

El tempo de un emote es la velocidad a la que se reproduce cuando se toca su botón una vez. La velocidad predeterminada de un emote se determina por su defaultTempo. La velocidad de un emote puede aumentar o disminuir tocando su botón más rápido o más lento.

Referencia de la API

Tipos

Emote

Cada emote está representado por un diccionario con los siguientes pares clave-valor:

ClaveTipoDescripción
namestringNombre del emote, por ejemplo, "Encogerse de Hombros".
animationstringID de activo para la animación del emote.
imagestringID de activo para la imagen del emote en la GUI.
defaultTemponumberFactor de velocidad predeterminado para reproducir la animación del emote. Por ejemplo, un tempo de 2 reproducirá la animación a el doble de su velocidad normal. Debe ser mayor que 0.
isLockedboolSi el emote está "bloqueado" para ser activado.

Enums

EmoteBar.GuiType

NombreResumen
EmoteBarForma predeterminada donde los emotes se muestran en una barra en la parte inferior de la pantalla, separados en "páginas" individuales.
EmoteWheelVariante donde los emotes se muestran en un anillo cuando un jugador hace clic o toca su personaje.
LocalScript

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

Funciones

configureServer

configureServer(config: table)

Anula las opciones de configuración predeterminadas 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 los cambios se replicarán automáticamente a todos los clientes.

ClaveDescripciónPredeterminado
useDefaultEmotesSi se incluyen o no los emotes predeterminados proporcionados.true
useMegaEmotesHabilita o deshabilita la función de mega emotes.true
emoteMinPlayersNúmero mínimo de jugadores realizando el mismo emote para contribuir a un mega emote.3
emoteMaxPlayersNúmero máximo de jugadores realizando el mismo emote para contribuir a un mega emote.50
playParticlesHabilita o deshabilita los emotes que los jugadores realizan como partículas flotantes sobre sus cabezas.true
sendContributingEmotesHabilita o deshabilita el envío de un pequeño icono de emote para contribuir al mega emote.true
Script

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

configureClient

configureClient(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 mencionadas también se aplican.

ClaveDescripciónPredeterminado
guiTypeControla qué forma tomará la GUI para mostrar los emotes (EmoteBar.GuiType).EmoteBar
useTempoHabilita o deshabilita la función de tempo donde los usuarios pueden controlar qué tan rápido o lento se reproducen sus emotes activando repetidamente el mismo emote rítmicamente.true
tempoActivationWindowCantidad de tiempo, en segundos, que el usuario tiene entre activaciones secuenciales de un emote para que cuente como parte del tempo.3
lockedImageImagen para mostrar sobre emotes bloqueados."rbxassetid://6905802778"
LocalScript - Barra de Emotes

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 - Rueda de Emotes

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

setEmotes

setEmotes(emotes: table)

Establece los emotes personalizados a 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 los cambios se replicarán automáticamente a todos los clientes.

Consulta Emote para la estructura de cada emote pasado a esta función.

Script - ConfigureEmotes

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local EmoteBar = require(ReplicatedStorage.EmoteBar)
EmoteBar.configureServer({
useDefaultEmotes = false,
})
EmoteBar.setEmotes({
{
name = "Hola",
animation = "rbxassetid://3344650532",
image = "rbxassetid://7719817462",
defaultTempo = 1,
},
{
name = "Aplausos",
animation = "rbxassetid://5915693819",
image = "rbxassetid://7720292217",
defaultTempo = 2,
},
})

setGuiVisibility

setGuiVisibility(visible: boolean)

Muestra u oculta la GUI de emotes. Esta función solo se puede llamar desde un LocalScript en un cliente específico.

LocalScript

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

getEmote

getEmote(emoteName: string): table

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.

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local EmoteBar = require(ReplicatedStorage.EmoteBar)
local shrug = EmoteBar.getEmote("Encogerse de Hombros")

playEmote

playEmote(emote: Emote)

Reproduce el Emote dado y activa el evento emotePlayed en el servidor, si está conectado. Esta función solo se puede llamar desde un LocalScript en un cliente específico.

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local EmoteBar = require(ReplicatedStorage.EmoteBar)
local shrug = EmoteBar.getEmote("Encogerse de Hombros")
EmoteBar.playEmote(shrug)

lockEmote

lockEmote(emoteName: string)

Bloquea el Emote con el nombre dado. Esta función solo se puede llamar desde un LocalScript en el cliente.

LocalScript

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

unlockEmote

unlockEmote(emoteName: string)

Desbloquea el Emote con el nombre dado. Esta función solo se puede llamar desde un LocalScript en el cliente.

LocalScript

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

Eventos

emotePlayed

Se activa cuando cualquier cliente reproduce un emote. Este evento solo se puede conectar en un LocalScript.

Parámetros
player: PlayerJugador que representó el emote.
emote: EmoteEmote que fue reproducido.
LocalScript

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

lockedEmoteActivated

Se activa cuando un cliente hace clic en un emote bloqueado. Este evento solo se puede conectar en un LocalScript.

Parámetros
emote: EmoteEmote bloqueado que fue activado.
LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Players = game:GetService("Players")
local EmoteBar = require(ReplicatedStorage.EmoteBar)
EmoteBar.lockedEmoteActivated:Connect(function(emote)
print(Players.LocalPlayer, "hizo clic en", emote.name)
end)
©2026 Roblox Corporation. Roblox, el logotipo de Roblox y "Powering Imagination" son algunas de nuestras marcas registradas y no registradas en los Estados Unidos y otros países.