Chat
*เนื้อหานี้แปลโดยใช้ AI (เวอร์ชัน Beta) และอาจมีข้อผิดพลาด หากต้องการดูหน้านี้เป็นภาษาอังกฤษ ให้คลิกที่นี่
บริการ แชท มีรหัส Lua ที่รับผิดชอบในการดำเนินงานระบบการแชทมรดก Class.StarterPlayerScripts และวัตถุปกติเช่น 1>Class.Script|Scripts1> และ 4>Class.ModuleScript|ModuleScripts4>
สรุป
คุณสมบัติ
กำหนดว่าข้อความในการแชทของผู้เล่นจะปรากฏเหนือ อวาตาร์ของพวกเขาในเกม
สลับไปยังโครงสร้างการแชทเริ่มต้นที่ควรจะโหลดอัตโนมัติเมื่อเกมวิ่ง
วิธีการ
เริ่มการโหมด Chat.Chatted ด้วยพารามิเตอร์ที่ระบุในวิธีนี้
เรียกใช้ตัวเรียกแชทที่ลงทะเบียนโดย RegisterChatCallback ใช้โดย Lua ระบบแชท
ลงทะเบียนให้ฟังชันที่จะเรียกในบางอีเมนต์ของระบบแชท ( InvokeChatCallback )
ปรับแต่งการตั้งค่าต่างๆ ของบับเบิลแชทในเกม
จะส่งคืน false หากผู้เล่นที่มี Player.UserId นี้ไม่สามารถแชทได้เนื่องจากการตั้งค่าบัญชีของพวกเขา
จะส่งคืน false หากผู้ใช้สองคนไม่สามารถสื่อสารกันได้เนื่องจากการตั้งค่าบัญชีของพวกเขาไม่อนุญาต
กรองตัวอักษรที่ส่งจากผู้เล่นไปยังผู้เล่นอื่นโดยใช้การกรองที่เหมาะสมกับการตั้งค่าบัญชีของผู้เล่น
กรองสตริงที่ส่งจากผู้เล่นเพื่อการส่งทางการเรียกร้องไปยังเป้าหมายเฉพาะ มากกว่า Chat:FilterStringAsync() .
อีเวนต์
เปิดเมื่อ Chat:Chat() ถูกเรียก
คุณสมบัติ
BubbleChatEnabled
หากเป็นเช่นนั้นจะมีป๊อปอักขระในแชทปรากฏขึ้นด้านบนของ Player.Character ผู้เล่นพฤติกรรมนี้สามารถเปิดใช้งานได้โดยการกดปุ่มเช็คใน Studio หรือโดยใช้ LocalScript :
local ChatService = game:GetService("Chat")ChatService.BubbleChatEnabled = true
นี้ต้องทำในเครื่องของลูกค้า การเปิด/ปิดค่านี้ใน Script
วิธีการ
Chat
ฟังชันแชทเรียกอีเวนต์ Chat.Chatted ด้วยพารามิเตอร์ที่ระบุในวิธีนี้
โดยปกติ, มี LocalScript ภายในแต่ละ ผู้เล่น's PlayerScripts วัตถุที่มีชื่อว่า BubbleChat ซึ่งทำให้ป้ายชื่อเหมือนกระดาษปรากฏขึ้นเหนือส่วน 2>ตัวละคร2> เ
หมายเหตุ:: เนื่องจากการแสดงผลโดย LocalScript จะไม่สามารถดูการแสดงผลใด ๆ ที่สร้างขึ้นจากวิธีนี้ยกเว้นคุณกำลังดำเนินการในโหมด เล่นเดี่ยว
พารามิเตอร์
ตัวอย่างที่เป็นส่วนหรือตัวละครที่ปรากฏใน กระทู้ฟอง ดิаโกรมจะปรากฏด้านบน
ข้อความสตริงที่ได้รับการแชท
Entity.ChatColor กำหนดสีข้อความในการแชท
ส่งค่ากลับ
ตัวอย่างโค้ด
local ChatService = game:GetService("Chat")
local part = Instance.new("Part")
part.Anchored = true
part.Parent = workspace
ChatService:Chat(part, "Blame John!", "Red")
InvokeChatCallback
InvokeChatCallback จะเรียกใช้งานที่ลงทะเบียนโดย RegisterChatCallback โดยมีรายการชื่อฟังก์ชันที่ลงทะเบียนและข้อมูลอาร์กุมเมนต์สำหรับการส่งฟังก์ชัน มันจะกลับค่าของฟังก์ชันที่ลงทะเบี
ฟังก์ชันนี้เรียกโดย Lua แชทSystem เพื่อให้สามารถลงทะเบียนการโทรกลับ chat เพื่อเปลี่ยนพฤติกรรมของคุณ ยกเว้นคุณไม่ได้แทนที่ Lua Chat System เป็นเจ้าของคุณจึงไม่จำเป็นต้องเรียกใช้ฟ
พารามิเตอร์
ประเภทของคำเรียกที่จะเรียก
ตัวอ้างที่จะส่งไปยังคำเรียกร้องที่ลงทะเบียน
ส่งค่ากลับ
มูลค่าที่กลับมาจากการลงทะเบียนฟังก์ชันในช่องแชทที่กำหนด
RegisterChatCallback
ลงทะเบียนChatCallback ผูกค่าฟังก์ชันบางอย่างเพื่อให้ผลการทำงานของระบบแชท Lua ตัวแรกจะกำหนดค่า (โดยใช้ <
เมื่อสร้างหน้าต่างแชท
เฉพาะลูกค้า เรียกก่อนที่ลูกค้าจะสร้างหน้าต่างแชท ต้องการให้กลับตารางการตั้งค่าเพื่อผสานกับข้อมูลที่นำเสนอโดยโมดูล ChatSettings
ข้อความการแต่งตั้ง OnClient
สำหรับลูกค้าเท่านั้น เรียกก่อนที่ลูกค้าจะแสดงข้อความ (ไม่ว่าจะเป็นข้อความของผู้เล่นหรือข้อความของระบบหรือ /me คำสั่ง) ฟังก์ชันนี้จะเรียกใช้ด้วยตัวแปรข้อความและอาจ (หรืออ
OnClientSendingMessage
ไม่ได้เรียกใช้ในเวลานี้
OnServerReceivingMessage
เฉพาะเซิร์ฟเวอร์ เรียกเมื่อเซิร์ฟเวอร์ได้รับข้อความจากผู้พูด (โปรดทราบว่าผู้พูดอาจไม่จำเป็นต้องเป็น Player เมื่อเรียกคืนนี้
- ตั้ง message.ShouldDeliver เป็น false เพื่อยกเลิกการส่งข้อความไปยังผู้เล่น (มีประโยชน์สำหรับการใช้รายการแชทสิทธิ์)
- ลำโพง( message.ExtraData.NameColor , สี 3) บนพื้นมาส์ข้อความ
พารามิเตอร์
คือตัวแปรที่จะลงทะเบียนในตัวฟังก์ชัน (นี่จะกำหนดวิธีที่ฟังก์ชันจะเรียก)
หน้าต่างที่ให้โทรเมื่อเรียกแบ็คแก๊ร์โดยใช้ แชท:ExecuteChatCallback
ส่งค่ากลับ
SetBubbleChatSettings
ระบบนี้ปรับแต่งการตั้งค่าต่างๆ ของบับเบิลแชทในเกม
ก่อนที่จะใช้สิ่งนี้ให้แน่ใจว่าปุ่มแชทฟองอากาศเปิดใช้งานโดยการตั้งค่า Chat.BubbleChatEnabled เป็น true
ตัวแปรการตั้งค่าเป็นตารางที่มีชื่อของการตั้งค่าที่คุณต้องการแก้ไขและมีค่าเป็นสิ่งที่คุณต้องการเปลี่ยนแปลงเหล่านี้ให้เป็น หมายเหตุว่าคุณไม่จำเป็นต้องรวมทั้งหมดในตัวแปรการต
ฟังก์ชันนี้เฉพาะสำหรับลูกค้าเท่านั้น การพยายามโทรให้มันบนเซิร์ฟเวอร์จะเรียกข้อผิดพลาด
พารามิเตอร์
ตารางการตั้งค่า
ส่งค่ากลับ
ตัวอย่างโค้ด
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
จะส่งคืน false หากผู้เล่นที่มี Player.UserId นี้ไม่สามารถแชทได้เนื่องจากการตั้งค่าบัญชีของพวกเขา
พารามิเตอร์
ส่งค่ากลับ
CanUsersChatAsync
จะส่งคืน false หากผู้ใช้สองคนไม่สามารถสื่อสารกันได้เนื่องจากการตั้งค่าบัญชีของพวกเขาไม่อนุญาต
พารามิเตอร์
ส่งค่ากลับ
FilterStringAsync
คำเตือนเกี่ยวกับ Deprecation ส่วนบางส่วน : การเรียกใช้ฟังก์ชันนี้จากลูกค้าโดยใช้ LocalScript จะถูกยกเลิกและจะถูกปิดใช้งานในอนาค
แอ็คชันโปรดให้แน่ใจว่าเกมกรองข้อความนี้ก่อนเผยแพร่
FilterStringAsync กรองสตริงที่เหมาะสมกับผู้เล่นที่กำลังส่งและรับ เลือกซื้อๆ แล้วต้องการให้ผู้เข
คุณสมบัตินี้ควรใช้ ทุกครั้ง เมื่อผู้เล่นสามารถใส่ข้อความที่กำหนดเองใน บริบททุกอย่าง ส่วนใหญ่ใช้ TextBox เป็นตัวกรอง ตัวอย่างของข้อความที่จะได้รับการกรอง:
- ข้อความแชทที่กําหนดเอง
- ชื่อตัวละครที่กำหนดเอง
- ชื่อสำหรับร้านค้าในเกมแบบไทยทูน
พารามิเตอร์
สตริงดิบที่จะถูกกรองตามที่ผู้เล่นกรอก
ผู้เขียนของข้อความ
ผู้รับที่ตั้งใจไว้ของข้อความที่ให้ไว้; ใช้ผู้เขียนหากข้อความนั้นยังคงอยู่ (ดูคำอธิบาย)
ส่งค่ากลับ
FilterStringForBroadcast
กรองตัวอักษรที่ส่งจาก playerFrom สําหรับการสตรีมไปยังเป้าหมายเฉพาะ ข้อความที่กรองมีข้อจํากัดมากกว่า Chat:FilterStringAsync()
บางตัวอย่างที่คุณสามารถใช้วิธีนี้ได้:
- ผนังข้อความ
- การส่งเสียงข้ามเซิร์ฟเวอร์
- ป้ายที่สร้างโดยผู้ใช้
การโทร FilterString จาก LocalScripts จะถูกยกเลิกและจะถูกปิดใช้งานในอนาคต การกรองข้อความของเนื้อหาควรทำจาก Scripts ด้านเซิร์ฟเวอร์โดยใช้ FilterStringAsync
หมายเหตุ:: เกมที่ไม่ใช้งานตัวกรองนี้สำหรับการแชทหรือข้อความที่เกิดขึ้นโดยผู้ใช้อาจถูกส่งไปยังการกรองและดำเนินการกับผู้ดําเนินการ
พารามิเตอร์
ส่งค่ากลับ
สตริง
ตัวอย่างโค้ด
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)