您可以使用以下聊天模組來支持 舊版聊天系統 的客戶端行為。
聊天窗口
聊天窗口 是舊版聊天系統客戶端的主要聊天模組
方法
新增通道
- 返回值:: ChatChannelUI
移除通道
- 返回值:: 無效
取得通道
- 說明:: 獲取指定的 ChatChannelUI ,如果存在。
取得當前通道
- 說明:: 返回目前的 ChatChannelUI。
- 返回值:: ChatChannelUI
切換當前通道
- 返回值:: 無效
獲得可見
- 參數:: 無
- 說明:: 返回窗口是否可見。注意:這指的是一般聊天 UI;當聊天窗口由於閒置而變透明時,窗口仍被視為可見。
- 返回值:: bool
設定可見
- 說明:: 設置聊天窗口的可見度。
- 返回值:: 無效
淡出背景
- 說明:: 在指定的 duration 秒內淡化背景。注意:稍後呼叫控制淡化進入/退出將覆蓋先前呼叫。
- 返回值:: 無效
逐漸消失背景
- 說明:: 在指定的 duration 秒內在背景中消失。注意:稍後呼叫控制淡化進入/退出將覆蓋先前呼叫。
- 返回值:: 無效
淡出文字
- 說明:: 在秒鐘內淡化給定的 duration 文字。注意:稍後呼叫控制淡化進入/退出將覆蓋先前呼叫。
- 返回值:: 無效
淡出文字
- 說明:: 在指定的 duration 秒內消失在文字上。注意:稍後呼叫控制淡化進入/退出將覆蓋先前呼叫。
- 返回值:: 無效
聊天欄
聊天欄 處理Lua聊天系統的客戶端文字輸入 。聊天欄有兩個關鍵組成部分:
- 聊天欄 ,一個 TextBox ,其中玩家輸入消息和指令 (以橙色突出顯示)
- 訊息模式 ,一個 TextLabel ,可以顯示傳送的訊息資訊 (強調顯示綠色)
方法
取得文字框
- 參數:: 無
- 說明:: 返回聊天欄的 TextBox。
- 返回值:: TextBox
取得訊息模式文字標籤
- 參數:: 無
- 說明:: 返回訊息模式 TextLabel。
- 返回值:: TextLabel
已聚焦
- 參數:: 無
- 說明:: 返回聊天欄的 TextBox 是否處於聚焦狀態 (玩家正在輸入方塊中)。等於呼叫 TextBox:IsFocused 在 GetTextBox 的結果上。
- 返回值:: bool
捕捉焦點
- 參數:: 無
- 說明:: 強制客戶專注於聊天欄的 TextBox 。等於呼叫 TextBox:CaptureFocus GetTextBox 的結果。
- 返回值:: 無效
發行焦點
- 說明:: 發布聊天欄的焦點TextBox。如果 submitted 是真的,這會像是玩家按下 Enter 來提交訊息。
- 返回值:: 無效
重設文字
- 參數:: 無
- 說明:: 將聊天欄 Text 的 TextBox 設為空字串。
- 返回值:: 無效
設定文字框本文字
- 說明:: 將聊天欄的 設置為指定的 。
- 返回值:: 無效
取得文字框本文字
- 參數:: 無
- 說明:: 返回聊天欄中的文字 TextBox.Text 。
- 返回值:: string
設定文字標籤文字
- 說明:: 設置 MessageMode Text 的 TextLabel 到指定的 text。
- 返回值:: 無效
獲得啟用
- 參數:: 無
- 說明:: 返回聊天欄是否為 Visible 。
- 返回值:: bool
設定啟用
- 說明:: 設置聊天欄是否為 Visible 。
- 返回值:: 無效
設定文字尺寸
- 說明:: 設置聊天欄的TextSize和訊息模式TextBox的TextLabel。
- 返回值:: 無效
重設尺寸
- 參數:: 無
- 說明:: 將聊天欄的大小重設為一行文字。
- 返回值:: 無效
設定通道目標
- 返回值:: 無效
淡出背景
- 說明:: 在指定的 duration 秒內淡化背景。注意:稍後呼叫控制淡化進入/退出將覆蓋先前呼叫。
- 返回值:: 無效
逐漸消失背景
- 說明:: 在指定的 duration 秒內在背景中消失。注意:稍後呼叫控制淡化進入/退出將覆蓋先前呼叫。
- 返回值:: 無效
淡出文字
- 說明:: 在秒鐘內淡化給定的 duration 文字。注意:稍後呼叫控制淡化進入/退出將覆蓋先前呼叫。
- 返回值:: 無效
淡出文字
- 說明:: 在指定的 duration 秒內消失在文字上。注意:稍後呼叫控制淡化進入/退出將覆蓋先前呼叫。
- 返回值:: 無效
聊天通道用戶介面
ChatChannelUI 是ChatChannel的客戶端版本。它從伺服器接收 聊天訊息 並將它們傳給 聊天訊息記錄顯示。與它相關。
方法
添加訊息到通道
參數:: 聊天訊息
說明:: 將從伺服器收到的聊天訊息新增到 ChatMessageLogDisplay。
返回值:: 無效
從通道移除最後一個訊息
- 參數:: 無
- 返回值:: 無效
清除訊息記錄
- 參數:: 無
- 返回值:: 無效
聊天訊息記錄顯示
方法
添加訊息
- 說明:: 添加一個 message 到訊息記錄顯示。
- 返回值:: 無效
移除最後一個訊息
- 參數:: 無
- 說明:: 移除訊息記錄中最舊的 聊天訊息 。
- 返回值:: 無效
重新排序所有訊息
- 參數:: 無
- 說明:: 重新排序所有訊息顯示的順序,相對於訊息顯示的大小。這應該在訊息記錄顯示縮放時呼叫。
- 返回值:: 無效
清除
- 參數:: 無
- 說明:: 移除所有 聊天訊息 從訊息記錄顯示。
- 返回值:: 無效
淡出文字
- 說明:: 在秒鐘內淡化給定的 duration 文字。注意:稍後呼叫控制淡化進入/退出將覆蓋先前呼叫。
- 返回值:: 無效
淡出文字
- 說明:: 在指定的 duration 秒內消失在文字上。注意:稍後呼叫控制淡化進入/退出將覆蓋先前呼叫。
- 返回值:: 無效
聊天自定狀態
聊天 ChatCustomState 是在聊天欄中創建自定义聊天狀態時使用的回調接口。
囑咐聊天和團隊聊天使用 ChatCustomState 向玩家指示他們的訊息將被傳送到哪裡。
呼叫回來
文字已更新
- 參數:: 無
- 說明:: 當聊天欄的文字更新時,呼叫。
- 返回值:: 無效
取得訊息
- 參數:: 無
- 說明:: 被呼叫以恢復訊息的文字,因為它將以單一指令的形式寫入。這在服務器需要處理指令為文字,而不是指令的視覺狀態的情況下使用。
- 返回值:: string
完成的過程訊息
- 參數:: 無
- 說明: 當玩家提交正在處理的自訂狀態的訊息時呼叫。如果訊息不應顯示或傳送到伺服器,則應返回真值。
- 返回值:: bool
刪除
- 參數:: 無
- 說明:: 被稱為 ChatBar 正在被重設回原始狀態,在自定狀態修改之前。
- 返回值:: 無效
聊天設定
聊天設定 是Lua聊天系統的客戶端設定辭典。它們被儲存在 ModuleScript 命名為 ChatSettings 的檔案中,可以在 Chat 遊戲服務內找到,在 Folder 命名為 ClientChatModules 下。模組可能需要並且在運行時的屬性可能會變更。
若要變更設定,請使用以下方式要求此模組使用 LocalScript 來執行:
-- 需要聊天設定模組(等待載入)local Chat = game:GetService("Chat")local ClientChatModules = Chat:WaitForChild("ClientChatModules")local ChatSettings = require(ClientChatModules:WaitForChild("ChatSettings"))-- 與其他任何表一樣變更設定。ChatSettings.MaximumMessageLength = 100
聊天行為設定
窗口可拖曳
- 類型:: bool
- 預設值:: false
窗戶可縮放
遊戲控制板導航啟用
- 類型:: bool
- 預設值:: false
- 說明:: 決定遊戲手柄是否可以導航聊天介面。
顯示使用者已過濾訊息
- 類型:: bool
- 預設值:: true
- 說明:: 決定玩家應該看到過濾版本的聊天訊息,還是原始內容他們輸入的內容。
聊天時使用頂部欄關閉
- 類型:: bool
- 預設值:: false
- 說明:: 確定聊天 UI 是否啟用,即使顶部栏被禁用。
對話泡泡啟用
- 類型:: bool
- 預設值:: game:GetService("Players").BubbleChat
- 說明:: 決定是否啟用對話泡泡。
經典聊天啟用
- 類型:: bool
- 預設值:: game:GetService("Players").ClassicChat
- 說明:: 決定是否啟用經典聊天。
聊天室字體大小設定
聊天窗口文字尺寸
聊天欄文字尺寸
聊天窗口文字尺寸電話
聊天欄文字尺寸電話
字體設定
預設字體
- 類型:: Enum.Font
- 預設值:: Enum.Font.SourceSansBold
- 說明:: 決定聊天窗口的默認值 。
聊天欄字體
- 類型:: Enum.Font
- 預設值:: Enum.Font.SourceSansBold
- 說明:: 決定聊天欄的默認值 。
顏色設定
背景色
- 類型:: Color3
- 預設值:: Color3.new(0, 0, 0)
預設訊息顏色
- 類型:: Color3
- 預設值:: Color3.new(1, 1, 1)
- 說明:: 決定聊天窗口中的預設 聊天訊息 。
預設名稱顏色
- 類型:: Color3
- 預設值:: Color3.new(1, 1, 1)
- 說明:: 決定聊天窗口中的 發言者名稱的默認值 ChatMessages 。
聊天欄背景顏色
- 類型:: Color3
- 預設值:: Color3.new(0, 0, 0)
聊天欄盒顏色
- 類型:: Color3
- 預設值:: Color3.new(1, 1, 1)
聊天欄文字顏色
- 類型:: Color3
- 預設值:: Color3.new(0, 0, 0)
錯誤訊息文字顏色
- 類型:: Color3
- 預設值:: Color3.fromRGB(245, 50, 50)
- 說明:: 決定錯誤訊息的 TextColor3 。
窗戶設定
最小窗口尺寸
- 類型:: UDim2
- 預設值:: UDim2.new(0.3, 0, 0.25, 0)
最大窗口尺寸
- 類型:: UDim2
- 預設值:: UDim2.new(1, 0, 1, 0)
- 注意事項:: 如果這被變更為比全螢幕尺寸大,尺寸/位置限制檢查開始發生奇怪的事情。
預設窗口位置
預設窗口尺寸電話
預設窗口尺寸平板
預設窗口尺寸桌面
在退出和設置中消失
聊天窗口背景淡化時間
聊天窗口文字淡出時間
聊天預設淡化時間
- 類型:: 浮動 (秒)
- 預設值:: 0.8
- 說明:: 決定退出聊天 UI 元素所需的時間長度。
聊天應該從新資訊中消失
- 類型:: bool
- 預設值:: false
- 說明:: 決定聊天是否在收到新訊息時消失。
聊天動畫FPS
- 類型:: 浮動
- 預設值:: 20.0
- 說明:: 決定聊天 UI 中淡化動畫的幀率。
通道設定
一般通道名稱
- 類型:: string
- 預設值:: "All"
- 說明:: 決定預設通頻道的名稱。
一般通道中的回音訊息
- 類型:: bool
- 預設值:: true
- 說明:: 決定是否將訊息轉發到默認通道以外的通道轉發到默認通頻道。
最大通道名稱長度
- 類型:: int
- 預設值:: 12
- 說明:: 決定通道名稱在被刪除之前的最大長度。
訊息歷史長度每通道
顯示加入和離開幫助文字
- 類型:: bool
- 預設值:: false
- 說明:: 決定是否顯示加入/離開通道的說明文字。
訊息設定
最大訊息長度
不允許白色空格
- 類型:: 陣列< string >
- 預設值:: {"\n", "\r", "\t", "\v", "\f"}
- 說明:: 決定禁用的白空字元。
點擊玩家名稱以囑咐
- 類型:: bool
- 預設值:: true
- 說明:: 決定玩家是否可以單擊另一名玩家的名稱以與他們進行低語聊天。
點擊通道名稱以設置主通道
- 類型:: bool
- 預設值:: true
- 說明:: 決定玩家是否可以單擊通頻道標籤將其設為主頻道。
其他設定
囑咐指令自動完成玩家名稱
- 類型:: bool
- 預設值:: true
- 說明:: 決定是否應該自動完成玩家名稱的囑咐。
事件
設定已變更
- 參數:: Library.string``settingName , 變體 newValue
- 說明: 在指定的 settingName 設置變更為 newValue 時發生火災。