Los emotes son un componente clave de cualquier experiencia social. El EmoteBar módulo de desarrolladores apunta a proporcionar a los jugadores una forma accesible y personalizable de facilitar una interacción social significativa.
Uso de módulos
Instalación
Para usar el módulo EmoteBar en una experiencia:
De la pestaña Ver, abra la Caja de herramientas y seleccione la pestaña Tienda del Creador .
Asegúrese de que se seleccione el Modelos clasificación y luego haga clic en el botón Ver Todo para Categorías .
Ubique y haga clic en el mosaico de Modulos de Dev .
Ubique el módulo Barra de emotes y haga clic en él, o arrástralo y suéltalo en la vista 3D.
En la ventana Explorer, mueva el modelo entero de EmoteBar a ServerScriptService . Al ejecutar la experiencia, el módulo se distribuirá a varios servicios y comenzará a funcionar.
Configuración
El módulo está predefinido con 7 emotes y se puede personalizar fácilmente con tus propios emotes y opciones de pantalla. Además, si el jugador posee cualquier emote de los eventos anteriores de Roblox, como Lil Nas X, Royal Blood o Twenty One Pilots, esos emotes se agregarán automáticamente a la lista de emotes disponibles.
En ServerScriptService , crea un nuevo Script y renombralo Configurar emotes .
Pega el siguiente código en el nuevo ConfigureEmotes script. La configuración predeterminada de useDefaultEmotes sobreescriba los emotes predeterminados y te permite definir emotes personalizados a través de la función false.
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,},})
Mega emotes
Un mega emote se forma cuando varios jugadores en la misma área realizan el mismo emote al mismo tiempo. A medida que más y más jugadores se unen, el mega emote se hace más grande. A medida que los jugadores dejan de realizar el emote, el mega emote se hace más pequeño hasta que eventualmente desaparezca.
Tiempo
El tiempo de un emote es la velocidad en la que se reproroduce cuando se toca su botón una vez. La velocidad predeterminada de un emote se determina por su numberTempo . La velocidad de un emote se puede aumentar o disminuir haciendo clic más rápido o más lento en su botón.
Referencia de API
Tipos
Emote
Cada emote se representa por un diccionario con los siguientes pares de claves:
Clave | Tipo | Descripción |
---|---|---|
name | cadena | Nombre de emote, por ejemplo "Shrug" . |
animation | cadena | ID de la propiedad para la animacionesdel emote. |
image | cadena | ID de la imagen del emote en la Interfaz gráfica (o GUI). |
defaultTempo | número | Parámetro de velocidad predeterminado en el que se reproducirá la animacionesde emote. Por ejemplo, un tiempo de 2 jugará la animación a la velocidad normal. Debe ser mayor que 0. |
isLocked | booleano | Si el emote está "bloqueado" de ser activado. |
Incrementos
EmoteBar.GuiTipo
Nombre | Resumen |
---|---|
EmoteBar | Formulario por defecto en el que se muestran los emotes en una barra en la parte inferior de la pantalla, separados en páginas individuales. |
EmoteWheel | 变iante donde se muestran los emotes en un anillo cuando un jugador hace clic o toca su personaje de jugador. |
Script local
local ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))EmoteBar.configureClient({guiType = EmoteBar.GuiType.EmoteWheel,})
Funciones
Configurar servidor
Anula las opciones de configuración del lado del servidor predeterminadas a través de las siguientes llaves/valores en la tabla config. Esta función solo se puede llamar desde un Script y se replicará automáticamente a todos los clientes.
Clave | Descripción | Por defecto |
---|---|---|
useDefaultEmotes | Si se incluyen o no los emotes predeterminados proporcionados. | cierto |
useMegaEmotes | Activa o desactiva la función mega emotes | cierto |
emoteMinPlayers | Número mínimo de jugadores que realicen el mismo emote para contribuir a un mega emote. | 3 |
emoteMaxPlayers | Número máximo de jugadores que realicen el mismo emote para contribuir a un mega emote. | 50 |
playParticles | Activa o desactiva los emotes que los jugadores están jugando como partículas flotantes por encima de sus cabezas. | cierto |
sendContributingEmotes | Activa o desactiva el envío de un pequeño icono de emote para contribuir al mega emote. | cierto |
Script
local ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))EmoteBar.configureServer({emoteMinPlayers = 2,playParticles = false,})
Configurar cliente
Anula las opciones de configuración del lado del cliente por defecto a través de las siguientes llaves/valores en la tabla config. Esta función solo se puede llamar desde un LocalScript . Dependiendo del valor de guiType, las opciones de las pestañas notadas también se aplican.
Clave | Descripción | Por defecto |
---|---|---|
guiType | Los controles que forman parte de la GUI tomarán para mostrar emotes ( EmoteBar.GuiType ). | EmoteBar. |
useTempo | Activa o desactiva la función de tiempo donde los usuarios pueden controlar la rapidez o velocidad de reproducción de sus emotes al activar repetidamente el mismo ritmo de emote. | cierto |
tempoActivationWindow | Cantidad de tiempo, en segundos, que el usuario tiene entre activaciones secuenciales de un emote para que se cuente como parte del tiempo. | 3 |
lockedImage | Imagen para mostrar emotes bloqueados sobre la parte superior del pantalla. | ""rboxassetid://6905802778" |
LocalScript - Barra de emotes
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 - Rueda de emote
local ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))EmoteBar.configureClient({guiType = EmoteBar.GuiType.EmoteWheel,})
Establecer emotes
Establece los emotes personalizados que usar. Estos se agregarán a los valores predeterminados si useDefaultEmotes es true , o reemplaza los valores predeterminados si useDefaultEmotes es 1> force1> . Esta función solo se puede llamar desde un 4> Class.Script4> y las cambiarán
Vea Emote para la estructura de cada emote pasado a esta función.
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,},})
Establecer la visibilidad de Gui
Muestra u oculta la Interfaz gráfica (o GUI)de emotes. Esta función solo se puede llamar desde un LocalScript en un cliente específico.
Script local
local ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))EmoteBar.setGuiVisibility(false)
obtener emote
Obtiene un Emote por nombre. Re返 nil si no se puede encontrar el emote. Esta función solo se puede llamar desde un LocalScript en un cliente específico.
Script local
local ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))local shrug = EmoteBar.getEmote("Shrug")
jugarEmote
Reproduce el Emote dado y dispara el evento emotePlayed en el servidor, si se conecta. Esta función solo se puede llamar desde un LocalScript en un cliente específico.
Script local
local ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))local shrug = EmoteBar.getEmote("Shrug")EmoteBar.playEmote(shrug)
bloquearEmote
Bloquea el Emote con el nombre dado. Esta función solo se puede llamar desde un LocalScript en el cliente.
Script local
local ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))EmoteBar.lockEmote("Applaud")
desbloquearEmote
Desbloquea el Emote con el nombre dado. Esta función solo se puede llamar desde un LocalScript en el cliente.
Script local
local ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))EmoteBar.unlockEmote("Applaud")
Eventos
emoteJugado
Se activa cuando cualquier cliente juega un emote. Este evento solo se puede conectar en un 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)
emoteActivado
Se activa cuando un cliente hace clic en un emote bloqueado. Este evento solo se puede conectar en un LocalScript .
Parámetros | |
---|---|
emote: Emote | Emote bloqueado que fue activado. |
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)