Emotes são um componente central de qualquer experiência social.O módulo EmoteBar visa fornecer aos jogadores uma maneira acessível e personalizável de facilitar a interação social significativa.
Uso do módulo
Instalação
Para usar o módulo EmoteBar em uma experiência:
Certifique-se de que a classificação Modelos está selecionada, então clique no botão Ver Todos para Categorias .
Localize e clique no tijolo Dev Modules .
Localize o módulo Barra de Emotes e clique nele, ou arraste-e-solte-o para a ver3D.
Na janela Explorer, mova todo o modelo Barra de Emoção para Serviço de Script de Servidor .Ao executar a experiência, o módulo se distribuirá a 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 seus próprios emotes e opções de exibição.Além disso, se o jogador possui 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 Serviço de Script de Servidor , crie um novo Script e renomeie-o Configurar Emotes .
Cole o seguinte código no novo script ConfigurarEmotes .A configuração useDefaultEmotes de false substitui os emotes padrão e permite que você defina emotes personalizados através da função setEmotes.
Script - Configurar Emoteslocal 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,},})
Emoções mega
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 cresce mais.À medida que os jogadores param de executar o emote, o mega emote diminui até que, finalmente, desaparece.

Tempo
O tempo de um emote é a velocidade em que ele toca quando seu botão é tocado uma vez .A velocidade padrão de um emote é determinada por seu defaultTempo.A velocidade de um emote pode ser aumentada ou diminuída ao tocar no botão mais rápido ou mais lento.
Referência da API
Tipos
Emoção
Cada emote é representado por um dicionário com os 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 recurso para a animaçõesdo emote. |
image | string / cadeia / texto | ID de recurso para a imagem do emote na Interface gráfica do usuário. |
defaultTempo | número | Fator de velocidade padrão em que tocar a animaçõesde emote.Por exemplo, um tempo de 2 tocará a animação em duas vezes sua velocidade normal.Deve ser maior que 0. |
isLocked | bool | Se o emote está "bloqueado" de ser ativado. |
Enumas
Tipo de EmoteBar.Gui
Qual o nome | Sumário |
---|---|
EmoteBar | Forma padrão em que emotes são exibidos em uma barra na parte inferior da tela, separados em páginas individuais. |
EmoteWheel | Variante em que emotes são exibidos em um anel quando um jogador clica ou toca no personagem do jogador. |
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))EmoteBar.configureClient({guiType = EmoteBar.GuiType.EmoteWheel,})
Funções
configurarServidor
configureServer(config: 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 automaticamente replicadas para todos os clientes.
Chave | Descrição | Padrão |
---|---|---|
useDefaultEmotes | Se os emotes padrão fornecidos estão incluídos ou não. | verdadeiro |
useMegaEmotes | Ativa ou desativa a funcionalidade mega emotes. | verdadeiro |
emoteMinPlayers | Número mínimo de jogadores executando o mesmo emote para contribuir para um mega emote. | 3 |
emoteMaxPlayers | Número máximo de jogadores executando o mesmo emote para contribuir para um mega emote. | 50 |
playParticles | Ativa ou desativa os emotes que os jogadores estão jogando como partículas flutuantes sobre suas cabeças. | verdadeiro |
sendContributingEmotes | Ativa ou desativa o envio de um pequeno ícone de emote para contribuir com o mega emote. | verdadeiro |
Script
local ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))EmoteBar.configureServer({emoteMinPlayers = 2,playParticles = false,})
configurarCliente
configureClient(config: table )
Substitui as opções de configuração padrã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 observadas também se aplicam.
Chave | Descrição | Padrão |
---|---|---|
guiType | Controles que formam a GUI tomarão para exibir emotes ( EmoteBar.GuiType ). | Barra de Emoção |
useTempo | Ativa ou desativa a funcionalidade de tempo onde os usuários podem controlar a velocidade com que seus emotes são tocados repetindo o mesmo emote ritmicamente. | verdadeiro |
tempoActivationWindow | Quantidade de tempo, em segundos, que o usuário tem entre ativações sequenciais de um emote para que ele seja contado como parte do tempo. | 3 |
lockedImage | Imagem para exibir em cima de emotes bloqueados. | “rbxassetid://6905802778” |
LocalScript - Barra de Emoção
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 Emoções
local ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))EmoteBar.configureClient({guiType = EmoteBar.GuiType.EmoteWheel,})
setarEmotes
setEmotes(emotes: table )
Define os emotes personalizados a usar.Estes serão adicionados aos padrões se useDefaultEmotes for true, ou substituir os padrões se useDefaultEmotes for false.Essa função só pode ser chamada a partir de um Script e as alterações serão automaticamente replicadas para todos os clientes.
Veja Emote para a estrutura de cada emote passado para esta função.
Script - Configurar Emotes
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,},})
definirGuiVisibilidade
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.
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))EmoteBar.setGuiVisibility(false)
pegarEmote
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.
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))local shrug = EmoteBar.getEmote("Shrug")
jogarEmote
playEmote(emote: Emoção )
Reproduz o emote dado Emote e dispara o evento emotePlayed no servidor, se conectado.Essa função só pode ser chamada de um LocalScript em um cliente específico.
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))local shrug = EmoteBar.getEmote("Shrug")EmoteBar.playEmote(shrug)
bloquearEmote
lockEmote(emoteName: string )
Bloqueia o Emote com o nome dado. Esta função só pode ser chamada de um LocalScript no cliente.
LocalScript
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. Esta função só pode ser chamada de um LocalScript no cliente.
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))EmoteBar.unlockEmote("Applaud")
Eventos
emoteJogado
Incêndios quando qualquer cliente toca um emote. Este evento só pode ser conectado em um LocalScript .
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))
EmoteBar.emotePlayed:Connect(function(player, emote)
print(player.Name, "played", emote.name)
end)
lockedEmoteAtivado
Incêndios quando um cliente clica em um emote bloqueado. Este evento só pode ser conectado em um LocalScript .
Parâmetros | |
---|---|
emote: Emoção | Emote bloqueado que foi ativado. |
LocalScript
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)