Emotes são um componente central de qualquer experiência social. O EmoteBarmódulo de desenvolvedores visa fornecer aos jogadores uma maneira acessível, personalizável de facilitar a interação social significativa.
Uso de Módulo
Instalação
Para usar o módulo EmoteBar em uma experiência:
Na aba Ver, abra a caixa de ferramentas e selecione a aba Loja do Criador.
Certifique-se de que a classificação Modelos foi selecionada, então clique no botão Ver Todos para Categorias .
Localize e clique no mosaico Modulos de Desenvolvedor .
Localize o módulo Barra de Emote e clique nele, ou arraste e solte na janela de ver3D.
Na janela Explorer, mova o modelo completo de EmoteBar para ServerScriptService . Ao executar a experiência, o módulo será distribuído para vários serviços e começará a funcionar.
Configuração
O módulo é pré-Configurado com 7 emotes e pode ser facilmente personalizado com os seus próprios emotes e opções de exibição. Além disso, se o jogador possuir quaisquer emotes de eventos anteriores do Roblox, como Lil Nas X, Royal Blood ou Twenty One Pilots, esses emotes serão automaticamente adicionados à lista de emotes disponíveis.
Em ServerScriptService , crie um novo Script e renomeie-o ConfigureEmotes .
Paste o seguinte código no novo ConfigureEmotes script. A configuração useDefaultEmotes de false substitui os emotes padrão e permite que você defina emotes personalizados via a função 1> setEmotes1>.
Script - ConfigureEmoteslocal ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))EmoteBar.configureServer({useDefaultEmotes = false,})EmoteBar.setEmotes({{name = "Hello",animation = "rbxassetid://3344650532",image = "rbxassetid://7719817462",defaultTempo = 1,},{name = "Applaud",animation = "rbxassetid://5915693819",image = "rbxassetid://7720292217",defaultTempo = 2,},})
Mega Emotes
Um mega emote é formado quando vários jogadores na mesma área executam o mesmo emote ao mesmo tempo. À medida que mais e mais jogadores se juntam, o mega emote fica maior. À medida que os jogadores parar de executar o emote, o mega emote fica menor até que finalmente desapareça.

Tempo
O tempo de um emote é a velocidade em que ele toca quando seu botão é pressionado uma vez. A velocidade padrão de um emote é determinada por seu newTempo. A velocidade de um emote 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 emote é representado por um dicionário com as seguintes pares de chave-valor:
Chave | Tipo | Descrição |
---|---|---|
name | string / cadeia / texto | Nome do emote, por exemplo "Shrug". |
animation | string / cadeia / texto | ID de ativo para a animaçõesdo emote. |
image | string / cadeia / texto | ID de ativo para a imagem do emote na Interface gráfica do usuário. |
defaultTempo | número | Fator de velocidade padrão no qual a animaçõesde emote será exibida. Por exemplo, um tempo de 2 segundos fará a animação exibir em duas vezes sua velocidade normal. Deve ser maior que 0. |
isLocked | booleano | Se o emote estiver "trancado" de ser ativado. |
Enums
EmoteBar.GuiTipo
Nome | Visão Geral |
---|---|
EmoteBar | Formulário padrão onde os emotes são exibidos em uma barra na parte inferior da tela, separados em "páginas" individuais. |
EmoteWheel | Variante onde os emotes são exibidos em um anel quando um jogador clica ou toca no personagem deles. |
Script Local
local ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))EmoteBar.configureClient({guiType = EmoteBar.GuiType.EmoteWheel,})
Funções
Configurar o Servidor
Configurar o Servidor (Configurar: table )
Substitui as opções de configuração padrão do lado do servidor através das seguintes chaves/valores na tabela config. Essa função só pode ser chamada a partir de um Script e as alterações serão replicadas automaticamente para todos os clientes.
Chave | Descrição | Padrão |
---|---|---|
useDefaultEmotes | Se os emotes padrão fornecidos estão incluídos ou não. | verdade |
useMegaEmotes | Habilita ou desabilita a funcionalidademega emotes. | verdade |
emoteMinPlayers | Número mínimo de jogadores executando o mesmo emote para contribuir para um emote mega. | 3 |
emoteMaxPlayers | Número máximo de jogadores executando o mesmo emote para contribuir para um emote mega. | 50 |
playParticles | Ativa ou desativa os emotes que os jogadores estão jogando como partículas flutuantes acima de suas cabeças. | verdade |
sendContributingEmotes | Ativa ou desativa o envio de um pequeno ícone de emote para contribuir para o mega emote. | verdade |
Script
local ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))EmoteBar.configureServer({emoteMinPlayers = 2,playParticles = false,})
ConfigurarCliente
ConfigurarCliente(config: table )
Substitui as opções de configuração do lado do cliente através das seguintes chaves/valores na tabela config. Essa função só pode ser chamada a partir de um LocalScript . Dependendo do valor de guiType, as opções nas abas notadas também se aplicam.
Chave | Descrição | Padrão |
---|---|---|
guiType | Controles que formam a GUI levará para exibir emotes (EmoteBar.GuiType). | EmoteBar |
useTempo | Habilita ou desabilita a função tempo onde os usuários podem controlar a rapidez ou velocidade de seus emotes repetivamente ativando o mesmo ritmo de emote. | verdade |
tempoActivationWindow | Quantidade de tempo, em segundos, que o usuário tem entre as ativações sequenciais de um emote para que ele contem como parte do tempo. | 3 |
lockedImage | Imagem para exibir emotes bloqueados sobre a cabeça. | “rbxassetid://6905802778” |
LocalScript - Barra de Emote
local ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))EmoteBar.configureClient({guiType = EmoteBar.GuiType.EmoteBar,maxEmotesPerPage = 6,nextPageKey = Enum.KeyCode.Z,prevPageKey = Enum.KeyCode.C,})
LocalScript - Roda de Emote
local ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))EmoteBar.configureClient({guiType = EmoteBar.GuiType.EmoteWheel,})
setEmotes
setEmotes(emotes: table )
Define os emotes personalizados para usar. Esses serão adicionados aos padrões se useDefaultEmotes for adicionado aos padrões se true for adicionado aos padrões se useDefaultEmotes for adicionado aos padrões se 1> useDefaultEmotes1> for adicionado aos padrões se 4> useDefault
Veja Emote para a estrutura de cada emote passado para esta função.
Script - ConfigureEmotes
local ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))EmoteBar.configureServer({useDefaultEmotes = false,})EmoteBar.setEmotes({{name = "Hello",animation = "rbxassetid://3344650532",image = "rbxassetid://7719817462",defaultTempo = 1,},{name = "Applaud",animation = "rbxassetid://5915693819",image = "rbxassetid://7720292217",defaultTempo = 2,},})
setGuiVisibilidade
setGuiVisibility(visível: boolean )
Mostra ou oculta a Interface gráfica do usuáriode emotes. Essa função só pode ser chamada de um LocalScript em um cliente específico.
Script Local
local ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))EmoteBar.setGuiVisibility(false)
obterEmote
Obtém um Emote por nome. Retorna nil se o emote não puder ser encontrado. Essa função só pode ser chamada de um LocalScript em um cliente específico.
Script Local
local ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))local shrug = EmoteBar.getEmote("Shrug")
emote de jogo
playEmote(emote: Emote )
Joga o Emote dado e dispara o emotePlayed evento no servidor, se conectado. Essa função só pode ser chamada de um LocalScript em um cliente específico.
Script Local
local ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))local shrug = EmoteBar.getEmote("Shrug")EmoteBar.playEmote(shrug)
lockEmote
lockEmote(emoteName: string )
Bloqueia o Emote com o nome dado. Essa função só pode ser chamada de um LocalScript no cliente.
Script Local
local ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))EmoteBar.lockEmote("Applaud")
desbloquearEmote
desbloquearEmote(emoteName: string )
Desbloqueia o Emote com o nome dado. Essa função só pode ser chamada de um LocalScript no cliente.
Script Local
local ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))EmoteBar.unlockEmote("Applaud")
Eventos
emoteJogado
O evento ocorre quando qualquer cliente executa um emote. Este evento só pode ser conectado em um LocalScript .
Script Local
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))
EmoteBar.emotePlayed:Connect(function(player, emote)
print(player.Name, "played", emote.name)
end)
emote bloqueadoAtivado
O evento ocorre quando um cliente clica em um emote bloqueado. Este evento só pode ser conectado em um LocalScript .
Parâmetros | |
---|---|
emote: Emote | Emote bloqueado que foi ativado. |
Script Local
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Players = game:GetService("Players")
local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))
EmoteBar.lockedEmoteActivated:Connect(function(emote)
print(Players.LocalPlayer, "clicked", emote.name)
end)