Barra de emoticonos

*Este contenido se traduce usando la IA (Beta) y puede contener errores. Para ver esta página en inglés, haz clic en aquí.

Las emociones son un componente central de cualquier experiencia social.El módulo desarrollador de EmoteBar tiene como objetivo proporcionar a los jugadores una forma accesible y personalizable de facilitar una interacción social significativa.

Uso de módulo

Instalación

Para usar el módulo Barra de emotes en una experiencia:

  1. Desde la pestaña Ver, abra la Caja de herramientas y seleccione la pestaña Tienda de creadores .

    Toolbox toggle button in Studio
  2. Asegúrese de que la clasificación de modelos esté seleccionada, luego haga clic en el botón Ver todo para categorías .

  3. Localiza y haz clic en el mosaico Módulos de desarrollo .

  4. Localiza el módulo Barra de emotes y haz clic en él, o arrástralo a la vista 3D.

  5. En la ventana Explorador, mueva todo el modelo Barra de emotes al servicio ServerScriptService .Al ejecutar la experiencia, el módulo se distribuirá a varios servicios y comenzará a funcionar.

Configuración

El módulo está preconfigurado con 7 emotes y se puede personalizar fácilmente con tus propios emotes y opciones de visualización.Además, si el jugador posee cualquier emote de 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.

  1. En Servicio de guiones de servidor , crea un nuevo Script y renombralo Configurar emotes .

  2. Pega el siguiente código en el nuevo script ConfigurarEmotes .La configuración useDefaultEmotes de false anula los emotes predeterminados y te permite definir emotes personalizados a través de la función setEmotes.

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

Mega emoticonos

Un mega emote se forma cuando múltiples 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 reduce hasta que finalmente desaparece.

Tiempo

El tiempo de un emote es la velocidad a la que se reproduce cuando su botón se toca una vez La velocidad predeterminada de un emote se determina por su defaultTempo .La velocidad de un emote se puede aumentar o disminuir al tocar su botón más rápido o más lento.

Referencia de API

Tipos

Emoticono

Cada emote se representa por un diccionario con los siguientes pares de clave-valor:

ClaveTipoDescripción
namecadenaNombre de emote, por ejemplo "Shrug" .
animationcadenaID de activo para la animacionesdel emote.
imagecadenaID de activo para la imagen del emote en la Interfaz gráfica (o GUI).
defaultTemponúmeroFactor de velocidad predeterminado en el que jugar la animacionesde emote.Por ejemplo, un tempo de 2 reproducirá la animación a doble velocidad normal.Debe ser superior a 0.
isLockedboolSi el emote está "bloqueado" de ser activado.

Enumeraciones

EmoteBar.GuiTipo

NombreResumen
EmoteBarFormulario predeterminado donde se muestran los emotes en una barra alrededor de la parte inferior de la pantalla, separados en páginas individuales.
EmoteWheelVariante en la que los emotes se muestran en un anillo cuando un jugador hace clic o toca en su personaje de jugador.
Guión local

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

Funciones

configurarServidor

configurarServidor(config: table )

Anula las opciones de configuración predeterminadas del lado del servidor a través de las siguientes claves/valores en la tabla config.Esta función solo se puede llamar desde un Script y las modificaciones se replicarán automáticamente a todos los clientes.

ClaveDescripciónPor defecto
useDefaultEmotesSi los emotes predeterminados proporcionados se incluyen o no.cierto
useMegaEmotesHabilita o deshabilita la función mega emotes.cierto
emoteMinPlayersNúmero mínimo de jugadores que realizan el mismo emote para contribuir a un mega emote.3
emoteMaxPlayersNúmero máximo de jugadores que realizan el mismo emote para contribuir a un mega emote.50
playParticlesHabilita o deshabilita los emotes que los jugadores están jugando como partículas flotantes sobre sus cabezas.cierto
sendContributingEmotesHabilita o deshabilita el envío de un pequeño icono de emote para contribuir al mega emote.cierto
Guión

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

配置客户端 (configurar cliente)

configurarCliente(config: table )

Anula las opciones de configuración predeterminadas del lado del cliente a través de las siguientes claves/valores en la tabla config.Esta función solo se puede llamar desde un LocalScript .Dependiendo del valor de guiType, las opciones en las pestañas notadas también se aplican.

ClaveDescripciónPor defecto
guiTypeLos controles que forman la interfaz gráfica tomarán para mostrar emotes (EmoteBar.GuiType).Barra de emotes
useTempoHabilita o deshabilita la función de tiempo donde los usuarios pueden controlar la velocidad a la que se reproducen sus emotes al activar repetidamente el mismo ritmo de emote de forma rítmica.cierto
tempoActivationWindowCantidad de tiempo, en segundos, que el usuario tiene entre activaciones secuenciales de un emote para que cuente como parte del ritmo.3
lockedImageImagen para mostrar sobre los emotes bloqueados en la parte superior.“rbxassetid://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 emotes

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

establecerEmotes

setEmotes(emotes: table )

Establece los emotes personalizados para usar.Estos se agregarán a los predeterminados si useDefaultEmotes es true o reemplazarán los predeterminados si useDefaultEmotes es false .Esta función solo se puede llamar desde un Script y las modificaciones se replicarán automáticamente a todos los clientes.

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 visibilidad de la interfaz

setGuiVisibility(visible: boolean )

Muestra o oculta la interfaz de usuario de los emotes. Esta función solo se puede llamar desde un LocalScript en un cliente específico.

Guión local

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

obtenerEmote

getEmote(emoteName: string ): table

Obtiene un Emote por nombre.Devuelve nil si no se puede encontrar el emote.Esta función solo se puede llamar desde un LocalScript en un cliente específico.

Guión local

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

jugarEmote

jugarEmote(emote: Emote )

Reproduce el Emote dado y dispara el evento emotePlayed en el servidor, si está conectado.Esta función solo se puede llamar desde un LocalScript en un cliente específico.

Guión local

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

bloquearEmote

lockEmote(nombre de emote: string)

Bloquea el Emote con el nombre dado. Esta función solo se puede llamar desde un LocalScript en el cliente.

Guión local

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

desbloquearEmote

desbloquearEmote(nombreEmote: string )

Desbloquea el Emote con el nombre dado. Esta función solo se puede llamar desde un LocalScript en el cliente.

Guión local

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

Eventos

emoticonoReproducido

Se activa cuando cualquier cliente reproduce un emote. Este evento solo se puede conectar en un LocalScript .

Parámetros
jugador: PlayerJugador que actuó el emote.
emote: EmoticonoEmote que se reprodujo.
Guión 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)

emoteBloqueadoActivado

Se activa cuando un cliente hace clic en un emote bloqueado. Este evento solo se puede conectar en un LocalScript .

Parámetros
emote: EmoticonoEmote bloqueado que se activó.
Guión 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)