Dialog

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

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

วัตถุกล่องโต้ตอบสามารถให้ผู้ใช้สร้างตัวละครที่ไม่ใช่ผู้เล่น (NPC) ที่ผู้เล่นสามารถพูดคุยได้โดยใช้รายการตัวเลือกวัตถุกล่องโต้ตอบสามารถสอดเข้าไปในส่วนเช่นหัวของมนุษย์หุ่นยนต์แล้วผู้เล่นจะเห็นฟองข้อความบนส่วนที่พวกเขาสามารถคลิกเพื่อเริ่มการสนทนาผู้สร้างสถานที่สามารถเลือกตัวเลือกที่ผู้เล่นสามารถพูดได้โดยการใส่วัตถุ DialogChoice ลงในกล่องโต้ตอบ

สรุป

คุณสมบัติ

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

    กำหนดว่ากล่องโต้ตอบสามารถใช้งานได้โดยผู้เล่นหลายคนพร้อมกันหรือไม่

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

    ระยะทางที่ไกลที่สุดที่ผู้เล่นสามารถอยู่จากพ่อของบทสนทนาเพื่อเริ่มการสนทนา

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

    สลับว่าตัวเลือกลาก่อนจะปรากฏหรือไม่

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

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

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

    ถ้าเป็นจริง กล่องโต้ตอบนี้จะถูกใช้โดยผู้เล่นอย่างน้อยหนึ่งคน

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

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

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

    ตั้งไอคอนที่กล่องโต้ตอบเริ่มแสดงขึ้น

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

    ตั้งสีของฟองข้อความของ NPC

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

    ตั้งระยะสูงสุดที่กล่องโต้ตอบสามารถกระตุ้นได้

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

    ตั้งค่าความเคลื่อนที่ของกล่องโต้ตอบเมื่อเทียบกับพ่อของกล่องโต้ตอบ

วิธีการ

  • GetCurrentPlayers():Instances

    ส่งคืนรายการผู้เล่นที่กําลังใช้บทสนทนาอยู่

อีเวนต์

คุณสมบัติ

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

ประเภทพฤติกรรมของกล่องโต้ตอบจะกำหนดว่าผู้เล่นหลายคนสามารถโต้ตอบกับกล่องโต้ตอบได้พร้อมกันหรือไม่ค่าเริ่มต้นสำหรับคุณสมบัตินี้คือ SinglePlayer

ผู้เล่นเดียว

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

ในขณะที่ผู้เล่นมีส่วนร่วมกับกล่องโต้ตอบ ผู้เล่นอื่นจะเห็นตัวเลือกกล่องโต้ตอบของผู้เล่นที่เริ่มกล่องโต้ตอบพร้อมกับคําตอบ

ผู้เล่นหลายคน

เมื่อกล่องโต้ตอบถูกตั้งค่าเป็นผู้เล่นหลายคน ผู้เล่นคนใดก็สามารถเริ่มกล่องโต้ตอบได้ตลอดเวลา แม้ว่าผู้เล่นอีกคนจะเริ่มกล่องโต้ตอบแล้วก็ตามแต่ไม่เหมือนกับ SinglePlayer บทสนทนาที่ตั้งค่าเป็น MultiplePlayers จะไม่แสดงตัวเลือกการโต้ตอบและการตอบสนองให้กับใครเลยนอกจากผู้เล่นในการสนทนา


local Workspace = game:GetService("Workspace")
local singlePlayerDialog = Instance.new("Dialog")
local singlePlayerPart = Workspace.SinglePlayerPart
singlePlayerDialog.BehaviorType = Enum.DialogBehaviorType.SinglePlayer
singlePlayerDialog.InitialPrompt = "Only one person can interact with me at once."
singlePlayerDialog.Parent = singlePlayerPart
local multiplePlayersDialog = Instance.new("Dialog")
local multiplePlayersPart = Workspace.MultiplePlayersPart
multiplePlayersDialog.BehaviorType = Enum.DialogBehaviorType.MultiplePlayers
multiplePlayersDialog.InitialPrompt = "Any number of players can interact with me at once."
multiplePlayersDialog.Parent = multiplePlayersPart

ConversationDistance

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

ระยะทางที่ไกลที่สุดที่ผู้เล่นสามารถอยู่จากพ่อของบทสนทนาเพื่อเริ่มการสนทนา

GoodbyeChoiceActive

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

สลับว่าตัวเลือกลาก่อนจะปรากฏหรือไม่ถ้าเป็นจริง กล่องโต้ตอบจะแสดงเนื้อหาของ Dialog.GoodbyeDialog เป็นตัวเลือกสุดท้ายหลังจากตัวเลือกกล่องโต้ตอบอื่นการคลิกที่ตัวเลือกลาก่อนจะออกจากกล่องโต้ตอบ

GoodbyeDialog

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

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

InUse

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

ถ้าเป็นจริง กล่องโต้ตอบนี้จะถูกใช้โดยผู้เล่นอย่างน้อยหนึ่งคน

InitialPrompt

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

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

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

ตั้งไอคอนที่กล่องโต้ตอบเริ่มแสดงขึ้น

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

ตั้งสีของฟองข้อความของ NPC

TriggerDistance

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

ตั้งระยะสูงสุดที่กล่องโต้ตอบสามารถกระตุ้นได้

TriggerOffset

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

ตั้งค่าความเคลื่อนที่ของกล่องโต้ตอบเมื่อเทียบกับพ่อของกล่องโต้ตอบ

วิธีการ

GetCurrentPlayers

Instances

ฟังก์ชัน GetCurrentPlayers ของกล่องโต้ตอบจะคืนรายการของ Player ที่กําลังใช้กล่องโต้ตอบในปัจจุบันหากไม่มีผู้เล่นใช้กล่องโต้ตอบแล้วรายการที่ส่งคืนจะว่างเปล่า


ส่งค่ากลับ

Instances

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

Dialog:GetCurrentPlayers

local dialog = script.Parent
local function onChoiceSelected(_player, _choice)
local currentPlayers = dialog:GetCurrentPlayers()
print("The current players in the dialog:")
for _, player in ipairs(currentPlayers) do
print(player)
end
end
dialog.DialogChoiceSelected:Connect(onChoiceSelected)

อีเวนต์

DialogChoiceSelected

ยิงเมื่อผู้เล่นเลือกบางสิ่งที่จะพูดผ่านตัวอย่าง Dialog

อีเวนต์นี้เป็นเฉพาะด้านไคลเอนต์และจะไม่ยิงบนเซิร์ฟเวอร์ควรเชื่อมต่อกับใน LocalScript หรือ ModuleScript ที่จำเป็นโดย LocalScript

พารามิเตอร์

player: Instance
dialogChoice: Instance