Barra delle emotes

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

Le emotes sono un componente principale di qualsiasi esperienza sociale. Il EmoteBar 模ulo sviluppatore mira a fornire ai giocatori un modo accessibile, personalizzabile per facilitare l'interazione sociale significativa.

Uso del modulo

Installazione

Per utilizzare il modulo EmoteBar in un'esperienza:

  1. Dalla Visualizza scheda, apri la Toolbox e seleziona la scheda Creator Store .

    Toolbox toggle button in Studio
  2. Assicurati che la classificazione Modelli sia selezionata, quindi fai clic sul pulsante Vedi tutto per Categorie.

  3. Individua e fai clic sul riquadro Moduli di Piastrella.

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

  5. Nella finestra Explorer, spostare l'intero EmoteBar modello in ServerScriptService . Al momento dell'esecuzione dell'esperienza, il modulo si distribuirà su varie servizi e inizierà a funzionare.

Configurazione

Il modulo è prefigurato con 7 emotes e può essere facilmente personalizzato con i tuoi emotes e opzioni di visualizzazione. Inoltre, se il giocatore possiede qualsiasi emotes dai precedenti eventi Roblox come Lil Nas X, Royal Blood o Twenty One Pilots, questi emotes verranno automaticamente aggiunti alla lista di emotes disponibili.

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

  2. Incolla il seguente codice nello script nuovo ConfiguraEmotes . La impostazione useDefaultEmotes di false supera gli emotes predefiniti e ti consente di definire emotes personalizzati tramite la funzione 1> setEmotes1>.

    Script - Configura le 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 è formato quando più giocatori nello stesso area eseguono lo stesso emote allo stesso tempo. Man mano che più giocatori entrano, l'emote mega diventa più grande. Mentre i giocatori smettono di eseguire l'Emote, l'emote mega diventa più piccola fino a quando non scompare.

Tempo

Il tempo di un'Emoteè la velocità con cui si esegue quando il suo pulsante viene toccato una volta. La velocità predefinita di un'emote è determinata dal suo numberTempo . La velocità di un'Emotepuò essere aumentata o diminuita facendo clic più velocemente o più lentamente su di essa.

Riferimento API

Tipi

Emote

Ogni emote è rappresentato da un dizionario con i seguenti paesi chiave-valore:

ChiaveTipoDescrizione
namestringaNome dell'emote, per esempio "Shrug" .
animationstringaID risorsa per l'animazionidell'Emote.
imagestringaID risorsa per l'immagine dell'Emotenella GUI or Intefaccia grafica utente.
defaultTemponumberFattore di velocità predefinito in cui giocare l'animazioniemote. Ad esempio, un tempo di 2 giocherà l'animazione a doppio la velocità normale. Devono essere più grandi di 0.
isLockedbooleanoSe l'emote è "bloccato" dall'essere attivato.

Enums

EmoteBar.GuiTipo

NomePanoramica
EmoteBarForma predefinita in cui vengono visualizzati gli emotes in una barra in fondo alla schermata, separati in singole "pagine".
EmoteWheelVariante in cui le emotes vengono visualizzate in un anello quando un giocatore clicca o tocca il loro personaggio giocatore.
Script locale

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

Funzioni

Configura Server

configServer(config: table )

Sovrascrivi le opzioni di configurazione lato server standard attraverso 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 sono inclusi o meno gli emotes predefiniti forniti.vero
useMegaEmotesAbilita o disabilita la Proprietàmega emotes .vero
emoteMinPlayersNumero minimo di giocatori che eseguono lo stesso emote per contribuire a un mega Emote.3
emoteMaxPlayersNumero massimo di giocatori che eseguono lo stesso emote per contribuire a un mega Emote.50
playParticlesAbilita o disabilita le emotes che i giocatori stanno giocando come parti fluttuanti sopra le loro teste.vero
sendContributingEmotesAbilita o disabilita l'invio di un piccolo emote per contribuire al mega Emote.vero
Script

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

configurareClient

configClient(config: table )

Sovrascrivi le opzioni di configurazione lato client attraverso 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 seguenti schede sono applicabili.

ChiaveDescrizionePredefinito
guiTypeI controlli che formano la GUI prenderanno per visualizzare le emotes ( EmoteBar.GuiType ).EmoteBar
useTempoAbilita o disabilita la funzione tempo in cui gli utenti sono in grado di controllare quanto sono lenti o veloci i loro emotes ripetutamente attivando lo stesso ritmo emotes in modo da poter controllare quanto sono lenti o veloci i loro emotes ripetutamente.vero
tempoActivationWindowQuantità di tempo, in secondi, l'utente ha tra attivazioni sequenziali di un emote per contarlo come parte del tempo.3
lockedImageImmagine per visualizzare le emotes bloccate in alto."rbxassetid://6905802778"
Script locale - Barra delle 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,
})
Script locale - Ruota emote

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

setEmotes

setEmotes(emotes: table )

Imposta le emotes personalizzate da utilizzare. Quest'ultime verranno aggiunte alle impostazioni predefinite se useDefaultEmotes è true , o sostituiscono le impostazioni predefinite se useDefaultEmotes è 2> false2> . Questa funzione può essere chiamata solo da un Class.Script e le modifiche ver

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

Script - Configura le 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,
},
})

setGUIVisibility

setGuiVisibility(visible: button )

Mostra o nasconde la GUI or Intefaccia grafica utentedelle emotes. Questa funzione può essere chiamata solo da un LocalScript su un client specifico.

Script locale

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

ottenere emote

getEmote(emoteName: string): table

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

Script locale

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

playEmote

playEmote(emote: Emote )

Gioca il Emote dato e attiva l'evento emotePlayed sul Server, se connesso. Questa funzione può essere chiamata solo da un LocalScript su un client specifico.

Script locale

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

lockEmote

lockEmote (emoteName: string )

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

Script locale

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

SbloccaEmote

SbloccaEmote (emoteName: string )

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

Script locale

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

Eventi

emoteGiocato

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

Parametri
Giocatore: PlayerGiocatore che ha eseguito l'Emote.
emote: EmoteEmote che è stato giocato.
Script locale

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))
EmoteBar.emotePlayed:Connect(function(player, emote)
print(player.Name, "played", emote.name)
end)

EmoteBloccato

Si attiva quando un client clicca un'Emotebloccata. Questo evento può essere connesso solo in un LocalScript .

Parametri
emote: EmoteEmote bloccato che è stato attivato.
Script locale

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)