Le emote sono un componente fondamentale di qualsiasi esperienza sociale. Il EmoteBar modulo 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'esperienza:
Dal menu Finestra di Studio o dalla barra degli strumenti della scheda Home, apri il Toolbox e seleziona la scheda Creator Store.

Assicurati che il filtro Modelli sia selezionato, quindi fai clic sul pulsante Vedi Tutti per Categorie.

Trova e fai clic sulla tile Pacchetti.
Trova il modulo Emote Bar e fai clic su di esso, oppure trascinalo nella vista 3D.

Nella finestra Explorer, sposta l'intero modello EmoteBar in ReplicatedStorage. Una volta avviata l'esperienza, 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 di eventi Roblox precedenti come Lil Nas X, Royal Blood o Twenty One Pilots, quelle emote verranno automaticamente aggiunte all'elenco delle emote disponibili.
In ServerScriptService, crea un nuovo Script e rinominalo ConfigureEmotes.

Incolla il seguente codice nel nuovo script ConfigureEmotes. L'impostazione useDefaultEmotes su false sovrascrive le emote predefinite e ti consente di definire emote personalizzate tramite la funzione setEmotes.
Script - ConfigureEmoteslocal 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. Quando sempre più giocatori si uniscono, la mega emote cresce. Quando i giocatori smettono di eseguire l'emote, la mega emote diminuisce fino a scomparire.

Tempo
Il tempo di un'emote è la velocità alla quale viene riprodotta quando il suo pulsante viene premuto una volta. La velocità predefinita di un'emote è determinata dal suo defaultTempo. La velocità di un'emote può essere aumentata o diminuita premendo il suo pulsante più velocemente o più lentamente.
Riferimento API
Tipi
Emote
Ogni emote è rappresentata da un dizionario con le seguenti coppie chiave-valore:
| Chiave | Tipo | Descrizione |
|---|---|---|
| name | string | Nome dell'emote, ad esempio "Shrug". |
| animation | string | ID risorsa per l'animazione dell'emote. |
| image | string | ID risorsa per l'immagine dell'emote nell'interfaccia grafica. |
| defaultTempo | number | Fattore di velocità predefinito con cui riprodurre l'animazione dell'emote. Ad esempio, un tempo di 2 riprodurrà l'animazione a una velocità doppia rispetto alla normale. Deve essere maggiore di 0. |
| isLocked | bool | Indica se l'emote è "bloccata" e non può essere attivata. |
Enums
EmoteBar.GuiType
| Nome | Riassunto |
|---|---|
| EmoteBar | Forma predefinita in cui le emote vengono visualizzate in una barra lungo il fondo dello schermo, separate in singole "pagine". |
| EmoteWheel | Variante in cui le emote vengono visualizzate in un cerchio quando un giocatore fa clic o tocca il proprio personaggio. |
LocalScriptlocal 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.
| Chiave | Descrizione | Predefinito |
|---|---|---|
| useDefaultEmotes | Indica se le emote predefinite fornite sono incluse o meno. | true |
| useMegaEmotes | Abilita o disabilita la funzione delle mega emote. | true |
| emoteMinPlayers | Numero minimo di giocatori che eseguono la stessa emote per contribuire a una mega emote. | 3 |
| emoteMaxPlayers | Numero massimo di giocatori che eseguono la stessa emote per contribuire a una mega emote. | 50 |
| playParticles | Abilita o disabilita le emote che i giocatori stanno eseguendo come particelle fluttuanti sopra le loro teste. | true |
| sendContributingEmotes | Abilita o disabilita l'invio di una piccola icona dell'emote per contribuire alla mega emote. | true |
Scriptlocal 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.
| Chiave | Descrizione | Predefinito |
|---|---|---|
| guiType | Controlla quale forma avrà l'interfaccia grafica per visualizzare le emote (EmoteBar.GuiType). | EmoteBar |
| useTempo | Abilita 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 |
| tempoActivationWindow | Quantità di tempo, in secondi, che l'utente ha tra attivazioni sequenziali di un'emote affinché venga considerata parte del tempo. | 3 |
| lockedImage | Immagine da visualizzare sopra le emote bloccate. | "rbxassetid://6905802778" |
LocalScript - Barra Emotelocal 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 Emotelocal 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, oppure 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 - ConfigureEmoteslocal 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 grafica delle emote. Questa funzione può essere chiamata solo da un LocalScript su un client specifico.
LocalScriptlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage.EmoteBar)EmoteBar.setGuiVisibility(false)
getEmote
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.
LocalScriptlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage.EmoteBar)local shrug = EmoteBar.getEmote("Shrug")
playEmote
playEmote(emote: Emote)
Riproduce la Emote data e attiva l'evento emotePlayed sul server, se connesso. Questa funzione può essere chiamata solo da un LocalScript su un client specifico.
LocalScriptlocal 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 dato. Questa funzione può essere chiamata solo da un LocalScript sul client.
LocalScriptlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage.EmoteBar)EmoteBar.lockEmote("Applausi")
unlockEmote
unlockEmote(emoteName: string)
Sblocca l'Emote con il nome dato. Questa funzione può essere chiamata solo da un LocalScript sul client.
LocalScriptlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage.EmoteBar)EmoteBar.unlockEmote("Applausi")
Eventi
emotePlayed
Si attiva quando un client esegue un'emote. Questo evento può essere connesso solo in un LocalScript.
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: Emote | Emote 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", emote.name)
end)