Los emotes son animaciones de personajes expresivas animations que se pueden acceder utilizando comandos de chat ("/e cheer") o accediendo al menú de emotes en la parte superior derecha de cualquier juego. Todos los usuarios tienen acceso a los emotes predeterminados, como dance, point, y cheer. Emotes adicionales para avatares se pueden comprar y equipar desde el Marketplace.
En tu juego, puedes realizar las siguientes personalizaciones de emotes:
- Abrir y cerrar el menú de emotes de un usuario programáticamente.
- Agregar o quitar opciones de emotes del menú de un usuario.
- Deshabilitar el acceso al menú.
- Reproducir un emote, apuntando a un personaje de usuario específico.
Menú de emotes
Puedes abrir y cerrar manualmente el menú de emotes de un usuario, personalizar el menú para mostrar emotes específicos o deshabilitar el menú por completo.
Abrir y cerrar
Para abrir o cerrar manualmente el menú de emotes de un jugador, llama a GuiService:SetEmotesMenuOpen() con un valor booleano de verdadero o falso.
El siguiente ejemplo de código abrirá el menú de emotes para el usuario:
-- Abrir el menú de emotes
local GuiService = game:GetService("GuiService")
GuiService:SetEmotesMenuOpen(true)Si necesitas detectar si el menú de emotes está abierto, llama a GuiService:GetEmotesMenuOpen(). Esto devuelve un valor booleano que indica el estado actual del menú.
Agregar y quitar emotes
Personaliza el menú de emotes estableciendo emotes del catálogo y luego equipando emotes a un Humanoid. Establece emotes con el método HumanoidDescription:SetEmotes() y equipa hasta 8 emotes en el menú de emotes utilizando HumanoidDescription:SetEquippedEmotes().
Utiliza el siguiente ejemplo de código en un LocalScript dentro de la carpeta StarterCharacterScripts para establecer y equipar emotes en tu juego:
local Players = game:GetService("Players")
local humanoid = Players.LocalPlayer.Character.Humanoid
local humanoidDescription = humanoid.HumanoidDescription
-- Establecer emotes personalizados dentro de una tabla
local emoteTable = {
["Hello"] = {3576686446},
["Stadium"] = {3360686498},
["Tilt"] = {3360692915},
["Shrug"] = {3576968026},
["Salute"] = {3360689775},
["Point"] = {3576823880}
}
humanoidDescription:SetEmotes(emoteTable)
-- Equipar emotes en un orden específico
local equippedEmotes = {"Hello", "Stadium", "Tilt", "Shrug", "Salute", "Point"}
humanoidDescription:SetEquippedEmotes(equippedEmotes)Deshabilitar
Deshabilita el menú de emotes con StarterGui:SetCoreGuiEnabled(). Deshabilitar el menú de emotes no evitará que los emotes se realicen con un comando de chat.
El siguiente ejemplo de código deshabilitará el menú de emotes:
local StarterGui = game:GetService("StarterGui")
StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.EmotesMenu, false)Además de deshabilitar el menú, puedes deshabilitar la carga de emotes propiedad del usuario estableciendo la propiedad StarterPlayer.UserEmotesEnabled dentro de StarterPlayer ⟩ Character a false. Esta propiedad específica solo se puede establecer en Studio y no puede ser modificada por scripts.
Reproducir emotes
Para reproducir manualmente un emote que un personaje tenga en su HumanoidDescription, llama a Humanoid:PlayEmote(), pasando el nombre en cadena del emote. Esta llamada devolverá verdadero para indicar que el emote se reprodujo con éxito, o falso en caso contrario.
Utiliza el siguiente ejemplo de código para reproducir el emote Shrug:
local Players = game:GetService("Players")
local humanoid = Players.LocalPlayer.Character.Humanoid
humanoid:PlayEmote("Shrug")