客戶端聊天模組

*此內容是使用 AI(Beta 測試版)翻譯,可能含有錯誤。若要以英文檢視此頁面,請按一下這裡

您可以使用以下聊天模組來支持 舊版聊天系統 的客戶端行為。

聊天窗口

聊天窗口 是舊版聊天系統客戶端的主要聊天模組

方法

新增通道

移除通道

  • 參數:: string : channelName
  • 說明:: 移除窗口中的 ChatChannelUI 以移除指定的 channelName
  • 返回值:: 無效

取得通道

  • 參數:: string : channelName
  • 說明:: 獲取指定的 ChatChannelUI ,如果存在。
  • 返回值:: ChatChannelUInil

取得當前通道

切換當前通道

  • 參數:: string : channelName
  • 說明:: 切換現有通道到 ChatChannelUI 以使用指定的 channelName 如果存在。
  • 返回值:: 無效

獲得可見

  • 參數::
  • 說明:: 返回窗口是否可見。注意:這指的是一般聊天 UI;當聊天窗口由於閒置而變透明時,窗口仍被視為可見。
  • 返回值:: bool

設定可見

  • 參數:: bool : visible
  • 說明:: 設置聊天窗口的可見度。
  • 返回值:: 無效

淡出背景

  • 參數:: float : duration
  • 說明:: 在指定的 duration 秒內淡化背景。注意:稍後呼叫控制淡化進入/退出將覆蓋先前呼叫。
  • 返回值:: 無效

逐漸消失背景

  • 參數:: float : duration
  • 說明:: 在指定的 duration 秒內在背景中消失。注意:稍後呼叫控制淡化進入/退出將覆蓋先前呼叫。
  • 返回值:: 無效

淡出文字

  • 參數:: float : duration
  • 說明:: 在秒鐘內淡化給定的 duration 文字。注意:稍後呼叫控制淡化進入/退出將覆蓋先前呼叫。
  • 返回值:: 無效

淡出文字

  • 參數:: float : duration
  • 說明:: 在指定的 duration 秒內消失在文字上。注意:稍後呼叫控制淡化進入/退出將覆蓋先前呼叫。
  • 返回值:: 無效

聊天欄

聊天欄 處理Lua聊天系統的客戶端文字輸入 。聊天欄有兩個關鍵組成部分:

  • 聊天欄 ,一個 TextBox ,其中玩家輸入消息和指令 (以橙色突出顯示)
  • 訊息模式 ,一個 TextLabel ,可以顯示傳送的訊息資訊 (強調顯示綠色)

方法

取得文字框

  • 參數::
  • 說明:: 返回聊天欄的 TextBox
  • 返回值:: TextBox

取得訊息模式文字標籤

  • 參數::
  • 說明:: 返回訊息模式 TextLabel
  • 返回值:: TextLabel

已聚焦

  • 參數::
  • 說明:: 返回聊天欄的 TextBox 是否處於聚焦狀態 (玩家正在輸入方塊中)。等於呼叫 TextBox:IsFocused 在 GetTextBox 的結果上。
  • 返回值:: bool

捕捉焦點

  • 參數::
  • 說明:: 強制客戶專注於聊天欄的 TextBox 。等於呼叫 TextBox:CaptureFocus GetTextBox 的結果。
  • 返回值:: 無效

發行焦點

  • 參數:: bool : submitted = false
  • 說明:: 發布聊天欄的焦點TextBox。如果 submitted 是真的,這會像是玩家按下 Enter 來提交訊息。
  • 返回值:: 無效

重設文字

  • 參數::
  • 說明:: 將聊天欄 TextTextBox 設為空字串。
  • 返回值:: 無效

設定文字框本文字

  • 參數:: string : text
  • 說明:: 將聊天欄的 設置為指定的 。
  • 返回值:: 無效

取得文字框本文字

  • 參數::
  • 說明:: 返回聊天欄中的文字 TextBox.Text
  • 返回值:: string

設定文字標籤文字

  • 參數:: string : text
  • 說明:: 設置 MessageMode TextTextLabel 到指定的 text
  • 返回值:: 無效

獲得啟用

  • 參數::
  • 說明:: 返回聊天欄是否為 Visible
  • 返回值:: bool

設定啟用

  • 參數:: bool : enabled
  • 說明:: 設置聊天欄是否為 Visible
  • 返回值:: 無效

設定文字尺寸

  • 參數:: inttextSize
  • 說明:: 設置聊天欄的TextSize和訊息模式TextBoxTextLabel
  • 返回值:: 無效

重設尺寸

  • 參數::
  • 說明:: 將聊天欄的大小重設為一行文字。
  • 返回值:: 無效

設定通道目標

  • 參數:: string : channelName
  • 說明:: 設置目標 ChatChannelUI 給予其 channelName 以便聊天欄提交消息。
  • 返回值:: 無效

淡出背景

  • 參數:: float : duration``duration
  • 說明:: 在指定的 duration 秒內淡化背景。注意:稍後呼叫控制淡化進入/退出將覆蓋先前呼叫。
  • 返回值:: 無效

逐漸消失背景

  • 參數:: float : duration``duration
  • 說明:: 在指定的 duration 秒內在背景中消失。注意:稍後呼叫控制淡化進入/退出將覆蓋先前呼叫。
  • 返回值:: 無效

淡出文字

  • 參數:: float : duration``duration
  • 說明:: 在秒鐘內淡化給定的 duration 文字。注意:稍後呼叫控制淡化進入/退出將覆蓋先前呼叫。
  • 返回值:: 無效

淡出文字

  • 參數:: float : duration``duration
  • 說明:: 在指定的 duration 秒內消失在文字上。注意:稍後呼叫控制淡化進入/退出將覆蓋先前呼叫。
  • 返回值:: 無效

聊天通道用戶介面

ChatChannelUIChatChannel的客戶端版本。它從伺服器接收 聊天訊息 並將它們傳給 聊天訊息記錄顯示。與它相關。

方法

添加訊息到通道

從通道移除最後一個訊息

清除訊息記錄

聊天訊息記錄顯示

聊天訊息記錄顯示 管理在聊天通道介面中渲染聊天訊息

方法

添加訊息

  • 參數:: 聊天訊息message
  • 說明:: 添加一個 message 到訊息記錄顯示。
  • 返回值:: 無效

移除最後一個訊息

  • 參數::
  • 說明:: 移除訊息記錄中最舊的 聊天訊息
  • 返回值:: 無效

重新排序所有訊息

  • 參數::
  • 說明:: 重新排序所有訊息顯示的順序,相對於訊息顯示的大小。這應該在訊息記錄顯示縮放時呼叫。
  • 返回值:: 無效

清除

  • 參數::
  • 說明:: 移除所有 聊天訊息 從訊息記錄顯示。
  • 返回值:: 無效

淡出文字

  • 參數:: floatduration
  • 說明:: 在秒鐘內淡化給定的 duration 文字。注意:稍後呼叫控制淡化進入/退出將覆蓋先前呼叫。
  • 返回值:: 無效

淡出文字

  • 參數:: floatduration
  • 說明:: 在指定的 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
  • 說明:: 決定是否 ChatWindowDraggable

窗戶可縮放

  • 類型:: bool
  • 預設值:: false
  • 說明:: 決定是否可以由玩家調整 聊天窗口 的大小

遊戲控制板導航啟用

  • 類型:: bool
  • 預設值:: false
  • 說明:: 決定遊戲手柄是否可以導航聊天介面。

顯示使用者已過濾訊息

  • 類型:: bool
  • 預設值:: true
  • 說明:: 決定玩家應該看到過濾版本的聊天訊息,還是原始內容他們輸入的內容。

聊天時使用頂部欄關閉

  • 類型:: bool
  • 預設值:: false
  • 說明:: 確定聊天 UI 是否啟用,即使顶部栏被禁用。

對話泡泡啟用

  • 類型:: bool
  • 預設值:: game:GetService("Players").BubbleChat
  • 說明:: 決定是否啟用對話泡泡。

經典聊天啟用

  • 類型:: bool
  • 預設值:: game:GetService("Players").ClassicChat
  • 說明:: 決定是否啟用經典聊天。

聊天室字體大小設定

聊天窗口文字尺寸

  • 類型:: int
  • 預設值:: 18
  • 說明:: 決定 聊天窗口 中文字的大小。

聊天欄文字尺寸

  • 類型:: int
  • 預設值:: 18
  • 說明:: 決定 聊天欄 中文字的大小。

聊天窗口文字尺寸電話

  • 類型:: int
  • 預設值:: 14
  • 說明:: 確定電話的 聊天窗口 文字大小。

聊天欄文字尺寸電話

  • 類型:: int
  • 預設值:: 14
  • 說明:: 確定電話的 聊天欄 文字大小。

字體設定

預設字體

聊天欄字體

顏色設定

背景色

  • 類型:: Color3
  • 預設值:: Color3.new(0, 0, 0)
  • 說明:: 決定 BackgroundColor3

預設訊息顏色

  • 類型:: Color3
  • 預設值:: Color3.new(1, 1, 1)
  • 說明:: 決定聊天窗口中的預設 聊天訊息 。

預設名稱顏色

  • 類型:: Color3
  • 預設值:: Color3.new(1, 1, 1)
  • 說明:: 決定聊天窗口中的 發言者名稱的默認值 ChatMessages 。

聊天欄背景顏色

  • 類型:: Color3
  • 預設值:: Color3.new(0, 0, 0)
  • 說明:: 決定 BackgroundColor3

聊天欄盒顏色

  • 類型:: Color3
  • 預設值:: Color3.new(1, 1, 1)
  • 說明:: 決定 BackgroundColor3聊天欄TextBox

聊天欄文字顏色

  • 類型:: Color3
  • 預設值:: Color3.new(0, 0, 0)
  • 說明:: 決定 TextColor3

錯誤訊息文字顏色

  • 類型:: Color3
  • 預設值:: Color3.fromRGB(245, 50, 50)
  • 說明:: 決定錯誤訊息的 TextColor3

窗戶設定

最小窗口尺寸

  • 類型:: UDim2
  • 預設值:: UDim2.new(0.3, 0, 0.25, 0)
  • 說明:: 決定 聊天窗口 的最小可能尺寸(已啟用 可縮放窗戶 )。

最大窗口尺寸

  • 類型:: UDim2
  • 預設值:: UDim2.new(1, 0, 1, 0)
  • 說明:: 決定 聊天窗口 的最大可能尺寸(已啟用 可縮放窗戶 )。
  • 注意事項:: 如果這被變更為比全螢幕尺寸大,尺寸/位置限制檢查開始發生奇怪的事情。

預設窗口位置

  • 類型:: UDim2
  • 預設值:: UDim2.new(0, 0, 0, 0)
  • 說明:: 決定 聊天窗口 的預設位置。

預設窗口尺寸電話

  • 類型:: UDim2
  • 預設值:: UDim2.new(0.5, 0, 0.5, (7 * 2) + (5 * 2))
  • 說明:: 決定電話上的 聊天窗口 的預設尺寸。

預設窗口尺寸平板

  • 類型:: UDim2
  • 預設值:: UDim2.new(0.4, 0, 0.3, (7 * 2) + (5 * 2))
  • 說明:: 決定表上的 聊天窗口 默认尺寸。

預設窗口尺寸桌面

  • 類型:: UDim2
  • 預設值:: UDim2.new(0.3, 0, 0.25, (7 * 2) + (5 * 2))
  • 說明:: 決定桌面上的 聊天窗口 默认尺寸。

在退出和設置中消失

聊天窗口背景淡化時間

  • 類型:: 浮動 (秒)
  • 預設值:: 0.5
  • 說明:: 決定 聊天窗口 背景消失所需的時間。

聊天窗口文字淡出時間

  • 類型:: 浮動 (秒)
  • 預設值:: 30
  • 說明:: 決定 聊天窗口 文字淡化所需的時間。

聊天預設淡化時間

  • 類型:: 浮動 (秒)
  • 預設值:: 0.8
  • 說明:: 決定退出聊天 UI 元素所需的時間長度。

聊天應該從新資訊中消失

  • 類型:: bool
  • 預設值:: false
  • 說明:: 決定聊天是否在收到新訊息時消失。

聊天動畫FPS

  • 類型:: 浮動
  • 預設值:: 20.0
  • 說明:: 決定聊天 UI 中淡化動畫的幀率。

通道設定

一般通道名稱

  • 類型:: string
  • 預設值:: "All"
  • 說明:: 決定預設通頻道的名稱。

一般通道中的回音訊息

  • 類型:: bool
  • 預設值:: true
  • 說明:: 決定是否將訊息轉發到默認通道以外的通道轉發到默認通頻道。

最大通道名稱長度

  • 類型:: int
  • 預設值:: 12
  • 說明:: 決定通道名稱在被刪除之前的最大長度。

訊息歷史長度每通道

  • 類型:: int
  • 預設值:: 50
  • 說明:: 決定聊天頻道中可以顯示的最大 聊天訊息 數量。

顯示加入和離開幫助文字

  • 類型:: bool
  • 預設值:: false
  • 說明:: 決定是否顯示加入/離開通道的說明文字。

訊息設定

最大訊息長度

  • 類型:: int
  • 預設值:: 200
  • 說明:: 決定 聊天訊息 的最大長度。

不允許白色空格

  • 類型:: 陣列< string >
  • 預設值:: {"\n", "\r", "\t", "\v", "\f"}
  • 說明:: 決定禁用的白空字元。

點擊玩家名稱以囑咐

  • 類型:: bool
  • 預設值:: true
  • 說明:: 決定玩家是否可以單擊另一名玩家的名稱以與他們進行低語聊天。

點擊通道名稱以設置主通道

  • 類型:: bool
  • 預設值:: true
  • 說明:: 決定玩家是否可以單擊通頻道標籤將其設為主頻道。

其他設定

囑咐指令自動完成玩家名稱

  • 類型:: bool
  • 預設值:: true
  • 說明:: 決定是否應該自動完成玩家名稱的囑咐。

事件

設定已變更

  • 參數:: Library.string``settingName , 變體 newValue
  • 說明: 在指定的 settingName 設置變更為 newValue 時發生火災。

此頁面