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 กำหนดสีข้อความในการแชท
ส่งค่ากลับ
ตัวอย่างโค้ด
The below example would create a part in Workspace and cause it to exclaim "Blame John!"
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
ตัวแปรการตั้งค่าเป็นตารางที่มีชื่อของการตั้งค่าที่คุณต้องการแก้ไขและมีค่าเป็นสิ่งที่คุณต้องการเปลี่ยนแปลงเหล่านี้ให้เป็น หมายเหตุว่าคุณไม่จำเป็นต้องรวมทั้งหมดในตัวแปรการต
ฟังก์ชันนี้เฉพาะสำหรับลูกค้าเท่านั้น การพยายามโทรให้มันบนเซิร์ฟเวอร์จะเรียกข้อผิดพลาด
พารามิเตอร์
ตารางการตั้งค่า
ส่งค่ากลับ
ตัวอย่างโค้ด
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.
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:
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
หมายเหตุ:: เกมที่ไม่ใช้งานตัวกรองนี้สำหรับการแชทหรือข้อความที่เกิดขึ้นโดยผู้ใช้อาจถูกส่งไปยังการกรองและดำเนินการกับผู้ดําเนินการ
พารามิเตอร์
ส่งค่ากลับ
สตริง
ตัวอย่างโค้ด
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.
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)