Barra Emote

*Questo contenuto è tradotto usando AI (Beta) e potrebbe contenere errori. Per visualizzare questa pagina in inglese, clicca qui.

Le emote sono un componente fondamentale di qualsiasi gioco sociale. Il modulo EmoteBar per sviluppatori mira a fornire ai giocatori un modo accessibile e personalizzabile per facilitare interazioni sociali significative.

Utilizzo del modulo

Installazione

Per utilizzare il modulo EmoteBar in un gioco:

  1. Dal menu Finestra di Studio o dalla barra degli strumenti della scheda Home, apri il Toolbox e seleziona la scheda Creator Store.

  2. Assicurati che sia selezionato l'ordinamento Modelli, quindi fai clic sul pulsante Vedi Tutti per Categorie.

  3. Individua e fai clic sulla tessera Pacchetti.

  4. Individua il modulo Emote Bar e fai clic su di esso, oppure trascinalo nella vista 3D.

  5. Nella finestra Explorer, sposta l'intero modello EmoteBar in ReplicatedStorage. Una volta avviato il gioco, il modulo inizierà a funzionare.

Configurazione

Il modulo è preconfigurato con 7 emote e può essere facilmente personalizzato con le tue emote e opzioni di visualizzazione. Inoltre, se il giocatore possiede emote da eventi Roblox precedenti come Lil Nas X, Royal Blood o Twenty One Pilots, quelle emote verranno automaticamente aggiunte all'elenco delle emote disponibili.

  1. In ServerScriptService, crea un nuovo Script e rinominalo ConfigureEmotes.

  2. Incolla il seguente codice nel nuovo script ConfigureEmotes. L'impostazione useDefaultEmotes di false sovrascrive le emote predefinite e ti consente di definire emote personalizzate tramite la funzione setEmotes.

    Script - ConfigureEmotes
    local ReplicatedStorage = game:GetService("ReplicatedStorage")
    local EmoteBar = require(ReplicatedStorage.EmoteBar)
    EmoteBar.configureServer({
    useDefaultEmotes = false,
    })
    EmoteBar.setEmotes({
    {
    name = "Ciao",
    animation = "rbxassetid://3344650532",
    image = "rbxassetid://7719817462",
    defaultTempo = 1,
    },
    {
    name = "Applausi",
    animation = "rbxassetid://5915693819",
    image = "rbxassetid://7720292217",
    defaultTempo = 2,
    },
    })

Mega emote

Una mega emote si forma quando più giocatori nella stessa area eseguono la stessa emote contemporaneamente. Man mano che sempre più giocatori partecipano, la mega emote cresce. Quando i giocatori smettono di eseguire l'emote, la mega emote si riduce fino a scomparire.

Tempo

Il tempo di un'emote è la velocità con cui viene riprodotta quando il suo pulsante viene toccato una volta. La velocità predefinita di un'emote è determinata dal suo defaultTempo. La velocità di un'emote può essere aumentata o diminuita toccando il suo pulsante più velocemente o più lentamente.

Riferimento API

Tipi

Emote

Ogni emote è rappresentata da un dizionario con le seguenti coppie chiave-valore:

ChiaveTipoDescrizione
namestringNome dell'emote, ad esempio "Shrug".
animationstringID dell'asset per l'animazione dell'emote.
imagestringID dell'asset per l'immagine dell'emote nell'interfaccia utente.
defaultTemponumberFattore di velocità predefinito con cui riprodurre l'animazione dell'emote. Ad esempio, un tempo di 2 riprodurrà l'animazione a doppia velocità. Deve essere maggiore di 0.
isLockedboolSe l'emote è "bloccata" e non può essere attivata.

Enums

EmoteBar.GuiType

NomeRiepilogo
EmoteBarForma predefinita in cui le emote vengono visualizzate in una barra lungo la parte inferiore dello schermo, separate in singole "pagine".
EmoteWheelVariante in cui le emote vengono visualizzate in un anello quando un giocatore fa clic o tocca il proprio personaggio.
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local EmoteBar = require(ReplicatedStorage.EmoteBar)
EmoteBar.configureClient({
guiType = EmoteBar.GuiType.EmoteWheel,
})

Funzioni

configureServer

configureServer(config: table)

Sovrascrive le opzioni di configurazione predefinite lato server tramite le seguenti chiavi/valori nella tabella config. Questa funzione può essere chiamata solo da un Script e le modifiche verranno replicate automaticamente a tutti i client.

ChiaveDescrizionePredefinito
useDefaultEmotesSe le emote predefinite fornite sono incluse o meno.true
useMegaEmotesAbilita o disabilita la funzione mega emotes.true
emoteMinPlayersNumero minimo di giocatori che eseguono la stessa emote per contribuire a una mega emote.3
emoteMaxPlayersNumero massimo di giocatori che eseguono la stessa emote per contribuire a una mega emote.50
playParticlesAbilita o disabilita le emote che i giocatori stanno eseguendo come particelle fluttuanti sopra le loro teste.true
sendContributingEmotesAbilita o disabilita l'invio di una piccola icona emote per contribuire alla mega emote.true
Script
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local EmoteBar = require(ReplicatedStorage.EmoteBar)
EmoteBar.configureServer({
emoteMinPlayers = 2,
playParticles = false,
})

configureClient

configureClient(config: table)

Sovrascrive le opzioni di configurazione predefinite lato client tramite le seguenti chiavi/valori nella tabella config. Questa funzione può essere chiamata solo da un LocalScript. A seconda del valore di guiType, le opzioni nelle schede indicate si applicano anche.

ChiaveDescrizionePredefinito
guiTypeControlla quale forma assumerà l'interfaccia utente per visualizzare le emote (EmoteBar.GuiType).EmoteBar
useTempoAbilita o disabilita la funzione tempo in cui gli utenti possono controllare quanto velocemente o lentamente vengono riprodotte le loro emote attivando ripetutamente la stessa emote in modo ritmico.true
tempoActivationWindowQuantità di tempo, in secondi, che l'utente ha tra le attivazioni sequenziali di un'emote affinché venga conteggiata come parte del tempo.3
lockedImageImmagine da visualizzare sopra le emote bloccate."rbxassetid://6905802778"
LocalScript - Barra Emote
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local EmoteBar = require(ReplicatedStorage.EmoteBar)
EmoteBar.configureClient({
guiType = EmoteBar.GuiType.EmoteBar,
maxEmotesPerPage = 6,
nextPageKey = Enum.KeyCode.Z,
prevPageKey = Enum.KeyCode.C,
})
LocalScript - Ruota Emote
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local EmoteBar = require(ReplicatedStorage.EmoteBar)
EmoteBar.configureClient({
guiType = EmoteBar.GuiType.EmoteWheel,
})

setEmotes

setEmotes(emotes: table)

Imposta le emote personalizzate da utilizzare. Queste verranno aggiunte ai predefiniti se useDefaultEmotes è true, o sostituiranno i predefiniti se useDefaultEmotes è false. Questa funzione può essere chiamata solo da un Script e le modifiche verranno replicate automaticamente a tutti i client.

Vedi Emote per la struttura di ogni emote passata a questa funzione.

Script - ConfigureEmotes
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local EmoteBar = require(ReplicatedStorage.EmoteBar)
EmoteBar.configureServer({
useDefaultEmotes = false,
})
EmoteBar.setEmotes({
{
name = "Ciao",
animation = "rbxassetid://3344650532",
image = "rbxassetid://7719817462",
defaultTempo = 1,
},
{
name = "Applausi",
animation = "rbxassetid://5915693819",
image = "rbxassetid://7720292217",
defaultTempo = 2,
},
})

setGuiVisibility

setGuiVisibility(visible: boolean)

Mostra o nasconde l'interfaccia utente delle emote. Questa funzione può essere chiamata solo da un LocalScript su un client specifico.

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

getEmote

getEmote(emoteName: string): table

Ottiene un Emote per nome. Restituisce nil se l'emote non può essere trovata. Questa funzione può essere chiamata solo da un LocalScript su un client specifico.

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

playEmote

playEmote(emote: Emote)

Riproduce l'Emote fornita e attiva l'evento emotePlayed sul server, se connesso. Questa funzione può essere chiamata solo da un LocalScript su un client specifico.

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

lockEmote

lockEmote(emoteName: string)

Blocca l'Emote con il nome fornito. Questa funzione può essere chiamata solo da un LocalScript sul client.

LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local EmoteBar = require(ReplicatedStorage.EmoteBar)
EmoteBar.lockEmote("Applausi")

unlockEmote

unlockEmote(emoteName: string)

Sblocca l'Emote con il nome fornito. Questa funzione può essere chiamata solo da un LocalScript sul client.

LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local EmoteBar = require(ReplicatedStorage.EmoteBar)
EmoteBar.unlockEmote("Applausi")

Eventi

emotePlayed

Si attiva quando qualsiasi client riproduce un'emote. Questo evento può essere connesso solo in un LocalScript.

Parametri
player: PlayerGiocatore che ha eseguito l'emote.
emote: EmoteEmote che è stata riprodotta.
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local EmoteBar = require(ReplicatedStorage.EmoteBar)
EmoteBar.emotePlayed:Connect(function(player, emote)
print(player.Name, "ha eseguito", emote.name)
end)

lockedEmoteActivated

Si attiva quando un client fa clic su un'emote bloccata. Questo evento può essere connesso solo in un LocalScript.

Parametri
emote: EmoteEmote bloccata che è stata attivata.
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Players = game:GetService("Players")
local EmoteBar = require(ReplicatedStorage.EmoteBar)
EmoteBar.lockedEmoteActivated:Connect(function(emote)
print(Players.LocalPlayer, "ha cliccato su", emote.name)
end)
© 2026 Roblox Corporation. Roblox, il logo Roblox e Powering Imagination sono tra i nostri marchi registrati e non registrati negli Stati Uniti. e altri paesi.