表情是任何社交體驗的核心部分。 EmoteBar 開發者模組 目的是提供玩家一個可以被適用的、可自訂的方式來刺激有意義的社交互動。
模組使用
安裝
要在體驗中使用 EmoteBar 模組:
確認 模型排序 已選擇,然後按一下 查看全部 按鈕 for 類別 。
找到並點擊 Dev Modules 磚塊。
找到 表情符號盒 模組,然後按一下它,或者拖曳到 3D 檢視窗中。
在 探險家 窗口中,將整個 EmoteBar 模型移入 ServerScriptService 。執行體驗時,模組將自動分配到各個服務並開始執行。
設定
模組預設有 7 個表情,並且可以與您自己的表情和顯示選項簡單自訂。 此外,如果玩家擁有任何從以前 Roblox 事件(例如 Lil Nas X、皇家血統或 Twenty One Pilots)獲得的表情,這些表情將自動添加到可用表情列表。
在 ServerScriptService 中,建立新 Script 並將其重命名為 ConfigureEmotes 。
將以下代碼貼入新的 配置表情 指令碼。 useDefaultEmotes 設定將 false 覆蓋,讓您可以透過 2>setEmotes2> 函數定義自訂表情。
腳本-設定表情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,},})
超級表情
超級表情 是當多個玩家在相同的區域執行相同的表情時形成的。隨著更多玩家加入,超級表情會變大。當玩家停止執行動作時,超級表情會變小直到最終消失。
溫度
動作的 tempo 是指按鈕被擊啓時播放的速度。標準的動作速度是由其按鈕的 defaultTempo 決定。動作的速度可以通過更快或更慢地點擊按鈕來提升或降低。
API 參考
類型
表情
每個表情都由一個代表表情的字典表示,其中包括以下關鍵值對:
鑰匙 | 類型 | 說明 |
---|---|---|
name | 字串 | 表情名稱,例如 "Shrug"。 |
animation | 字串 | 動作的動畫資產 ID。 |
image | 字串 | 資產 ID 用於 GUI 中的動作符號圖像。 |
defaultTempo | 數字 | 播放動作動畫的預設速度因素。例如,2 的速度時間會在原來的速度值的兩倍播放動畫。必須大於 0。 |
isLocked | boolean | 是否啟動時是否啟動遊戲表情符號。 |
數值
表情符號Bar.GuiType
名稱 | 摘要 |
---|---|
EmoteBar | 在屏幕底部的條狀中顯示表情符號的預設形式,可以分為個別的"頁面"。 |
EmoteWheel | 變體,當玩家點擊或點擊玩家角色時,會在圓圈中顯示表情。 |
本地指令碼
local ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))EmoteBar.configureClient({guiType = EmoteBar.GuiType.EmoteWheel,})
功能
設定伺服器
通過 config 表中的鍵值/值來覆蓋預設伺服器端的設定選項。這個功能只能從 Script 桌子中呼叫,並且變更將自動重複到所有客戶。
鑰匙 | 說明 | 預設 |
---|---|---|
useDefaultEmotes | 是否包含或不包含提供的預設 emotes。 | 真的 |
useMegaEmotes | 啟用或解除 超級表情 功能。 | 真的 |
emoteMinPlayers | 最少玩家執行相同的表情來貢獻一個超級動作。 | 3 |
emoteMaxPlayers | 最多玩家可以執行相同的表情,貢獻於一個巨大的動作。 | 50 |
playParticles | 啟用或關閉玩家扮演的表情符號以上方的漂浮粒子。 | 真的 |
sendContributingEmotes | 啟用或關閉發送小型表情圖示來貢獻於我們的超級動作。 | 真的 |
腳本
local ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))EmoteBar.configureServer({emoteMinPlayers = 2,playParticles = false,})
設定Client
通過 config 表中的鍵值/值來覆蓋預設客戶端設定選項。這個功能只能從 LocalScript 表中的以下關鍵值/值來呼叫。依據 guiType 的值,在此列表中的選項也適用。
鑰匙 | 說明 | 預設 |
---|---|---|
guiType | 控制 GUI 形成的表情會顯示表情 ( EmoteBar.GuiType )。 | 表情符號Bar |
useTempo | 啟用或解除 暫時 功能,讓使用者可以控制暫時表演的表情是否會在重複使用同一個表情節奏地播放。 | 真的 |
tempoActivationWindow | 使用者在秒鐘內連續使用動作表情符號,以便計時。 | 3 |
lockedImage | 顯示頂部鎖定的表情。 | 「rbxassetid://6905802778」 |
本地指令碼 - 表情符號欄
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,})
本地指令碼 - 表情輪
local ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))EmoteBar.configureClient({guiType = EmoteBar.GuiType.EmoteWheel,})
設定表情符號
設定自訂動作隨機表情。這些動作將在 useDefaultEmotes 是 true 或 useDefaultEmotes 是 2>force2> 時自動重複到所有客戶。此功能只能從 5>Class.Script5> 中呼叫,並且將在所有客戶自動重複到。
參閱 表情 了解傳送至此功能的各個表情結構。
腳本-設定表情
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,},})
設定導覽可視度
顯示或隱藏表情符號GUI。此功能只能從 LocalScript 上的特定客戶端呼叫。
本地指令碼
local ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))EmoteBar.setGuiVisibility(false)
取得表情
獲得一個 表情符號 的名稱。如果表情符號無法找到,將返回 nil。此功能只能從 LocalScript 在特定客戶端上呼叫。
本地指令碼
local ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))local shrug = EmoteBar.getEmote("Shrug")
播放表情
播放指定的 表情 並在伺服器上發射 表情播放 事件,如果連接到。此功能只能從 LocalScript 在特定客戶上呼叫。
本地指令碼
local ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))local shrug = EmoteBar.getEmote("Shrug")EmoteBar.playEmote(shrug)
鎖定表情
鎖定 表情符號 以指定的名稱。此功能只能從客戶端上的 LocalScript 呼叫。
本地指令碼
local ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))EmoteBar.lockEmote("Applaud")
解鎖表情
解鎖 表情符號 使用指定名稱。此功能只能從 LocalScript 上的客戶端呼叫。
本地指令碼
local ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))EmoteBar.unlockEmote("Applaud")
事件
emote已玩
發生任何客戶端播放動作時。此事件只能連接在 LocalScript 中。
本地指令碼
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))
EmoteBar.emotePlayed:Connect(function(player, emote)
print(player.Name, "played", emote.name)
end)
已啟用鎖定表情
客戶端點擊鎖定的動作時發生。此事件只能連接在 LocalScript 中。
參數 | |
---|---|
emote:表情 | 已啟用的鎖定表情。 |
本地指令碼
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)