คุณสามารถใช้โมดูลแชทต่อไปนี้เพื่อสนับสนุนพฤติกรรมด้านคลายของระบบแชทเก่า Legacy chat system
หน้าต่างแชท
หน้าต่างแชท คือโมดูลแชทหลักของด้านไคลเอนต์ของระบบแชทมรดก
วิธีการ
เพิ่มช่องทาง
- การ返回: ChatChannelUI
ลบช่อง
- การคืน: วองเปล่า
รับช่องทาง
รับช่องปัจจุบัน
- คําอธิบาย: ส่งคืน ChatChannelUI ปัจจุบัน
- การ返回: ChatChannelUI
สลับช่องปัจจุบัน
- การคืน: วองเปล่า
ได้รับที่มองเห็น
- พารามิเตอร์: ไม่มี
- คําอธิบาย: ส่งคืนว่าหน้าต่างมองเห็นได้หรือไม่หมายเหตุ: สิ่งนี้อ้างถึง UI แชทโดยทั่วไป; เมื่อหน้าต่างแชทจางไปเป็นใสเนื่องจากไม่ได้ใช้งาน หน้าต่างยังถือว่าเป็นที่เห็นได้
- การคืน: bool
ตั้งค่าที่มองเห็นได้
- คําอธิบาย: ตั้งค่าการมองเห็นของหน้าต่างแชท
- การคืน: วองเปล่า
พื้นหลังจาง
- คําอธิบาย: จางหลังพื้นหลังในช่วงเวลาที่กำหนด duration ในวินาทีหมายเหตุ: การโทรกลับในภายหลังเพื่อควบคุมการจางไป/มาจะยกเลิกการโทรกลับก่อนหน้า
- การคืน: วองเปล่า
เลือนออกไปในพื้นหลัง
- คําอธิบาย: จางหายไปในพื้นหลังภายใน duration วินาทีที่กำหนดหมายเหตุ: การโทรกลับในภายหลังเพื่อควบคุมการจางไป/มาจะยกเลิกการโทรกลับก่อนหน้า
- การคืน: วองเปล่า
ข้อความ FadeOut
- คําอธิบาย: ลบข้อความออกภายใน duration วินาทีที่กำหนดหมายเหตุ: การโทรกลับในภายหลังเพื่อควบคุมการจางไป/มาจะยกเลิกการโทรกลับก่อนหน้า
- การคืน: วองเปล่า
ฟาดในข้อความ
- คําอธิบาย: จางไปในข้อความภายในเวลาที่กำหนด duration ในวินาทีหมายเหตุ: การโทรกลับในภายหลังเพื่อควบคุมการจางไป/มาจะยกเลิกการโทรกลับก่อนหน้า
- การคืน: วองเปล่า
แชทบาร์
แถบ แชท จัดการการป้อนข้อความด้านคลาสต์สำหรับระบบแชท Lua มีสองส่วนสําคัญของแถบแชท:
- แชทบาร์ ซึ่งเป็น TextBox ที่ผู้เล่นใส่ข้อความและคําสั่ง (ไฮไลต์สีส้ม)
- โหมดข้อความ ซึ่งสามารถแสดงข้อมูลเกี่ยวกับข้อความที่ถูกส่ง (ไฮไลต์สีเขียว)
วิธีการ
รับTextBox
- พารามิเตอร์: ไม่มี
- คําอธิบาย: ส่งคืน TextBox ของแถบแชท
- การคืน: TextBox
รับป้ายชื่อโหมดข้อความGetMessageMode
- พารามิเตอร์: ไม่มี
- คําอธิบาย: ส่งคืน MessageMode TextLabel
- การคืน: TextLabel
มุ่งเน้น
- พารามิเตอร์: ไม่มี
- คําอธิบาย: ส่งคืนว่าแถบแชทของ TextBox อยู่ในโฟกัส (ผู้เล่นกําลังพิมพ์ในกล่อง)เทียบเท่ากับการโทร TextBox:IsFocused ที่ผลลัพธ์ของ GetTextBox
- การคืน: bool
โฟกัสการจับภาพ
- พารามิเตอร์: ไม่มี
- คําอธิบาย: บังคับให้ไคลเอนต์โฟกัสที่ TextBox ของแถบแชท เทียบเท่ากับการเรียก TextBox:CaptureFocus ในผลลัพธ์ของ GetTextBox
- การคืน: วองเปล่า
ปล่อยโฟกัส
- คําอธิบาย: ปล่อยโฟกัสของแถบแชท TextBoxหาก submitted เป็นจริง จะทำงานเหมือนกับว่าผู้เล่นกด Enter เพื่อส่งข้อความ
- การคืน: วองเปล่า
รีเซ็ตข้อความ
- พารามิเตอร์: ไม่มี
- คําอธิบาย: ตั้งค่า Text ของแถบแชท TextBox เป็นสตริงว่างเปล่า
- การคืน: วองเปล่า
ตั้งข้อความในกล่องข้อความ
- คําอธิบาย: ตั้งค่า Text ของแถบแชท TextBox ไปยัง text ที่กำหนด
- การคืน: วองเปล่า
รับข้อความในกล่องข้อความ
- พารามิเตอร์: ไม่มี
- คําอธิบาย: ส่งคืนข้อความในแถบแชท TextBox.Text
- การคืน: string
ตั้งค่าข้อความป้ายชื่อข้อความ
- คําอธิบาย: ตั้ง Text ของ MessageMode TextLabel ไปยัง text ที่กำหนด
- การคืน: วองเปล่า
รับการเปิดใช้งาน
- พารามิเตอร์: ไม่มี
- คําอธิบาย: ส่งคืนว่าแถบแชทเป็น Visible หรือไม่
- การคืน: bool
ตั้งค่าเปิดใช้งาน
- คําอธิบาย: ตั้งค่าว่าแถบแชทเป็น Visible หรือไม่
- การคืน: วองเปล่า
ตั้งขนาดข้อความ
- คําอธิบาย: ตั้ง ของทั้งแถบแชทและ MessageMode
- การคืน: วองเปล่า
รีเซ็ตขนาด
- พารามิเตอร์: ไม่มี
- คําอธิบาย: รีเซ็ตขนาดแถบแชทเป็นหนึ่งบรรทัดของข้อความ
- การคืน: วองเปล่า
ตั้งเป้าหมายช่องสัญญาณ
- คําอธิบาย: ตั้งเป้าหมาย ChatChannelUI ที่ได้รับข้อความจากแถบแชทซึ่งควรส่งข้อความ
- การคืน: วองเปล่า
พื้นหลังจาง
- คําอธิบาย: จางหลังพื้นหลังในช่วงเวลาที่กำหนด duration ในวินาทีหมายเหตุ: การโทรกลับในภายหลังเพื่อควบคุมการจางไป/มาจะยกเลิกการโทรกลับก่อนหน้า
- การคืน: วองเปล่า
เลือนออกไปในพื้นหลัง
- คําอธิบาย: จางหายไปในพื้นหลังภายใน duration วินาทีที่กำหนดหมายเหตุ: การโทรกลับในภายหลังเพื่อควบคุมการจางไป/มาจะยกเลิกการโทรกลับก่อนหน้า
- การคืน: วองเปล่า
ข้อความ FadeOut
- คําอธิบาย: ลบข้อความออกภายใน duration วินาทีที่กำหนดหมายเหตุ: การโทรกลับในภายหลังเพื่อควบคุมการจางไป/มาจะยกเลิกการโทรกลับก่อนหน้า
- การคืน: วองเปล่า
ฟาดในข้อความ
- คําอธิบาย: จางไปในข้อความภายในเวลาที่กำหนด duration ในวินาทีหมายเหตุ: การโทรกลับในภายหลังเพื่อควบคุมการจางไป/มาจะยกเลิกการโทรกลับก่อนหน้า
- การคืน: วองเปล่า
แชทช่องระบบ UI
The ChatChannelUI เป็นเวอร์ชันด้านไคลเอนต์ของ ChatChannelมันได้รับ ข้อความแชท จากเซิร์ฟเวอร์และส่งต่อไปยัง ChatMessageLogDisplayที่เกี่ยวข้องกับมัน
วิธีการ
เพิ่มข้อความไปยังช่องทาง
พารามิเตอร์: ข้อความแชท
คําอธิบาย: เพิ่มข้อความแชทที่ได้รับจากเซิร์ฟเวอร์ไปยัง ChatMessageLogDisplay
การคืน: วองเปล่า
ลบข้อความล่าสุดจากช่อง
- พารามิเตอร์: ไม่มี
- การคืน: วองเปล่า
ล้างบันทึกข้อความที่ชัดเจน
- พารามิเตอร์: ไม่มี
- การคืน: วองเปล่า
แสดงบันทึกข้อความแชท
The ChatMessageLogDisplay จัดการการแสดงผลของ ChatMessages ใน ChatChannelUI
วิธีการ
เพิ่มข้อความ
- คําอธิบาย: เพิ่ม message ในการแสดงบันทึกข้อความ
- การคืน: วองเปล่า
ลบข้อความล่าสุด
- พารามิเตอร์: ไม่มี
- คําอธิบาย: ลบ ChatMessage ที่เก่าแก่ที่สุดในการแสดงบันทึกข้อความ
- การคืน: วองเปล่า
สั่งซื้อข้อความทั้งหมดใหม่
- พารามิเตอร์: ไม่มี
- คําอธิบาย: จัดเรียงใหม่ทั้งหมดของการแสดงข้อความในลําดับเพิ่มขึ้นตามขนาดของการแสดงข้อความควรเรียกนี้หากบันทึกข้อความถูกปรับขนาดใหม่
- การคืน: วองเปล่า
ล้าง
- พารามิเตอร์: ไม่มี
- คําอธิบาย: ลบทั้งหมด ข้อความแชท จากการแสดงบันทึกข้อความ
- การคืน: วองเปล่า
ข้อความ FadeOut
- คําอธิบาย: ลบข้อความออกภายใน duration วินาทีที่กำหนดหมายเหตุ: การโทรกลับในภายหลังเพื่อควบคุมการจางไป/มาจะยกเลิกการโทรกลับก่อนหน้า
- การคืน: วองเปล่า
ฟาดในข้อความ
- คําอธิบาย: จางไปในข้อความภายในเวลาที่กำหนด duration ในวินาทีหมายเหตุ: การโทรกลับในภายหลังเพื่อควบคุมการจางไป/มาจะยกเลิกการโทรกลับก่อนหน้า
- การคืน: วองเปล่า
สถานะการแชทที่กำหนดเอง
The ChatCustomState เป็น อินเทอร์เฟซ ของการโทรกลับที่ใช้เมื่อสร้างสถานะแชทที่กําหนดเองในแถบแชท
การแชทเบาๆและการแชททีมใช้ ChatCustomState เพื่อบอกผู้เล่นว่าข้อความของพวกเขาจะถูกส่งไปที่ไหน
การโทรกลับ
ข้อความอัปเดต
- พารามิเตอร์: ไม่มี
- คําอธิบาย: เรียกเมื่อข้อความในแถบแชทได้รับการอัปเดต
- การคืน: วองเปล่า
รับข้อความ
- พารามิเตอร์: ไม่มี
- คําอธิบาย: เรียกเพื่อดึงข้อความของข้อความตามที่จะถูกเขียนเป็นคําสั่งเดียวนี้ใช้ในกรณีที่เซิร์ฟเวอร์ต้องการประมวลผลคำสั่งในรูปของข้อความแทนสถานะที่มองเห็นได้
- การคืน: string
ข้อความการดําเนินการสําเร็จ
- พารามิเตอร์: ไม่มี
- คําอธิบาย: เรียกเมื่อผู้เล่นส่งข้อความที่กําลังถูกประมวลผลโดยสถานะที่กําหนดเองควรส่งคืนค่าจริงหากข้อความไม่ควรแสดงหรือส่งไปยังเซิร์ฟเวอร์
- การคืน: bool
ทำลาย
- พารามิเตอร์: ไม่มี
- คําอธิบาย: เรียกว่า ChatBar ถูกรีเซ็ตกลับไปสู่สถานะเดิมก่อนที่จะดัดแปลงสถานะที่กําหนดเอง
- การคืน: วองเปล่า
การตั้งค่าแชท
การตั้งค่า แชท คือสารานุกรมของการตั้งค่าสำหรับด้านไคลเอนต์ของระบบแชท Luaพวกเขาจะถูกเก็บไว้ใน ModuleScript ที่ชื่อว่า ChatSettings ซึ่งสามารถพบได้ภายในบริการเกม Chat ที่ชื่อว่า Folder ซึ่งมีชื่อว่า ClientChatModulesโมดูลอาจจำเป็นและคุณสมบัติของมันสามารถเปลี่ยนแปลงได้ในระหว่างเวลาทำงาน
เพื่อเปลี่ยนการตั้งค่า ต้องใช้โมดูลนี้โดยใช้ LocalScript ในลักษณะต่อไปนี้:
-- ต้องการโมดูล ChatSettings (รอให้โหลด)local Chat = game:GetService("Chat")local ClientChatModules = Chat:WaitForChild("ClientChatModules")local ChatSettings = require(ClientChatModules:WaitForChild("ChatSettings"))-- เปลี่ยนการตั้งค่าเช่นที่คุณจะทำกับตารางอื่นChatSettings.MaximumMessageLength = 100
ตั้งค่าพฤติกรรมการแชท
การลากหน้าต่าง
- ประเภท: bool
- ค่าเริ่มต้น: false
การปรับขนาดหน้าต่างได้
- ประเภท: bool
- ค่าเริ่มต้น: false
- คําอธิบาย: กําหนดว่า ChatWindow สามารถปรับขนาดได้โดยผู้เล่นหรือไม่
เกมแพดการนําทางเปิดใช้งาน
- ประเภท: bool
- ค่าเริ่มต้น: false
- คําอธิบาย: กำหนดว่า gamepads สามารถนําทาง UI แชทได้หรือไม่
แสดงข้อความที่กรองของผู้ใช้
- ประเภท: bool
- ค่าเริ่มต้น: true
- คําอธิบาย: กําหนดว่าผู้เล่นควรดูรุ่นกรองของข้อความแชทหรือเนื้อหาเดิมที่พวกเขาพิมพ์หรือไม่
แชทบนกับแถบด้านบนปิด
- ประเภท: bool
- ค่าเริ่มต้น: false
- คําอธิบาย: กําหนดว่า UI แชทจะเปิดใช้งานหรือไม่แม้ว่าแถบด้านบนจะถูกปิดใช้งาน
บับเบิลแชทเปิดใช้งาน
- ประเภท: bool
- ค่าเริ่มต้น: game:GetService("Players").BubbleChat
- คําอธิบาย: กําหนดว่าการแชทฟองจะเปิดใช้งานหรือไม่
คลาสสิกแชทสนับสนุน
- ประเภท: bool
- ค่าเริ่มต้น: game:GetService("Players").ClassicChat
- คําอธิบาย: กําหนดว่าการแชทแบบคลาสสิกจะเปิดใช้งานหรือไม่
การตั้งค่าขนาดข้อความแชท
ขนาดข้อความหน้าต่างแชท
- ประเภท: int
- ค่าเริ่มต้น: 18
- คําอธิบาย: กําหนดขนาดของข้อความใน ChatWindow
ขนาดข้อความแชทบาร์
ขนาดข้อความแชทภายในหน้าต่างพูดคุยPhone
- ประเภท: int
- ค่าเริ่มต้น: 14
- คําอธิบาย: กําหนดขนาดของข้อความใน ChatWindow สําหรับโทรศัพท์
ขนาดข้อความแชทบาร์Phone
การตั้งค่าฟอนต์
ฟอนต์เริ่มต้น
- ประเภท: Enum.Font
- ค่าเริ่มต้น: Enum.Font.SourceSansBold
แชทบาร์ฟอนต์
- ประเภท: Enum.Font
- ค่าเริ่มต้น: Enum.Font.SourceSansBold
การตั้งค่าสี
สีพื้นหลัง
- ประเภท: Color3
- ค่าเริ่มต้น: Color3.new(0, 0, 0)
สีข้อความเริ่มต้น
- ประเภท: Color3
- ค่าเริ่มต้น: Color3.new(1, 1, 1)
ชื่อเริ่มต้นสีสัน
- ประเภท: Color3
- ค่าเริ่มต้น: Color3.new(1, 1, 1)
- คําอธิบาย: กําหนดค่าเริ่มต้นของชื่อผู้พูดของ ChatMessages ใน ChatWindow
สีพื้นหลังแชทบาร์กลับ
- ประเภท: Color3
- ค่าเริ่มต้น: Color3.new(0, 0, 0)
สีกล่องแชทบาร์
- ประเภท: Color3
- ค่าเริ่มต้น: Color3.new(1, 1, 1)
สีข้อความแชทแถบ
- ประเภท: Color3
- ค่าเริ่มต้น: Color3.new(0, 0, 0)
สีข้อความข้อผิดพลาด
- ประเภท: 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)
- คําอธิบาย: กําหนดตําแหน่งเริ่มต้นของ ChatWindow
ขนาดหน้าต่างเริ่มต้นของโทรศัพท์
- ประเภท: UDim2
- ค่าเริ่มต้น: UDim2.new(0.5, 0, 0.5, (7 * 2) + (5 * 2))
- คําอธิบาย: กําหนดขนาดเริ่มต้นของ ChatWindow บนโทรศัพท์
แท็บเล็ตขนาดหน้าต่างเริ่มต้น
- ประเภท: UDim2
- ค่าเริ่มต้น: UDim2.new(0.4, 0, 0.3, (7 * 2) + (5 * 2))
- คําอธิบาย: กําหนดขนาดเริ่มต้นของ ChatWindow บนตาราง
ขนาดหน้าต่างเริ่มต้นสำหรับเดสktop
- ประเภท: UDim2
- ค่าเริ่มต้น: UDim2.new(0.3, 0, 0.25, (7 * 2) + (5 * 2))
- คําอธิบาย: กําหนดขนาดเริ่มต้นของ ChatWindow บนเดสก์ท็อป
จางและในการตั้งค่า
เวลาที่ ChatWindowBackgroundFadeOut
- ประเภท: ลอย (วินาที)
- ค่าเริ่มต้น: 0.5
- คําอธิบาย: กําหนดระยะเวลาที่พื้นหลัง ChatWindow จะหายไปนานแค่ไหน
เวลาที่ ChatWindowTextFadeOut
- ประเภท: ลอย (วินาที)
- ค่าเริ่มต้น: 30
- คําอธิบาย: กําหนดระยะเวลาที่ ChatWindow ข้อความจะหายไปนานแค่ไหน
ระยะเวลาการจางหายไปเริ่มต้นของการแชท
- ประเภท: ลอย (วินาที)
- ค่าเริ่มต้น: 0.8
- คําอธิบาย: กําหนดระยะเวลาที่จะใช้เวลาในการลบองค์ประกอบ UI แชทออกไป
ChatShouldFadeInจากข้อมูลใหม่
- ประเภท: 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
- คําอธิบาย: กําหนดว่าผู้เล่นสามารถคลิกที่แท็บของช่องเพื่อตั้งค่าเป็นช่องหลักของพวกเขาได้หรือไม่
การตั้งค่าอื่นๆ
ชื่อผู้เล่นสำเร็จอัตโนมัติของ WhisperCommand
- ประเภท: bool
- ค่าเริ่มต้น: true
- คําอธิบาย: กําหนดว่าคําสั่งการกระซิบควรเสร็จสมบูรณ์โดยอัตโนมัติชื่อผู้เล่นหรือไม่
อีเวนต์
การตั้งค่าเปลี่ยนแปลง
- พารามิเตอร์: Library.string``settingName , ตัวแปร newValue
- คําอธิบาย: ไฟเมื่อการตั้งค่าที่มี settingName ถูกเปลี่ยนเป็น newValue