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 emoteslocal 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.Humanoidlocal humanoidDescription = humanoid.HumanoidDescription-- Establecer emotes personalizados dentro de una tablalocal emoteTable = {["Hello"] = {3576686446},["Stadium"] = {3360686498},["Tilt"] = {3360692915},["Shrug"] = {3576968026},["Salute"] = {3360689775},["Point"] = {3576823880}}humanoidDescription:SetEmotes(emoteTable)-- Equipar emotes en un orden específicolocal 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.Humanoidhumanoid:PlayEmote("Shrug")