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 emozionilocal 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.Humanoidlocal humanoidDescription = humanoid.HumanoidDescription-- Imposta emozioni personalizzate all'interno di una tabellalocal emoteTable = {["Ciao"] = {3576686446},["Stadio"] = {3360686498},["Inclina"] = {3360692915},["Alza le spalle"] = {3576968026},["Saluto"] = {3360689775},["Punta"] = {3576823880}}humanoidDescription:SetEmotes(emoteTable)-- Equipaggia le emozioni in un ordine specificolocal 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.Humanoidhumanoid:PlayEmote("Alza le spalle")