Barra de emotes

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

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:

  1. De la pestaña Ver, abra la Caja de herramientas y seleccione la pestaña Tienda del Creador .

    Toolbox toggle button in Studio
  2. Asegúrese de que se seleccione el Modelos clasificación y luego haga clic en el botón Ver Todo para Categorías .

  3. Ubique y haga clic en el mosaico de Modulos de Dev .

  4. Ubique el módulo Barra de emotes y haga clic en él, o arrástralo y suéltalo en la vista 3D.

  5. 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.

  1. En ServerScriptService , crea un nuevo Script y renombralo Configurar emotes .

  2. 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 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 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:

ClaveTipoDescripción
namecadenaNombre de emote, por ejemplo "Shrug" .
animationcadenaID de la propiedad para la animacionesdel emote.
imagecadenaID de la imagen del emote en la Interfaz gráfica (o GUI).
defaultTemponúmeroPará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.
isLockedbooleanoSi el emote está "bloqueado" de ser activado.

Incrementos

EmoteBar.GuiTipo

NombreResumen
EmoteBarFormulario 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

Configurar el servidor (Configurar: table )

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.

ClaveDescripciónPor defecto
useDefaultEmotesSi se incluyen o no los emotes predeterminados proporcionados.cierto
useMegaEmotesActiva o desactiva la función mega emotescierto
emoteMinPlayersNúmero mínimo de jugadores que realicen el mismo emote para contribuir a un mega emote.3
emoteMaxPlayersNúmero máximo de jugadores que realicen el mismo emote para contribuir a un mega emote.50
playParticlesActiva o desactiva los emotes que los jugadores están jugando como partículas flotantes por encima de sus cabezas.cierto
sendContributingEmotesActiva 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

ConfigurarCliente(Configurar: table )

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.

ClaveDescripciónPor defecto
guiTypeLos controles que forman parte de la GUI tomarán para mostrar emotes ( EmoteBar.GuiType ).EmoteBar.
useTempoActiva 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
tempoActivationWindowCantidad de tiempo, en segundos, que el usuario tiene entre activaciones secuenciales de un emote para que se cuente como parte del tiempo.3
lockedImageImagen 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

setEmotes(emotes: table )

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

setGuiVisibility(visible: boolean )

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

getEmote(emoteName: string): table

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

jugarEmote(emote: Emote )

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

lockEmote(emoteName: string )

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

desbloquearEmote(emoteName: string )

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 .

Parámetros
jugador: PlayerJugador que actuó el emote.
emote: EmoteEmote que se ha jugado.
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: EmoteEmote 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)