Barra de Emoções

*Este conteúdo é traduzido por IA (Beta) e pode conter erros. Para ver a página em inglês, clique aqui.

Emoções são um componente essencial de qualquer experiência social. O EmoteBar módulo para desenvolvedores tem como objetivo fornecer aos jogadores uma maneira acessível e personalizável de facilitar interações sociais significativas.

Uso do módulo

Instalação

Para usar o módulo EmoteBar em uma experiência:

  1. No menu Janela do Studio ou na barra de ferramentas do guia Início, abra o Caixa de Ferramentas e selecione a guia Loja do Criador.

  2. Certifique-se de que a ordenação Modelos está selecionada e clique no botão Ver Todos para Categorias.

  3. Localize e clique no tile Pacotes.

  4. Encontre o módulo Emote Bar e clique nele, ou arraste e solte-o na visualização 3D.

  5. Na janela Explorer, mova o modelo inteiro EmoteBar para ReplicatedStorage. Ao executar a experiência, o módulo começará a rodar.

Configuração

O módulo vem pré-configurado com 7 emoções e pode ser facilmente personalizado com suas próprias emoções e opções de exibição. Além disso, se o jogador possuir quaisquer emoções de eventos anteriores do Roblox, como Lil Nas X, Royal Blood ou Twenty One Pilots, essas emoções serão automaticamente adicionadas à lista de emoções disponíveis.

  1. No ServerScriptService, crie um novo Script e renomeie-o para ConfigurarEmotes.

  2. Cole o seguinte código no novo script ConfigurarEmotes. A configuração useDefaultEmotes de false substitui as emoções padrão e permite que você defina emoções personalizadas através da função setEmotes.

    Script - ConfigurarEmotes

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

Emoções mega

Uma emoção mega é formada quando múltiplos jogadores na mesma área realizam a mesma emoção ao mesmo tempo. À medida que mais jogadores se juntam, a emoção mega cresce. Quando os jogadores param de realizar a emoção, a emoção mega diminui até eventualmente desaparecer.

Tempo

O tempo de uma emoção é a velocidade com que ela é executada quando seu botão é pressionado uma vez. A velocidade padrão de uma emoção é determinada pelo seu defaultTempo. A velocidade de uma emoção pode ser aumentada ou diminuída ao pressionar seu botão mais rápido ou mais devagar.

Referência da API

Tipos

Emoção

Cada emoção é representada por um dicionário com os seguintes pares chave-valor:

ChaveTipoDescrição
namestringNome da emoção, por exemplo, "Shrug".
animationstringID do ativo para a animação da emoção.
imagestringID do ativo para a imagem da emoção na interface.
defaultTemponumberFator de velocidade padrão para reproduzir a animação da emoção. Por exemplo, um tempo de 2 fará a animação ser executada duas vezes mais rápido que a normal. Deve ser maior que 0.
isLockedboolSe a emoção está "bloqueada" de ser ativada.

Enums

EmoteBar.GuiType

NomeResumo
EmoteBarForma padrão onde as emoções são exibidas em uma barra na parte inferior da tela, separadas em "páginas" individuais.
EmoteWheelVariante onde as emoções são exibidas em um anel quando um jogador clica ou toca em seu personagem.
LocalScript

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

Funções

configureServer

configureServer(config: table)

Substitui as opções de configuração do lado do servidor padrão através das seguintes chaves/valores na tabela config. Esta função só pode ser chamada a partir de um Script e as mudanças serão automaticamente replicadas para todos os clientes.

ChaveDescriçãoPadrão
useDefaultEmotesSe as emoções padrão fornecidas estão incluídas ou não.true
useMegaEmotesAtiva ou desativa o recurso de emoções mega.true
emoteMinPlayersNúmero mínimo de jogadores realizando a mesma emoção para contribuir para uma emoção mega.3
emoteMaxPlayersNúmero máximo de jogadores realizando a mesma emoção para contribuir para uma emoção mega.50
playParticlesAtiva ou desativa as emoções que os jogadores estão realizando como partículas flutuantes acima de suas cabeças.true
sendContributingEmotesAtiva ou desativa o envio de um pequeno ícone de emoção para contribuir para a emoção mega.true
Script

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

configureClient

configureClient(config: table)

Substitui as opções de configuração do lado do cliente padrão através das seguintes chaves/valores na tabela config. Esta função só pode ser chamada a partir de um LocalScript. Dependendo do valor de guiType, opções nas guias mencionadas também se aplicam.

ChaveDescriçãoPadrão
guiTypeControla qual forma a interface tomará para exibir as emoções (EmoteBar.GuiType).EmoteBar
useTempoAtiva ou desativa o recurso de tempo onde os usuários podem controlar quão rápido ou devagar suas emoções são tocadas ao ativar repetidamente a mesma emoção ritmicamente.true
tempoActivationWindowQuantidade de tempo, em segundos, que o usuário tem entre ativações sequenciais de uma emoção para contar como parte do tempo.3
lockedImageImagem a ser exibida sobre emoções bloqueadas."rbxassetid://6905802778"
LocalScript - Barra de Emoções

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 - Roda de Emoções

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

setEmotes

setEmotes(emotes: table)

Define as emoções personalizadas a serem usadas. Estas serão adicionadas aos padrões se useDefaultEmotes for true, ou substituirão os padrões se useDefaultEmotes for false. Esta função só pode ser chamada a partir de um Script e as mudanças serão automaticamente replicadas para todos os clientes.

Veja Emote para a estrutura de cada emoção passada para esta função.

Script - ConfigurarEmotes

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

setGuiVisibility

setGuiVisibility(visible: boolean)

Mostra ou oculta a interface de emoções. Esta função só pode ser chamada a partir de um LocalScript em um cliente específico.

LocalScript

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

getEmote

getEmote(emoteName: string): table

Obtém uma Emote pelo nome. Retorna nil se a emoção não puder ser encontrada. Esta função só pode ser chamada a partir de um LocalScript em um cliente específico.

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local EmoteBar = require(ReplicatedStorage.EmoteBar)
local shrug = EmoteBar.getEmote("Shrug")

playEmote

playEmote(emote: Emote)

Reproduz a Emote dada e dispara o evento emotePlayed no servidor, se conectado. Esta função só pode ser chamada a partir de um LocalScript em um cliente específico.

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local EmoteBar = require(ReplicatedStorage.EmoteBar)
local shrug = EmoteBar.getEmote("Shrug")
EmoteBar.playEmote(shrug)

lockEmote

lockEmote(emoteName: string)

Bloqueia a Emote com o nome dado. Esta função só pode ser chamada a partir de um LocalScript no cliente.

LocalScript

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

unlockEmote

unlockEmote(emoteName: string)

Desbloqueia a Emote com o nome dado. Esta função só pode ser chamada a partir de um LocalScript no cliente.

LocalScript

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

Eventos

emotePlayed

Dispara quando qualquer cliente toca uma emoção. Este evento só pode ser conectado em um LocalScript.

Parâmetros
player: PlayerJogador que ativou a emoção.
emote: EmoteEmoção que foi tocada.
LocalScript

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

lockedEmoteActivated

Dispara quando um cliente clica em uma emoção bloqueada. Este evento só pode ser conectado em um LocalScript.

Parâmetros
emote: EmoteEmoção bloqueada que foi ativada.
LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Players = game:GetService("Players")
local EmoteBar = require(ReplicatedStorage.EmoteBar)
EmoteBar.lockedEmoteActivated:Connect(function(emote)
print(Players.LocalPlayer, "clicou", emote.name)
end)
©2026 Roblox Corporation, Roblox, o logotipo Roblox e Powering Imagination estão entre nossas marcas registradas e não registradas nos EUA e em outros países.