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

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

The below example would create a part in Workspace and cause it to exclaim "Blame John!"

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

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

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.

Customize visual aspects

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:

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

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


ส่งค่ากลับ

สตริง

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

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.

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