Chat

แสดงที่เลิกใช้งานแล้ว

*เนื้อหานี้แปลโดยใช้ AI (เวอร์ชัน Beta) และอาจมีข้อผิดพลาด หากต้องการดูหน้านี้เป็นภาษาอังกฤษ ให้คลิกที่นี่

ไม่สามารถสร้าง
บริการ
ไม่ซ้ำ

บริการ แชท มีรหัส Lua ที่รับผิดชอบในการดำเนินงานระบบการแชทมรดก Class.StarterPlayerScripts และวัตถุปกติเช่น 1>Class.Script|Scripts1> และ 4>Class.ModuleScript|ModuleScripts4>

สรุป

คุณสมบัติ

  • อ่านพร้อมๆ กัน

    กำหนดว่าข้อความในการแชทของผู้เล่นจะปรากฏเหนือ อวาตาร์ของพวกเขาในเกม

  • การรักษาความปลอดภัยที่เข้าถึงไม่ได้
    อ่านพร้อมๆ กัน

    สลับไปยังโครงสร้างการแชทเริ่มต้นที่ควรจะโหลดอัตโนมัติเมื่อเกมวิ่ง

วิธีการ

  • Chat(partOrCharacter : Instance,message : string,color : Enum.ChatColor):void

    เริ่มการโหมด Chat.Chatted ด้วยพารามิเตอร์ที่ระบุในวิธีนี้

  • InvokeChatCallback(callbackType : Enum.ChatCallbackType,callbackArguments : Tuple):Tuple

    เรียกใช้ตัวเรียกแชทที่ลงทะเบียนโดย RegisterChatCallback ใช้โดย Lua ระบบแชท

  • RegisterChatCallback(callbackType : Enum.ChatCallbackType,callbackFunction : function):void

    ลงทะเบียนให้ฟังชันที่จะเรียกในบางอีเมนต์ของระบบแชท ( InvokeChatCallback )

  • SetBubbleChatSettings(settings : Variant):void

    ปรับแต่งการตั้งค่าต่างๆ ของบับเบิลแชทในเกม

  • ผลตอบแทน

    จะส่งคืน false หากผู้เล่นที่มี Player.UserId นี้ไม่สามารถแชทได้เนื่องจากการตั้งค่าบัญชีของพวกเขา

  • CanUsersChatAsync(userIdFrom : number,userIdTo : number):bool
    ผลตอบแทน

    จะส่งคืน false หากผู้ใช้สองคนไม่สามารถสื่อสารกันได้เนื่องจากการตั้งค่าบัญชีของพวกเขาไม่อนุญาต

  • FilterStringAsync(stringToFilter : string,playerFrom : Player,playerTo : Player):string
    ผลตอบแทน

    กรองตัวอักษรที่ส่งจากผู้เล่นไปยังผู้เล่นอื่นโดยใช้การกรองที่เหมาะสมกับการตั้งค่าบัญชีของผู้เล่น

  • FilterStringForBroadcast(stringToFilter : string,playerFrom : Player):string
    ผลตอบแทน

    กรองสตริงที่ส่งจากผู้เล่นเพื่อการส่งทางการเรียกร้องไปยังเป้าหมายเฉพาะ มากกว่า Chat:FilterStringAsync() .

คุณสมบัติ

BubbleChatEnabled

อ่านพร้อมๆ กัน

หากเป็นเช่นนั้นจะมีป๊อปอักขระในแชทปรากฏขึ้นด้านบนของ Player.Character ผู้เล่นพฤติกรรมนี้สามารถเปิดใช้งานได้โดยการกดปุ่มเช็คใน Studio หรือโดยใช้ LocalScript :


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

นี้ต้องทำในเครื่องของลูกค้า การเปิด/ปิดค่านี้ใน Script

LoadDefaultChat

การรักษาความปลอดภัยที่เข้าถึงไม่ได้
อ่านพร้อมๆ กัน

สลับไปยังโครงสร้างการแชทเริ่มต้นที่ควรจะโหลดอัตโนมัติเมื่อเกมวิ่ง

วิธีการ

Chat

void

ฟังชันแชทเรียกอีเวนต์ Chat.Chatted ด้วยพารามิเตอร์ที่ระบุในวิธีนี้

โดยปกติ, มี LocalScript ภายในแต่ละ ผู้เล่น's PlayerScripts วัตถุที่มีชื่อว่า BubbleChat ซึ่งทำให้ป้ายชื่อเหมือนกระดาษปรากฏขึ้นเหนือส่วน 2>ตัวละคร2> เ

หมายเหตุ:: เนื่องจากการแสดงผลโดย LocalScript จะไม่สามารถดูการแสดงผลใด ๆ ที่สร้างขึ้นจากวิธีนี้ยกเว้นคุณกำลังดำเนินการในโหมด เล่นเดี่ยว

พารามิเตอร์

partOrCharacter: Instance

ตัวอย่างที่เป็นส่วนหรือตัวละครที่ปรากฏใน กระทู้ฟอง ดิаโกรมจะปรากฏด้านบน

message: string

ข้อความสตริงที่ได้รับการแชท

Entity.ChatColor กำหนดสีข้อความในการแชท

ค่าเริ่มต้น: "Blue"

ส่งค่ากลับ

void

ตัวอย่างโค้ด

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 จะเรียกใช้งานที่ลงทะเบียนโดย RegisterChatCallback โดยมีรายการชื่อฟังก์ชันที่ลงทะเบียนและข้อมูลอาร์กุมเมนต์สำหรับการส่งฟังก์ชัน มันจะกลับค่าของฟังก์ชันที่ลงทะเบี

ฟังก์ชันนี้เรียกโดย Lua แชทSystem เพื่อให้สามารถลงทะเบียนการโทรกลับ chat เพื่อเปลี่ยนพฤติกรรมของคุณ ยกเว้นคุณไม่ได้แทนที่ Lua Chat System เป็นเจ้าของคุณจึงไม่จำเป็นต้องเรียกใช้ฟ

พารามิเตอร์

callbackType: Enum.ChatCallbackType

ประเภทของคำเรียกที่จะเรียก

callbackArguments: Tuple

ตัวอ้างที่จะส่งไปยังคำเรียกร้องที่ลงทะเบียน


ส่งค่ากลับ

มูลค่าที่กลับมาจากการลงทะเบียนฟังก์ชันในช่องแชทที่กำหนด

RegisterChatCallback

void

ลงทะเบียนChatCallback ผูกค่าฟังก์ชันบางอย่างเพื่อให้ผลการทำงานของระบบแชท Lua ตัวแรกจะกำหนดค่า (โดยใช้ <

เมื่อสร้างหน้าต่างแชท

เฉพาะลูกค้า เรียกก่อนที่ลูกค้าจะสร้างหน้าต่างแชท ต้องการให้กลับตารางการตั้งค่าเพื่อผสานกับข้อมูลที่นำเสนอโดยโมดูล ChatSettings

ข้อความการแต่งตั้ง OnClient

สำหรับลูกค้าเท่านั้น เรียกก่อนที่ลูกค้าจะแสดงข้อความ (ไม่ว่าจะเป็นข้อความของผู้เล่นหรือข้อความของระบบหรือ /me คำสั่ง) ฟังก์ชันนี้จะเรียกใช้ด้วยตัวแปรข้อความและอาจ (หรืออ

OnClientSendingMessage

ไม่ได้เรียกใช้ในเวลานี้

OnServerReceivingMessage

เฉพาะเซิร์ฟเวอร์ เรียกเมื่อเซิร์ฟเวอร์ได้รับข้อความจากผู้พูด (โปรดทราบว่าผู้พูดอาจไม่จำเป็นต้องเป็น Player เมื่อเรียกคืนนี้

  • ตั้ง message.ShouldDeliver เป็น false เพื่อยกเลิกการส่งข้อความไปยังผู้เล่น (มีประโยชน์สำหรับการใช้รายการแชทสิทธิ์)
  • ลำโพง( message.ExtraData.NameColor , สี 3) บนพื้นมาส์ข้อความ

พารามิเตอร์

callbackType: Enum.ChatCallbackType

คือตัวแปรที่จะลงทะเบียนในตัวฟังก์ชัน (นี่จะกำหนดวิธีที่ฟังก์ชันจะเรียก)

callbackFunction: function

หน้าต่างที่ให้โทรเมื่อเรียกแบ็คแก๊ร์โดยใช้ แชท:ExecuteChatCallback


ส่งค่ากลับ

void

SetBubbleChatSettings

void

ระบบนี้ปรับแต่งการตั้งค่าต่างๆ ของบับเบิลแชทในเกม

ก่อนที่จะใช้สิ่งนี้ให้แน่ใจว่าปุ่มแชทฟองอากาศเปิดใช้งานโดยการตั้งค่า Chat.BubbleChatEnabled เป็น true

ตัวแปรการตั้งค่าเป็นตารางที่มีชื่อของการตั้งค่าที่คุณต้องการแก้ไขและมีค่าเป็นสิ่งที่คุณต้องการเปลี่ยนแปลงเหล่านี้ให้เป็น หมายเหตุว่าคุณไม่จำเป็นต้องรวมทั้งหมดในตัวแปรการต

ฟังก์ชันนี้เฉพาะสำหรับลูกค้าเท่านั้น การพยายามโทรให้มันบนเซิร์ฟเวอร์จะเรียกข้อผิดพลาด

พารามิเตอร์

settings: Variant

ตารางการตั้งค่า


ส่งค่ากลับ

void

ตัวอย่างโค้ด

Customize visual aspects

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

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

CanUserChatAsync

ผลตอบแทน

จะส่งคืน false หากผู้เล่นที่มี Player.UserId นี้ไม่สามารถแชทได้เนื่องจากการตั้งค่าบัญชีของพวกเขา

พารามิเตอร์

userId: number

ส่งค่ากลับ

CanUsersChatAsync

ผลตอบแทน

จะส่งคืน false หากผู้ใช้สองคนไม่สามารถสื่อสารกันได้เนื่องจากการตั้งค่าบัญชีของพวกเขาไม่อนุญาต

พารามิเตอร์

userIdFrom: number
userIdTo: number

ส่งค่ากลับ

FilterStringAsync

ผลตอบแทน

คำเตือนเกี่ยวกับ Deprecation ส่วนบางส่วน : การเรียกใช้ฟังก์ชันนี้จากลูกค้าโดยใช้ LocalScript จะถูกยกเลิกและจะถูกปิดใช้งานในอนาค

แอ็คชันโปรดให้แน่ใจว่าเกมกรองข้อความนี้ก่อนเผยแพร่

FilterStringAsync กรองสตริงที่เหมาะสมกับผู้เล่นที่กำลังส่งและรับ เลือกซื้อๆ แล้วต้องการให้ผู้เข

คุณสมบัตินี้ควรใช้ ทุกครั้ง เมื่อผู้เล่นสามารถใส่ข้อความที่กำหนดเองใน บริบททุกอย่าง ส่วนใหญ่ใช้ TextBox เป็นตัวกรอง ตัวอย่างของข้อความที่จะได้รับการกรอง:

  • ข้อความแชทที่กําหนดเอง
  • ชื่อตัวละครที่กำหนดเอง
  • ชื่อสำหรับร้านค้าในเกมแบบไทยทูน

พารามิเตอร์

stringToFilter: string

สตริงดิบที่จะถูกกรองตามที่ผู้เล่นกรอก

playerFrom: Player

ผู้เขียนของข้อความ

playerTo: Player

ผู้รับที่ตั้งใจไว้ของข้อความที่ให้ไว้; ใช้ผู้เขียนหากข้อความนั้นยังคงอยู่ (ดูคำอธิบาย)


ส่งค่ากลับ

FilterStringForBroadcast

ผลตอบแทน

กรองตัวอักษรที่ส่งจาก playerFrom สําหรับการสตรีมไปยังเป้าหมายเฉพาะ ข้อความที่กรองมีข้อจํากัดมากกว่า Chat:FilterStringAsync()

บางตัวอย่างที่คุณสามารถใช้วิธีนี้ได้:

  • ผนังข้อความ
  • การส่งเสียงข้ามเซิร์ฟเวอร์
  • ป้ายที่สร้างโดยผู้ใช้

การโทร FilterString จาก LocalScripts จะถูกยกเลิกและจะถูกปิดใช้งานในอนาคต การกรองข้อความของเนื้อหาควรทำจาก Scripts ด้านเซิร์ฟเวอร์โดยใช้ FilterStringAsync

หมายเหตุ:: เกมที่ไม่ใช้งานตัวกรองนี้สำหรับการแชทหรือข้อความที่เกิดขึ้นโดยผู้ใช้อาจถูกส่งไปยังการกรองและดำเนินการกับผู้ดําเนินการ

พารามิเตอร์

stringToFilter: string

กําลังกรองตัวอักษร

playerFrom: Player

ตัวอย่างของผู้ส่งข้อความ


ส่งค่ากลับ

สตริง

ตัวอย่างโค้ด

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)

อีเวนต์

Chatted

เปิดเมื่อ Chat:Chat() ถูกเรียก

พารามิเตอร์

part: Instance
message: string