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
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
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
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
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
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
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
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)