Le emozioni sono espressive animazioni del personaggio che sono accessibili utilizzando comandi della chat ("/e cheer") o accedendo al menu delle emozioni in alto a destra di qualsiasi gioco. Tutti gli utenti hanno accesso alle emozioni predefinite, come dance, point e cheer. Ulteriori emozioni per avatar possono essere acquistate e equipaggiate dal Marketplace.
Nel tuo gioco, puoi eseguire le seguenti personalizzazioni delle emozioni:
- Aprire e chiudere il menu delle emozioni di un utente in modo programmatico.
- Aggiungere o rimuovere opzioni di emozioni dal menu di un utente.
- Disabilitare l'accesso al menu.
- Giocare un'emozione, mirata a un personaggio specifico dell'utente.
Menu delle emozioni
Puoi aprire e chiudere manualmente il menu delle emozioni di un utente, personalizzare il menu per visualizzare emozioni specifiche o disabilitare completamente il menu.
Aprire e chiudere
Per aprire o chiudere manualmente il menu delle emozioni di un giocatore, chiama GuiService:SetEmotesMenuOpen() con un valore booleano di true o false.
Il seguente esempio di codice aprirà il menu delle emozioni per l'utente:
-- Apri il menu delle emozioni
local GuiService = game:GetService("GuiService")
GuiService:SetEmotesMenuOpen(true)Se hai bisogno di rilevare se il menu delle emozioni è aperto, chiama GuiService:GetEmotesMenuOpen(). Questo restituirà un booleano che indica lo stato attuale del menu.
Aggiungere e rimuovere emozioni
Personalizza il menu delle emozioni impostando emozioni dal catalogo e poi equipaggiando emozioni a un Humanoid. Imposta le emozioni con il metodo HumanoidDescription:SetEmotes() e equipaggia fino a 8 emozioni nel menu delle emozioni utilizzando HumanoidDescription:SetEquippedEmotes().
Usa il seguente esempio di codice in uno LocalScript all'interno della cartella StarterCharacterScripts per impostare ed equipaggiare emozioni nel tuo gioco:
local Players = game:GetService("Players")
local humanoid = Players.LocalPlayer.Character.Humanoid
local humanoidDescription = humanoid.HumanoidDescription
-- Imposta emozioni personalizzate all'interno di una tabella
local emoteTable = {
["Ciao"] = {3576686446},
["Stadio"] = {3360686498},
["Inclina"] = {3360692915},
["Alza le spalle"] = {3576968026},
["Saluto"] = {3360689775},
["Punta"] = {3576823880}
}
humanoidDescription:SetEmotes(emoteTable)
-- Equipaggia le emozioni in un ordine specifico
local equippedEmotes = {"Ciao", "Stadio", "Inclina", "Alza le spalle", "Saluto", "Punta"}
humanoidDescription:SetEquippedEmotes(equippedEmotes)Disabilitare
Disabilita il menu delle emozioni con StarterGui:SetCoreGuiEnabled(). Disabilitare il menu delle emozioni non impedirà l'esecuzione delle emozioni tramite un comando della chat.
Il seguente esempio di codice disabiliterà il menu delle emozioni:
local StarterGui = game:GetService("StarterGui")
StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.EmotesMenu, false)In aggiunta alla disabilitazione del menu, puoi disabilitare il caricamento delle emozioni di proprietà dell'utente impostando la proprietà StarterPlayer.UserEmotesEnabled all'interno di StarterPlayer ⟩ Character su false. Questa specifica proprietà può essere impostata solo in Studio e non può essere impostata da script.
Giocare le emozioni
Per giocare manualmente un'emozione che un personaggio ha nella sua HumanoidDescription, chiama Humanoid:PlayEmote(), passando il nome della stringa dell'emozione. Questa chiamata restituirà true per indicare che l'emozione è stata riprodotta con successo, oppure false in caso contrario.
Usa il seguente esempio di codice per giocare l'emozione Alza le spalle:
local Players = game:GetService("Players")
local humanoid = Players.LocalPlayer.Character.Humanoid
humanoid:PlayEmote("Alza le spalle")