Chat
*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.
Dịch vụ Trò chuyện lưu trữ mã Lua có trách nhiệm chạy hệ thống chat diễn đàn. Tương tự như StarterPlayerScripts , các đối tượng mặc định như 2>Class.Script|Scripts2> và 5>Class.ModuleScript|ModuleScripts
Tóm Tắt
Thuộc Tính
Xác định có phải tin nhắn trò chuyện của người chơi sẽ xuất hiện trên avatar trò chơi của họ không.
Bật/tắt màn hình chat mặc định khi chơi trò chơi.
Phương Pháp
Kích hoạt sự kiện Chat.Chatted với các tham số được xác định trong phương thức này.
Gọi một hàm chức năng trò chuyện đã đăng ký bởi RegisterChatCallback. Được sử dụng bởi hệ thống trò chuyện Lua.
Đăng ký một chức năng để được gọi khi một sự kiện trong hệ thống trò chuyện được gọi (InvokeChatCallback).
Tùy chỉnh các cài đặt khác nhau của trò chuyện bong bóng trong game.
Sẽ trả lại lỗi nếu người chơi với định dạng Player.UserId không được phép trò chuyện vì cài đặt tài khoản của họ.
Sẽ trả lại lỗi nếu hai người không thể trò chuyện vì cài đặt tài khoản của họ không cho phép.
Lọc một chuỗi được gửi từ một người chơi đến một người chơi khác bằng cách sử dụng lọc phù hợp với cài đặt tài khoản của người chơi.
Lọc một chuỗi được gửi từ một người chơi để không phải là mục tiêu cụ thể. Hạn chế hơn so với Chat:FilterStringAsync() .
Sự Kiện
Lửa khi Chat:Chat() được gọi.
Thuộc Tính
BubbleChatEnabled
Nếu đúng, nhập một tin nhắn trong trò chuyện sẽ kết thúc bằng một vòng trò chuyện nổi trên trên của Player.Character của người chơi. Điều này có thể được bật bằng cách trực tiếp nhấp vào hộp kiểm này trong Studio, hoặc bằng cách sử dụng một
local ChatService = game:GetService("Chat")ChatService.BubbleChatEnabled = true
Điều này phải được thực hiện trên client, toggling giá trị này trong một Script bên server sẽ không có hiệu lực.
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 xác định trong phương thức này.
Bởi mặc định, có một LocalScript bên trong mỗi cái người chơi's PlayerScripts object tên là BubbleChat, which causes một bảng hiệu trò chuyện như thể thoát ra trên phần 2> characterOrCharacter2> khi sự kiện chat được kích hoạt.
Ghi chú: Since các hội thoại được điều khiển bởi một LocalScript, bạn sẽ không thể xem bất kỳ hội 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ố
Một instace là phần hoặc nhân vật mà hội thoại BubbleChat nên xuất hiện trên.
Chuỗi tin nhắn đang được trò chuyện.
Một Enum.ChatColor định màu cho tin nhắn trò chuyện.
Lợi Nhuận
Mẫu mã
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 hàm đã đăng ký bởi RegisterChatCallback , cho phép nhận biết hàm đã đăng ký và các引数 để gửi hàm. Nó sẽ trả kết quả của hàm đã đăng ký hoặc nêu lỗi nếu không có hàm đã đăng ký.
Hành động này được gọi bởi hệ thống trò chuyện Lua để cho phép 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. Ngay cả khi bạn không đang thay thế hệ thống trò chuyện Lua mặc định của bạn bằng cách sử
Tham Số
Loại của hồi gọi để gọi.
Các引数 được gửi đến chức năng gọi đăng nhập.
Lợi Nhuận
Giá trị được trả lại bởi hàm đã đăng ký trong ChatCallbackType.
RegisterChatCallback
RegisterChatCallback liên kết một chức năng vào một sự kiện trong hệ thống chat để ảnh hưởng đến hành vi của hệ thống chat Lua. First argument determines the event (using the Class.Trò chuyện:ExecuteChatCallback
Khi tạo Cửa sổ trò chuyện
Chỉ khi 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ả lại bởi modul ChatSettings.
Tin nhắn OnClientFormatting
Chỉ khi khách hàng. Được gọi trước khi khách hàng hiển thị một thông điệp (đó là một thông tin nhắncủa người chơi, thông điệp hệ thống hoặc /me command). Đây là hành động được gọi với hành động object và có thể (hoặc không) trả lại một table để được hợp nhấ
TrênClientSendingMessage
Không được gọi đến đây lúc này.
Trên máy chủ nhận tin nhắn
Chỉ cho máy chủ. Khi máy chủ nhận được một tin nhắn từ một người nói chuyện (lưu ý rằng người nói chuyện có thể không phải là một Class.Player chatting). Đối tượng Tin nhắn được gọi với tên Tin nhắn . Đố
- Set message.ShouldDeliver để false để huỷ giao dịch của thông điệp cho người chơi (hữu ích cho việc thực hiện một danh sách cấm chat)
- Lấy/thiết màu tên loanói chuyện ( message.ExtraData.NameColor , một Color3) trên cơ sở dựa trên tin nhắn
Tham Số
Hàm gọi được đăng ký (điều này xác định cách mà hàm gọi được gọi).
Hàm để gọi khi gọi lại được sử dụng bằng Trò chuyện:ExecuteChatCallback.
Lợi Nhuận
SetBubbleChatSettings
Hành chức này tùy chỉnh các cài đặt khác nhau của trò chuyện bong bóng trong trò chơi.
Trước khi sử dụng cái này, hãy chắc chắn rằng trò chuyện bong bóng được bật bằng cách thiết lập Chat.BubbleChatEnabled để true.
Cấu hình 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à 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ấu hình, bỏ qua một số sẽ khiến chúng giữ giá trị mặc định c
Hành động này chỉ dành cho phía client, thử gọi nó trên máy chủ sẽ khiến một lỗi xảy ra.
Tham Số
Một bảng cài đặt.
Lợi Nhuận
Mẫu mã
local ChatService = game:GetService("Chat")
ChatService:SetBubbleChatSettings({
BackgroundColor3 = Color3.fromRGB(180, 210, 228),
TextSize = 20,
Font = Enum.Font.Cartoon,
})
local ChatService = game:GetService("Chat")
ChatService:SetBubbleChatSettings({})
CanUserChatAsync
Sẽ trả lại lỗi nếu người chơi với định dạng Player.UserId không được phép trò chuyện vì cài đặt tài khoản của họ.
Tham Số
Lợi Nhuận
CanUsersChatAsync
Sẽ trả lại lỗi nếu hai người không thể trò chuyện vì cài đặt tài khoản của họ không cho phép.
Tham Số
Lợi Nhuận
FilterStringAsync
Cảnh báo giảm giá bán phần : Gọi chức năng này từ client bằng cách sử dụng một LocalScript đã được lỗi thời, và sẽ bị vô hiệu hóa trong tương lai. Bộ lọc đánh máythuộc tính nên đư
Các trò chơi không đúng cách lọc chữ người dùng tạo ra có thể bị hành động kiểm duyệt. Vui lòng chắc chắn rằng một trò chơi lọc chữ người dùng tạo ra trước khi xuất bản nó.
FilterStringAsync lọc một chuỗi bằng cách sử dụng lọc phù hợp cho người gửi và nhận. Nếu chuỗi bị lọc để được sử dụng cho một tin nhắnđiện tử persist, chẳng hạn như tên của một cửa chọn mua, viết trên một bảng hiệu, v.v. thì chức năng này nên được g
Hành động này nên được sử dụng mỗi lần player có thể nhập chữ ký tùng từ trong bất kỳ context nào , thường sử dụng nhiều nhất là một Class.Toolbar . Vài ví dụ về chữ ký để được 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 kiểu tycoon
Tham Số
Chuỗi chuẩn để lọc, chính xác như đã được nhập bởi người chơi.
Người viết bài viết.
Người nhận dữ liệu; sử dụng người viết nếu dữ liệu là persist (xem miêu tả).
Lợi Nhuận
FilterStringForBroadcast
Lọc một chuỗi được gửi từ playerFrom cho phát sóng 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 gầm giữa các máy chủ
- Dấu hiệu tạo bởi người dùng
Gọi FilterString từ LocalScripts là đã được lỗi và sẽ bị vô hiệu hóa trong tương lai. Bộ lọc chữ văn nên được thực hiện từ phía máy chủ 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 cho trò chuyện tùy chỉnh hoặc văn bản người dùng tạo khác có thể bị áp dụng hành động kiểm duyệt.
Tham Số
Đang lọc chuỗi thông điệp.
Instância do jogador enviando a tin nhắn.
Lợi Nhuận
Chuỗi tin nhắn chuỗi.
Mẫu mã
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)