Emoções são animações de personagem expressivas animações que são acessíveis usando comandos de chat ("/e cheer") ou acessando o menu de emoções no canto superior direito de qualquer jogo. Todos os usuários têm acesso às emoções padrão, como dançar, apontar e torcer. Emoções adicionais para o avatar podem ser compradas e equipadas no Marketplace.
No seu jogo, você pode realizar as seguintes personalizações de emoções:
- Abrir e fechar o menu de emoções de um usuário programaticamente.
- Adicionar ou remover opções de emoções do menu de um usuário.
- Desativar o acesso ao menu.
- Tocar uma emoção, direcionando a um personagem de usuário específico.
Menu de Emoções
Você pode abrir e fechar o menu de emoções de um usuário manualmente, personalizar o menu para exibir emoções específicas ou desativar completamente o menu.
Abrir e fechar
Para abrir ou fechar manualmente o menu de emoções de um jogador, chame GuiService:SetEmotesMenuOpen() com um valor booleano de verdadeiro ou falso.
O seguinte exemplo de código abrirá o menu de emoções para o usuário:
-- Abrir o Menu de Emoçõeslocal GuiService = game:GetService("GuiService")GuiService:SetEmotesMenuOpen(true)
Se você precisar detectar se o menu de emoções está aberto, chame GuiService:GetEmotesMenuOpen(). Isso retornará um booleano indicando o estado atual do menu.
Adicionar e remover emoções
Personalize o menu de emoções definindo emoções a partir do catálogo e, em seguida, equipando emoções a um Humanoid. Defina emoções com o método HumanoidDescription:SetEmotes() e equipe até 8 emoções no menu de emoções usando HumanoidDescription:SetEquippedEmotes().
Use o seguinte exemplo de código em um LocalScript dentro da pasta StarterCharacterScripts para definir e equipar emoções em seu jogo:
local Players = game:GetService("Players")local humanoid = Players.LocalPlayer.Character.Humanoidlocal humanoidDescription = humanoid.HumanoidDescription-- Definir emoções personalizadas dentro de uma tabelalocal emoteTable = {["Olá"] = {3576686446},["Estádio"] = {3360686498},["Inclinar"] = {3360692915},["Dar de ombros"] = {3576968026},["Saudar"] = {3360689775},["Apontar"] = {3576823880}}humanoidDescription:SetEmotes(emoteTable)-- Equipar emoções em uma ordem específicalocal equippedEmotes = {"Olá", "Estádio", "Inclinar", "Dar de ombros", "Saudar", "Apontar"}humanoidDescription:SetEquippedEmotes(equippedEmotes)
Desativar
Desative o menu de emoções com StarterGui:SetCoreGuiEnabled(). Desativar o menu de emoções não impedirá que as emoções sejam executadas com um comando de chat.
O seguinte exemplo de código desativará o menu de emoções:
local StarterGui = game:GetService("StarterGui")StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.EmotesMenu, false)
Além de desativar o menu, você pode desativar o carregamento de emoções pertencentes ao usuário configurando a propriedade StarterPlayer.UserEmotesEnabled dentro de StarterPlayer ⟩ Character para false. Essa propriedade específica só pode ser configurada no Studio e não pode ser definida por scripts.
Tocar emoções
Para tocar manualmente uma emoção que um personagem tem em sua HumanoidDescription, chame Humanoid:PlayEmote(), passando o nome da emoção como string. Essa chamada retornará verdadeiro para indicar que a emoção foi tocada com sucesso, ou falso caso contrário.
Use o seguinte exemplo de código para tocar a emoção Dar de ombros:
local Players = game:GetService("Players")local humanoid = Players.LocalPlayer.Character.Humanoidhumanoid:PlayEmote("Dar de ombros")