แพ็คเกจภารกิจ

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

แพ็คเกจฟีเจอร์ ภารกิจ มอบฟังก์ชันการทำงานที่พร้อมใช้งานเพื่อสร้างภารกิจที่ผู้เล่นสามารถทำได้เพื่อรับรางวัลและก้าวหน้าในเกมของคุณ ภารกิจทั้งหมดต้องมี ID, หมวดหมู่ และรายการของงานที่ผู้เล่นต้องทำให้เสร็จเพื่อให้ภารกิจเสร็จสมบูรณ์ อย่างไรก็ตาม รายการงานสามารถว่างเปล่าได้ ทำให้รางวัลของภารกิจสามารถเรียกร้องได้ทันที

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

  • สร้างภารกิจที่ แนะนำ ผู้เล่นใหม่เข้าสู่เกมของคุณและปรับปรุง การรักษาผู้เล่น D1
  • มุ่งเป้าไปที่ การรักษาผู้เล่น D7 และ D30 โดยการเพิ่มเป้าหมายระยะกลางถึงระยะยาวและความรู้สึกของความก้าวหน้า
  • เพิ่ม การมีส่วนร่วม โดยการนำเสนอระบบต่างๆ ในเกมของคุณและให้รางวัลแก่ผู้เล่นสำหรับการมีส่วนร่วมกับพวกเขา

รับแพ็คเกจ

Creator Store เป็นแท็บของ Toolbox ที่คุณสามารถใช้เพื่อค้นหาทรัพย์สินทั้งหมดที่สร้างโดย Roblox และชุมชน Roblox สำหรับใช้ในโครงการของคุณ รวมถึงโมเดล, รูปภาพ, เมช, เสียง, ปลั๊กอิน, วิดีโอ และทรัพย์สินฟอนต์ คุณสามารถใช้ Creator Store เพื่อเพิ่มทรัพย์สินหนึ่งหรือมากกว่าโดยตรงลงในเกมที่เปิดอยู่ รวมถึงแพ็คเกจฟีเจอร์!

ทุกแพ็คเกจฟีเจอร์ต้องการแพ็คเกจฟีเจอร์ Core เพื่อทำงานได้อย่างถูกต้อง เมื่อทรัพย์สินของแพ็คเกจฟีเจอร์ Core และ Missions อยู่ในคลังของคุณแล้ว คุณสามารถนำกลับมาใช้ใหม่ในโครงการใดๆ บนแพลตฟอร์ม

ในการนำแพ็คเกจจากคลังของคุณเข้าสู่เกมของคุณ:

  1. จากเมนู Window ของ Studio หรือแถบเครื่องมือ Home เปิด Toolbox

  2. ในหน้าต่าง Toolbox คลิกที่แท็บ Inventory จะแสดงการจัดเรียง My Models

    หน้าต่าง Toolbox ของ Studio ที่มีแท็บ Inventory เน้น
  3. คลิกที่ไทล์ Feature Package Core จากนั้นคลิกที่ไทล์ Missions Feature Package โฟลเดอร์แพ็คเกจทั้งสองจะแสดงในหน้าต่าง Explorer

  4. ลากโฟลเดอร์แพ็คเกจไปยัง ReplicatedStorage

กำหนดภารกิจ

แต่ละภารกิจที่สามารถทำได้จะรวมชุดของงานที่ต้องทำให้เสร็จเพื่อให้ภารกิจเสร็จสมบูรณ์ ตัวเลือกการกำหนดค่า และข้อมูลเมตาดาต้าสำหรับการแสดงผลที่เลือกได้ ซึ่งทั้งหมดนี้สามารถกำหนดได้ภายใน ReplicatedStorage.Missions.Configs.Missions โดยมีประเภทที่ส่งออกจากสคริปต์ Types ในโฟลเดอร์เดียวกัน

ฟิลด์ที่จำเป็น

ฟิลด์ต่อไปนี้เป็นฟิลด์ที่จำเป็นสำหรับแต่ละภารกิจ

ชื่อประเภทคำอธิบาย
missionIdstringคีย์หลักในตารางภารกิจทั้งหมด ภารกิจทั้งหมดจะถูกระบุด้วยสตริงที่ไม่ซ้ำกันของตนเอง
categoryIdstringภารกิจต้องอยู่ในหมวดหมู่และจะถูกจัดกลุ่มตามหมวดหมู่ใน UI
taskstableรายการของงานที่ผู้เล่นต้องทำให้เสร็จเพื่อให้ภารกิจเสร็จสมบูรณ์

เงื่อนไขการปลดล็อก

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

ชื่อประเภทคำอธิบาย
prerequisitestableรายการของ missionIds อื่นๆ ที่ต้องทำให้เสร็จก่อนที่ภารกิจจะถูกปลดล็อก
manualOnlyboolปิดการปลดล็อกภารกิจโดยอัตโนมัติ แทนที่จะต้องเรียกฟังก์ชันเพื่อปลดล็อกภารกิจ เงื่อนไขการปลดล็อกอื่นๆ ต้องยังคงเป็นไปตามด้วย
availableAfterUtcboolภารกิจไม่สามารถปลดล็อกได้ก่อนเวลาที่กำหนดใน UTC
availableBeforeUtcboolภารกิจไม่สามารถปลดล็อกได้หลังจากเวลาที่กำหนดใน UTC หากปลดล็อกแล้วแต่ไม่เสร็จสมบูรณ์ก่อนเวลานี้ ภารกิจจะล้มเหลว
repeatableboolภารกิจจะถูกปลดล็อกอีกครั้งหลังจากที่เสร็จสมบูรณ์
repeatLimitnumberหากภารกิจสามารถทำซ้ำได้ จะไม่สามารถทำซ้ำได้มากกว่าจำนวนนี้
repeatCooldownSecondsnumberหากภารกิจสามารถทำซ้ำได้ จะมีการหน่วงเวลาก่อนที่จะปลดล็อกอีกครั้ง
expireSecondsnumberหากภารกิจถูกปลดล็อกและไม่เสร็จสมบูรณ์ภายในจำนวนวินาทีที่กำหนด จะล้มเหลวแทน
expireCountOfflineboolหากภารกิจมี expireSeconds และ expireCountOffline ถูกตั้งค่าเป็นจริง เวลาที่ผู้เล่นไม่ได้อยู่ในเกมจะนับรวมในการหมดอายุของภารกิจ

เมตาดาต้า

ภารกิจมีเมตาดาต้าที่ระบุวิธีการแสดงในส่วนติดต่อผู้ใช้ภารกิจ คุณสามารถใช้ฟิลด์ เลือกได้ ต่อไปนี้เพื่อปรับแต่งเมตาดาต้าของมัน

ชื่อประเภทคำอธิบาย
displayNamestringชื่อที่จะแสดงสำหรับภารกิจในส่วนติดต่อผู้ใช้แทนที่จะเป็น missionId
descriptionstringข้อความยาวที่ให้ข้อมูลหรือบริบทเพิ่มเติมเกี่ยวกับภารกิจ
visibleAfterCompleteboolหากตั้งค่าเป็นจริง ภารกิจจะแสดงในรายการภารกิจแม้หลังจากที่เสร็จสมบูรณ์แต่จะถูกทำเครื่องหมายว่าเสร็จสมบูรณ์
visibleAfterFailedboolหากตั้งค่าเป็นจริง ภารกิจจะแสดงในรายการภารกิจแม้หลังจากที่ล้มเหลวแต่จะถูกทำเครื่องหมายว่าล้มเหลว
visibleBeforeUnlockedboolหากตั้งค่าเป็นจริง ภารกิจจะแสดงแต่ถูกล็อกในรายการภารกิจก่อนที่จะสามารถทำได้
invisibleWhileActiveboolหากตั้งค่าเป็นจริง ภารกิจจะไม่แสดงแม้ในขณะที่กำลังดำเนินการอยู่
rewardstableรายการข้อมูลการแสดงรางวัล
  • assetID (number) - ID ของภาพที่แสดงใน UI ของภารกิจภายใต้รางวัลสำหรับภารกิจ จำเป็นต้องมีหากมีรางวัล
  • displayName (string) - ชื่อที่แสดงใน UI ของภารกิจภายใต้ไอคอน

กำหนดงาน

แต่ละภารกิจสามารถมีงานได้ศูนย์หรือมากกว่า หากภารกิจมีงานศูนย์งาน จะสามารถเรียกร้องได้ทันทีหลังจากที่ปลดล็อก หากภารกิจมีงานหนึ่งหรือมากกว่า เมื่องานเสร็จสมบูรณ์ ผู้เล่นสามารถเก็บรางวัลใดๆ ที่เกี่ยวข้องกับภารกิจได้ แต่ละงานมี taskId ซึ่งเป็นคีย์ที่เกี่ยวข้องกับงานสำหรับภารกิจที่กำหนด

งานมีสองประเภท:

  • Timed Tasks - ช่วยให้คุณเริ่มและหยุดงานในช่วงเวลาที่แตกต่างกัน ต้องมีเวลาผ่านไปในขณะที่ตัวจับเวลาของงานกำลังทำงาน จากนั้นงานจะเสร็จสมบูรณ์
  • Count Tasks - ช่วยให้คุณเพิ่มหรือตั้งค่าความก้าวหน้าของงาน เมื่อตัวเลขความก้าวหน้าถึงค่าที่ตั้งไว้ งานจะเสร็จสมบูรณ์

ทั้งสองประเภทของงานมีฟิลด์ต่อไปนี้ร่วมกัน:

ชื่อประเภทคำอธิบาย
taskTypestringระบุว่าประเภทของงานคือการนับหรือตามเวลา
counterobject(เลือกได้) ตัวนับที่งานนี้ติดตาม ตัวนับเป็นที่เก็บข้อมูลที่คงอยู่เฉพาะสำหรับผู้เล่นสำหรับตัวเลขหรือตัวจับเวลา งานหลายงานสามารถติดตามตัวนับเดียวกันได้ ตัวอย่างเช่น หากมีงานมากกว่าหนึ่งงานติดตามจำนวนเหรียญที่ผู้เล่นเก็บได้ พวกเขาสามารถแชร์ตัวนับ “เหรียญ” เดียวกันได้ งานเหล่านี้สามารถติดตามเหรียญใหม่ที่เก็บได้โดยเริ่มจากศูนย์ หรือดำเนินการนับจากค่าของตัวนับ (เหรียญทั้งหมดที่เก็บได้แล้ว)
  • counterId (string) - ID ของตัวนับที่จะติดตาม ใช้ ID นี้เพื่อรับหรือกำหนดค่าของตัวนับ
  • continueFromCounter (เลือกได้ bool) - หากตั้งค่าเป็นจริง ความก้าวหน้าของงานจะตรงกับค่าของตัวนับแทนที่จะเป็นจำนวนที่เพิ่มขึ้น
metadataobject(เลือกได้) ข้อมูลเกี่ยวกับวิธีการแสดงงานใน UI
  • displayName (string) - ชื่อของงานที่ใช้เมื่อแสดงใน UI
  • numericType (เลือกได้ string) - วิธีการแสดงหมายเลขความก้าวหน้าในงาน
    • เศษส่วน เช่น 5/10 หรือ 5k/50k
    • เปอร์เซ็นต์ เช่น 50% หรือ 10%
    • เศษส่วนยาว เช่น 5/10 หรือ 5000/50000
    • บูลีน เช่น ไม่สมบูรณ์
callToActionobject(เลือกได้) ปุ่มที่เรียกใช้ฟังก์ชันย้อนกลับ
  • callback (function) - ฟังก์ชันที่ถูกเรียกโดยปุ่ม callToAction
  • buttonText (string) - ข้อความที่แสดงใน UI ของปุ่ม

ฟิลด์ของงานนับ

งานนับมีค่าที่จำเป็น เมื่อความก้าวหน้าของงานตรงตามจำนวนนี้ งานจะเสร็จสมบูรณ์

ชื่อประเภทคำอธิบาย
goalCountnumber(เลือกได้) ความก้าวหน้าที่จำเป็นในการทำให้ภารกิจเสร็จสมบูรณ์

ฟิลด์ของงานตามเวลา

งานตามเวลามีจำนวนเวลาที่ต้องใช้และจะเริ่มและหยุด เมื่อเวลาที่กำหนดถึง งานจะเสร็จสมบูรณ์

ชื่อประเภทคำอธิบาย
goalSecondsnumberจำนวนวินาทีที่ต้องผ่านเพื่อทำให้ภารกิจเสร็จสมบูรณ์
startImmediatelyboolหากงานควรเริ่มนับเวลาเมื่อปลดล็อกทันที แทนที่จะเริ่มนับเวลาเฉพาะเมื่อเริ่มงาน
includesOfflineTimeboolหากงานควรรวมเวลาที่ใช้ในขณะที่ผู้เล่นไม่ได้อยู่ในเกม

กำหนดหมวดหมู่

หมวดหมู่ไม่จำเป็นต้องถูกกำหนดอย่างชัดเจนเพื่อให้ใช้งานได้ เนื่องจากหมวดหมู่สำหรับภารกิจมีค่าดีฟอลต์ที่จะถูกใช้ อย่างไรก็ตาม คุณสามารถกำหนดค่าต่างๆ เหล่านี้ใน ReplicatedStorage.Missions.Configs.Categories เพื่อเพิ่มผลกระทบเพิ่มเติมให้กับหมวดหมู่ หมวดหมู่จะถูกระบุด้วย CategoryIds ที่ไม่ซ้ำกัน ซึ่งเป็นค่าที่อ้างอิงในกำหนดการภารกิจ

ชื่อประเภทคำอธิบาย
repeatDelaySecondsnumber(เลือกได้) หากตั้งค่า ทุกภารกิจในหมวดหมู่จะถูกรีเซ็ตทุกครั้งที่เวลาที่กำหนดผ่านไป และอาจถูกปลดล็อก เสร็จสมบูรณ์ และรางวัลของพวกเขาถูกเรียกร้องอีกครั้ง สิ่งนี้แยกจากภารกิจที่สามารถทำซ้ำได้ ซึ่งสามารถทำซ้ำได้ภายในหมวดหมู่ที่กำหนด

รวมตรรกะเซิร์ฟเวอร์

ดูที่ ReplicatedStorage.Missions.Server.Examples.MissionsExample ซึ่งแสดงให้เห็นว่าเซิร์ฟเวอร์ของคุณจะโต้ตอบกับแพ็คเกจฟีเจอร์ ภารกิจ อย่างไร

คุณจำเป็นต้องเชื่อมโยงสี่สิ่งเมื่อดึงแพ็คเกจฟีเจอร์ ภารกิจ เข้าสู่เกมของคุณ:

  1. กำหนดภารกิจในกำหนดการภารกิจของคุณ

  2. เพิ่มตรรกะในเกมของคุณเพื่ออัปเดตความก้าวหน้าของงานหรือตัวนับที่ความก้าวหน้านั้นเชื่อมโยงอยู่

    README
    -- เพิ่มความก้าวหน้าในภารกิจ Jumping ด้วยงาน Jumps
    Missions.addProgressToTask(player, "Jumping", "Jumps", 1)
    -- เริ่มตัวจับเวลาบนภารกิจ BattlingTime ด้วยงาน TimeInBattle
    Missions.startTimedTask(player, "BattlingTime", "TimeInBattle")
    -- หยุดตัวจับเวลาบนภารกิจ BattlingTime ด้วยงาน TimeInBattle
    Missions.stopTimedTask(player, "BattlingTime", "TimeInBattle")
    -- เพิ่มความก้าวหน้าในงานทั้งหมดที่เชื่อมโยงกับตัวนับ Jumps
    CounterSystem.addCounter(player, "Jumps", 1)
    -- เริ่มตัวจับเวลาบนงานที่มีเวลาทั้งหมดที่เชื่อมโยงกับตัวจับเวลา TimeInBattle
    CounterSystem.startTimer(player, "TimeInBattle")
    -- หยุดตัวจับเวลาบนงานที่มีเวลาทั้งหมดที่เชื่อมโยงกับตัวจับเวลา TimeInBattle
    CounterSystem.stopTimer(player, "TimeInBattle")
  3. ตั้งค่าตัวจัดการการเสร็จสิ้นภารกิจ และตัวจัดการการปลดล็อกหรือการล้มเหลว (ถ้าเลือก) ใช้ตัวจัดการการเสร็จสิ้นเพื่อมอบรางวัลจากภารกิจในเกมของคุณ

    README
    local function completeHandler(player: Player, missionId: Types.MissionId)
    print(`{player} เสร็จสิ้นภารกิจ {missionId}`)
    -- มอบรางวัลให้กับผู้เล่น
    end
    Missions.setCompletionHandler(missionId, completeHandler)
  4. ปลดล็อกภารกิจที่ไม่ได้ปลดล็อกโดยอัตโนมัติ ตรรกะของแพ็คเกจฟีเจอร์ ภารกิจ จะตรวจสอบให้แน่ใจว่าทุกข้อกำหนดของภารกิจได้รับการตอบสนองก่อนที่ภารกิจจะเสร็จสมบูรณ์และรางวัลของมันสามารถเก็บได้

    README
    Missions.unlockMission(player, "Manual")

กำหนดค่าคงที่

ค่าคงที่สำหรับแพ็คเกจฟีเจอร์ Core จะอยู่ในสองจุด:

  • ค่าคงที่ที่ใช้ร่วมกันจะอยู่ใน ReplicatedStorage.FeaturePackagesCore.Configs.SharedConstants

  • ค่าคงที่เฉพาะแพ็คเกจ ในกรณีนี้คือแพ็คเกจฟีเจอร์ Missions จะอยู่ใน ReplicatedStorage.Missions.Configs.Constants

นอกจากนี้ คุณสามารถค้นหาสตริงสำหรับการแปลที่แยกออกมาในที่เดียว: ReplicatedStorage.FeaturePackagesCore.Configs.TranslationStrings

ปรับแต่งส่วนประกอบ UI

โดยการปรับเปลี่ยนวัตถุในแพ็คเกจ เช่น สี ฟอนต์ และความโปร่งใส คุณสามารถปรับแต่งการนำเสนอภาพของ UI ภารกิจของคุณได้ ตัวอย่างเช่น ใน ReplicatedStorage.Missions.Configs.Constants คุณสามารถเปิดใช้งาน SingleTaskMode เพื่อแสดงแถบความก้าวหน้าสำหรับงานโดยตรงบนภารกิจสำหรับภารกิจที่มีเพียงงานเดียว

นอกจากนี้ หากเกมของคุณมี UI ที่มีอยู่แล้วซึ่งคุณต้องการรวมเข้ากับแพ็คเกจฟีเจอร์ ภารกิจ โมดูล ModuleScript MissionsClient จะมีฟังก์ชันทั้งหมดที่จำเป็นในการส่งข้อมูลเกี่ยวกับภารกิจของผู้เล่นจากเซิร์ฟเวอร์

©2026 Roblox Corporation. Roblox, โลโก้ Roblox และ Powering Imagination เป็นส่วนหนึ่งของเครื่องหมายการค้าที่จดทะเบียน และไม่ได้จดทะเบียนของเราในสหรัฐฯ และประเทศอื่นๆ