Chat

Hiển Thị Bản Đã Lỗi Thời

*Nội dung này được dịch bằng AI (Beta) và có thể có lỗi. Để xem trang này bằng tiếng Anh, hãy nhấp vào đây.

Không Thể Tạo
Dịch Vụ
Không Sao Chép

Dịch vụ Trò chuyện có chứa mã Luau chịu trách nhiệm thực hiện hệ thống trò chuyện kế thừa .Tương tự như StarterPlayerScripts , các đối tượng mặc định như ScriptsModuleScripts được chèn vào dịch vụ.

Tóm Tắt

Thuộc Tính

  • Đọc Song Song

    Xác định xem tin nhắn trò chuyện của người chơi có xuất hiện trên avatar trong trò chơi của họ hay không.

  • Bảo Mật Không Thể Tiếp Cận
    Đọc Song Song

    Bật/tắt việc khung trò chuyện mặc định có nên tự động tải khi trò chơi chạy hay không.

Phương Pháp

Thuộc Tính

BubbleChatEnabled

Đọc Song Song

Nếu đúng, việc nhập một tin nhắn trong trò chuyện sẽ dẫn đến việc bong bóng trò chuyện xuất hiện trên đầu người chơi Player.Character .Hành vi này có thể được bật bằng cách trực tiếp bật kiểm tra này trong Studio, hoặc bằng cách sử dụng một LocalScript :


local ChatService = game:GetService("Chat")
ChatService.BubbleChatEnabled = true

Điều này phải được thực hiện trên khách hàng, chuyển đổi giá trị này trong phía máy chủ Script sẽ không có hiệu lực.

LoadDefaultChat

Bảo Mật Không Thể Tiếp Cận
Đọc Song Song

Bật/tắt việc khung trò chuyện mặc định có nên tự động tải khi trò chơi chạy hay không.

Phương Pháp

Chat

()

Chức năng trò chuyện kích hoạt sự kiện Chat.Chatted với các tham số được định cấu trong phương pháp này.

Mặc định, có một bên trong mỗi đối tượng của người chơi có tên là BubbleChat , gây ra sự xuất hiện của một biển báo giống như diễn đàn ở trên phần partOrCharacter khi sự kiện trò chuyện được kích hoạt.

Ghi chú: Vì các hộp thoại được kiểm soát bởi một LocalScript, bạn sẽ không thể xem bất kỳ hộp thoại nào được tạo từ phương pháp này trừ khi bạn đang chạy trong chế độ Chơi một mình.

Tham Số

partOrCharacter: Instance

Một ví dụ là phần hoặc nhân vật mà hộp thoại BubbleChat nên xuất hiện phía trên.

Giá Trị Mặc Định: ""
message: string

Chuỗi tin nhắn đang trò chuyện.

Giá Trị Mặc Định: ""

Một Enum.ChatColor định nghĩa màu của tin nhắn trò chuyện.

Giá Trị Mặc Định: "Blue"

Lợi Nhuận

()

Mẫu mã

The below example would create a part in Workspace and cause it to exclaim "Blame John!"

Chat:Chat

local ChatService = game:GetService("Chat")
local part = Instance.new("Part")
part.Anchored = true
part.Parent = workspace
ChatService:Chat(part, "Blame John!", "Red")

InvokeChatCallback

InvokeChatCallback sẽ gọi một chức năng được đăng ký bởi RegisterChatCallback , cho danh sách kiểu ChatCallbackType và các tham số để gửi chức năng.Nó sẽ trả kết quả của chức năng đã đăng ký, hoặc nâng lên một lỗi nếu không có chức năng nào được đăng ký.

Chức năng này được gọi bởi Hệ thống trò chuyện Luau để các cuộc gọi trở lại trò chuyện có thể được đăng ký để thay đổi hành vi của một số tính năng nhất định.Trừ khi bạn đang thay thế Hệ thống trò chuyện Luau mặc định bằng của sở hữubạn, bạn không cần phải gọi chức năng này.Bạn có thể đọc về các chức năng trả lời khác nhau tại Chat:RegisterChatCallback() .

Tham Số

callbackType: Enum.ChatCallbackType

Loại callback để gọi.

Giá Trị Mặc Định: ""
callbackArguments: Tuple

Các tham số sẽ được gửi đến chức năng gọi lại đã đăng ký.

Giá Trị Mặc Định: ""

Lợi Nhuận

Các giá trị được trả bởi chức năng đã đăng ký với ChatCallbackType được cho.

RegisterChatCallback

()

RegisterChatCallback gắn một chức năng vào một sự kiện hệ thống trò chuyện nhằm ảnh hưởng đến hành vi của hệ thống trò chuyện Luau.Argent đầu tiên xác định sự kiện (sử dụng enum Enum.ChatCallbackType) mà tham số thứ hai, chức năng, sẽ được gắn kết.Hệ thống trò chuyện Luau mặc định sử dụng InvokeChatCallback để gọi các chức năng đã đăng ký.Cố gắng đăng ký một cuộc gọi trả lại chỉ của máy chủ hoặc khách hàng trên một peer không phải là máy chủ hoặc khách hàng lần lượt sẽ gây ra một lỗi.Các phần sau đây mô tả cách các chức năng đã đăng ký sẽ được sử dụng theo cách nào.

Trong việc tạo cửa sổ trò chuyện OnCreatingChatWindow

Chỉ khách hàng.Gọi trước khi khách hàng xây dựng cửa sổ trò chuyện.Phải trả lại một bảng cài đặt để được hợp nhất vào thông tin được trả về bởi mô-đun ChatSettings.

Trên ClientFormattingMessage

Chỉ khách hàng.Gọi trước khi khách hàng hiển thị một tin nhắn (nếu đó là tin nhắn trò chuyện của người chơi, tin nhắn hệ thống hoặc lệnh /me).Chức năng này được gọi với đối tượng tin nhắn và có thể (hoặc có thể không) trả về một bảng để hợp nhất vào message.ExtraData .

Trên ClientGửi tin nhắn

Không được gọi tại thời điểm này.

Trên ServerReceivingMessage

Chỉ máy chủ.Gọi khi máy chủ nhận được một tin nhắn từ một người phát biểu (lưu ý rằng các người phát biểu có thể không nhất thiết phải là một cuộc trò chuyện Player).Cuộc gọi trả lại này được gọi với đối tượng Tin nhắn.Chức năng có thể thay đổi đối tượng Tin nhắn để thay đổi cách thức mà tin nhắn được xử lý. Phải trả lại đối tượng Tin nhắn để cho cuộc gọi lại này làm bất cứ điều gì.: Việc thiết lập lại cuộc gọi này có thể cho phép máy chủ, ví dụ:

  • Set message.ShouldDeliver đến false để huỷ gửi tin nhắn cho người chơi (hữu ích để thực hiện danh sách loại trừ trò chuyện)
  • Nhận/đặt màu tên của người loa( message.ExtraData.NameColor , một Color3) trên cơ sở tin nhắn-theo-tin nhắn

Tham Số

callbackType: Enum.ChatCallbackType

Cuộc gọi trả lại mà chức năng sẽ được đăng ký (điều này xác định theo cách chức năng được gọi).

Giá Trị Mặc Định: ""
callbackFunction: function

Chức năng được gọi khi cuộc gọi lại được kích hoạt bằng cách sử dụng Trò chuyện:InvokeChatCallback.

Giá Trị Mặc Định: ""

Lợi Nhuận

()

SetBubbleChatSettings

()

Chức năng này tùy chỉnh các cài đặt khác nhau của cuộc trò chuyện bong bóng trong trò chơi.

Trước khi sử dụng, hãy chắc chắn rằng cuộc trò chuyện bong bóng được bật bằng cách thiết lập Chat.BubbleChatEnabled thành true.

Các tham số cài đặt là một bảng nơi các chìa khóa là tên của các cài đặt bạn muốn chỉnh sửa và các giá trị là những gì bạn muốn thay đổi các cài đặt này.Lưu ý rằng bạn không cần phải bao gồm tất cả chúng trong cụm từ cài đặt, bỏ một số sẽ dẫn đến việc giữ giá trị mặc định của chúng.

Chức năng này chỉ dành cho phía khách, cố gọi nó trên máy chủ sẽ gây ra lỗi.

Tham Số

settings: Variant

Một bảng cài đặt.

Giá Trị Mặc Định: ""

Lợi Nhuận

()

Mẫu mã

When run from a LocalScript, this snippet will make all the chat bubbles appear with bigger text under a different font and a light blue background. Note that all the other settings will keep their default value.

Customize visual aspects

local ChatService = game:GetService("Chat")
ChatService:SetBubbleChatSettings({
BackgroundColor3 = Color3.fromRGB(180, 210, 228),
TextSize = 20,
Font = Enum.Font.Cartoon,
})

If you want to reset the bubble chat to its default look, you can call this function with an empty table, because any setting you omit from the argument will result in it returning to its default value:

Restore default settings

local ChatService = game:GetService("Chat")
ChatService:SetBubbleChatSettings({})

CanUserChatAsync

Sinh Lợi

Sẽ trả về false nếu người chơi với Player.UserId được đề cập không được phép trò chuyện do cài đặt tài khoản của họ.

Tham Số

userId: number
Giá Trị Mặc Định: ""

Lợi Nhuận

CanUsersChatAsync

Sinh Lợi

Sẽ trả về false nếu hai người dùng không thể giao tiếp vì cài đặt tài khoản của họ không cho phép.

Tham Số

userIdFrom: number
Giá Trị Mặc Định: ""
userIdTo: number
Giá Trị Mặc Định: ""

Lợi Nhuận

FilterStringAsync

Sinh Lợi

Cảnh báo giảm phần một phần : Gọi chức năng này từ khách hàng bằng cách sử dụng một LocalScript đã lỗi thời và sẽ bị vô hiệu hóa trong tương lai.Lọc văn bản nên được thực hiện từ một Script trên máy chủ bằng cách sử dụng TextService:FilterStringAsync() có tên tương tự, sử dụng một bộ tham số và đánh máytrả lại khác nhau.

Các trò chơi không lọc đúng cách văn bản do người chơi tạo có thể bị áp dụng hành động kiểm duyệt.Hãy chắc chắn rằng một trò chơi lọc đúng chỗ văn bản trước khi xuất bản nó.

FilterStringAsync lọc một chuỗi bằng cách lọc phù hợp với người gửi và người chơinhận.Nếu chuỗi lọc được sử dụng cho một tin nhắn lâu dài, chẳng hạn như tên của một cửa chọn mua, viết trên một tấm, v.v., thì chức năng nên được gọi với tác giả là cả người gửi và người nhận.

Chức năng này nên được sử dụng mỗi lần một người chơi có thể nhập văn bản tùy chỉnh trong bất kỳ ngữ cảnh nào , thường sử dụng một TextBox.Một số ví dụ về văn bản cần lọc:

  • Tin nhắn trò chuyện tùy chỉnh
  • Tên nhân vật tùy chỉnh
  • Tên cho một cửa hàng trong một trò chơi theo phong cách tycoon

Tham Số

stringToFilter: string

Chuỗi thô để lọc, chính xác như được nhập bởi người chơi.

Giá Trị Mặc Định: ""
playerFrom: Player

Tác giả của văn bản.

Giá Trị Mặc Định: ""
playerTo: Player

Người nhận dự định của văn bản được cung cấp; sử dụng tác giả nếu văn bản là lâu dài (xem miêu tả).

Giá Trị Mặc Định: ""

Lợi Nhuận

FilterStringForBroadcast

Sinh Lợi

Lọc một chuỗi được gửi từ playerFrom để phát sóng đến không có mục tiêu cụ thể. Tin nhắn lọc có nhiều hạn chế hơn Chat:FilterStringAsync() .

Một số ví dụ về nơi mà phương pháp này có thể được sử dụng:

  • Tường tin nhắn
  • Tiếng hét giữa các máy chủ
  • Dấu hiệu được tạo bởi người dùng

Gọi FilterString từ LocalScripts sẽ bị loại bỏ và sẽ bị vô hiệu hóa trong tương lai.Lọc văn bản nên được thực hiện từ phía máy chủ Scripts bằng cách sử dụng FilterStringAsync.

Ghi chú: Một trò chơi không sử dụng chức năng lọc này để chat tùy chỉnh hoặc văn bản được tạo bởi người dùng khác có thể bị áp dụng hành động kiểm duyệt.

Tham Số

stringToFilter: string

Chuỗi tin nhắn đang bị lọc.

Giá Trị Mặc Định: ""
playerFrom: Player

Ví dụ của người chơi gửi tin nhắn.

Giá Trị Mặc Định: ""

Lợi Nhuận

Chuỗi tin chuỗibị lọc.

Mẫu mã

The following example shows a simple way to use the FilterStringForBroadcast function. The example uses the message variable as the stringToFilter argument and the local player as the playerFrom argument.

The example then prints the result of the filtering function, FilteredString.

Chat:FilterStringForBroadcast

local Players = game:GetService("Players")
local Chat = game:GetService("Chat")
local playerFrom = Players.LocalPlayer
local message = "Hello world!"
-- Filter the string and store the result in the 'FilteredString' variable
local filteredString = Chat:FilterStringForBroadcast(message, playerFrom)
print(filteredString)

Sự Kiện

Chatted

Bắt lửa khi Chat:Chat() được gọi.

Tham Số

part: Instance
message: string