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:
Dalla Visualizza scheda, apri la Toolbox e seleziona la scheda Creator Store .
Assicurati che la classificazione Modelli sia selezionata, quindi fai clic sul pulsante Vedi tutto per Categorie.
Individua e fai clic sul riquadro Moduli di Piastrella.
Individua il modulo Emote Bar e fai clic su di esso, oppure trascinalo nella vista 3D.
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.
In ServerScriptService , crea un nuovo Script e rinominalo ConfiguraEmotes .
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 emoteslocal 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:
Chiave | Tipo | Descrizione |
---|---|---|
name | stringa | Nome dell'emote, per esempio "Shrug" . |
animation | stringa | ID risorsa per l'animazionidell'Emote. |
image | stringa | ID risorsa per l'immagine dell'Emotenella GUI or Intefaccia grafica utente. |
defaultTempo | number | Fattore 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. |
isLocked | booleano | Se l'emote è "bloccato" dall'essere attivato. |
Enums
EmoteBar.GuiTipo
Nome | Panoramica |
---|---|
EmoteBar | Forma predefinita in cui vengono visualizzati gli emotes in una barra in fondo alla schermata, separati in singole "pagine". |
EmoteWheel | Variante 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
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.
Chiave | Descrizione | Predefinito |
---|---|---|
useDefaultEmotes | Se sono inclusi o meno gli emotes predefiniti forniti. | vero |
useMegaEmotes | Abilita o disabilita la Proprietàmega emotes . | vero |
emoteMinPlayers | Numero minimo di giocatori che eseguono lo stesso emote per contribuire a un mega Emote. | 3 |
emoteMaxPlayers | Numero massimo di giocatori che eseguono lo stesso emote per contribuire a un mega Emote. | 50 |
playParticles | Abilita o disabilita le emotes che i giocatori stanno giocando come parti fluttuanti sopra le loro teste. | vero |
sendContributingEmotes | Abilita 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
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.
Chiave | Descrizione | Predefinito |
---|---|---|
guiType | I controlli che formano la GUI prenderanno per visualizzare le emotes ( EmoteBar.GuiType ). | EmoteBar |
useTempo | Abilita 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 |
tempoActivationWindow | Quantità di tempo, in secondi, l'utente ha tra attivazioni sequenziali di un emote per contarlo come parte del tempo. | 3 |
lockedImage | Immagine 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
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
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
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
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
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
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 .
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: Emote | Emote 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)