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

รับแพคเกจ
ร้านค้าผู้สร้าง คือแท็บของกล่องเครื่องมือที่คุณสามารถใช้เพื่อค้นหาทรัพยากรทั้งหมดที่สร้างโดย Roblox และชุมชน Roblox เพื่อใช้ภายในโครงการของคุณ รวมถึงโมเดล ภาพ เมช เสียง ปลั๊กอิน วิดีโอ และแบบอักษร คุณสามารถใช้ร้านค้าผู้สร้างเพื่อเพิ่มสินทรัพย์หนึ่งหรือมากกว่าโดยตรงในประสบการณ์ที่เปิดกว้างรวมถึงแพคเกจคุณสมบัติ!
แต่ละแพคเกจคุณสมบัติต้องใช้แพคเกจคุณสมบัติหลัก Core เพื่อให้ทำงานได้อย่างถูกต้องเมื่อแพ็คเกจคุณสมบัติ แกนกลาง และ ภารกิจ อยู่ภายในสินค้าคงคลังของคุณแล้ว คุณสามารถนำมาใช้ใหม่ในโครงการใดๆ คลังไอเท็ม
เพื่อรับแพคเกจจากคลังสินค้าของคุณเข้าสู่ประสบการณ์ของคุณ:
เพิ่ม แกนหลัก และ ภารกิจ ในสินค้าคงคลังของคุณภายในสตูดิโอโดยคลิกที่ลิงก์ เพิ่มในสต็อก ในชุดส่วนประกอบต่อไปนี้
ในแถบเครื่องมือ เลือกแท็บ ดู
คลิก กล่องเครื่องมือ . หน้าต่าง กล่องเครื่องมือ จะปรากฏ
ในหน้าต่าง กล่องเครื่องมือ คลิกที่แท็บ สินค้าคงคลัง แสดงรายการ โมเดลของฉัน
คลิกที่ แพคเกจคุณสมบัติหลัก แล้วที่ แพคเกจคุณสมบัติภารกิจ ตามลำดับทั้งสองโฟลเดอร์แพคเกจจะแสดงในหน้าต่าง สํารวจ
ลากไฟล์โฟลเดอร์แพคเกจเข้าไปใน ReplicatedStorage
กำหนดภารกิจ
ภารกิจแต่ละภารกิจสําเร็จรวมถึงชุดของภารกิจที่ต้องเสร็จสิ้นเพื่อสําเร็จภารกิจตัวเลือกการกำหนดค่า และข้อมูลจัดแสดงที่ไม่จําเป็นทั้งหมดสามารถกําหนดได้ภายใน ReplicatedStorage.Missions.Configs.Missions โดยประเภทที่ส่งออกจากสคริปต์ Types ในโฟลเดอร์เดียวกัน
ฟิลด์ที่จำเป็น
ฟิลด์ต่อไปนี้จำเป็นสำหรับภารกิจแต่ละครั้ง
ชื่อ | ประเภท | คําอธิบาย |
---|---|---|
missionId | string | สําคัญตารางภารกิจหลัก ภารกิจทั้งหมดจะถูกระบุโดยสตริงที่ไม่ซ้ํากันของตนเอง |
categoryId | string | ภารกิจต้องเป็นส่วนหนึ่งของหมวดหมู่และจัดเรียงตามหมวดหมู่ใน UI |
tasks | table | รายการภารกิจที่ผู้เล่นต้องทำเพื่อให้ภารกิจสําเร็จ |
ปลดล็อคเงื่อนไข
โดยค่าเริ่มต้น ภารกิจจะถูกปลดล็อกสำหรับผู้เล่นโดยอัตโนมัติและสามารถสําเร็จได้เพียงครั้งเดียวอย่างไรก็ตาม คุณสามารถใช้ตัวเลือกการกำหนดค่าต่อไปนี้ ไม่บังคับ เพื่อเปลี่ยนพฤติกรรมนี้
ชื่อ | ประเภท | คําอธิบาย |
---|---|---|
prerequisites | table | รายการของ missionIds อื่น ๆ ที่ต้องสําเร็จก่อนที่จะสามารถปลดล็อกภารกิจได้ |
manualOnly | bool | ปิดการปลดล็อกอัตโนมัติของภารกิจแทนที่จะต้องเรียกฟังก์ชันเพื่อปลดล็อกภารกิจเงื่อนไขปลดล็อกอื่นๆ ยังต้องเป็นไปตามเงื่อนไขอีกด้วย |
availableAfterUtc | bool | ไม่สามารถปลดล็อกภารกิจก่อนเวลาที่กำหนดใน UTC ได้ |
availableBeforeUtc | bool | ภารกิจไม่สามารถปลดล็อกได้หลังจากเวลาที่กำหนดใน UTC หากปลดล็อกแต่ไม่สำเร็จก่อนเวลานี้ภารกิจจะล้มเหลว |
repeatable | bool | ภารกิจจะถูกปลดล็อกอีกครั้งหลังจากสําเร็จแล้ว |
repeatLimit | number | หากภารกิจสามารถทำซ้ำได้ มันไม่สามารถทำซ้ำได้มากกว่านี้หลายครั้ง |
repeatCooldownSeconds | number | หากภารกิจสามารถทำซ้ำได้มีความล่าช้าก่อนที่จะถูกปลดล็อก |
expireSeconds | number | หากภารกิจถูกปลดล็อคและไม่สำเร็จภายในระยะเวลาที่กำหนด จะล้มเหลวแทน |
expireCountOffline | bool | หากภารกิจมี expireSeconds และ expireCountOffline ถูกตั้งค่าเป็นจริง เวลาที่ผู้เล่นไม่ได้อยู่ในประสบการณ์จะนับเป็นเวลาสิ้นสุดภารกิจ |
เมทาดาต้า
ภารกิจมีเมทาดาต้าที่ระบุวิธีที่จะแสดงในอินเทอร์เฟซผู้ใช้ภารกิจคุณสามารถใช้ฟิลด์ตัวเลือกต่อไปนี้ ไม่บังคับ เพื่อปรับแต่งเมตาดาต้า
ชื่อ | ประเภท | คําอธิบาย |
---|---|---|
displayName | string | ชื่อที่จะแสดงสําหรับภารกิจในอินเทอร์เฟซผู้ใช้แทน missionId |
description | string | บล็อกข้อความที่ยาวขึ้นที่ให้ข้อมูลเพิ่มเติมหรือบริบทเกี่ยวกับภารกิจ |
visibleAfterComplete | bool | หากตั้งค่าเป็นจริง ภารกิจจะปรากฏในรายการภารกิจแม้หลังจากเสร็จสิ้นแต่ถูกบอกว่าเสร็จสิ้น |
visibleAfterFailed | bool | หากตั้งค่าเป็นจริง ภารกิจจะปรากฏในรายการภารกิจแม้หลังจากที่ล้มเหลว แต่ถูกบอกว่าล้มเหลว |
visibleBeforeUnlocked | bool | หากตั้งค่าเป็นจริง ภารกิจจะปรากฏบนรายการภารกิจ แต่ถูกล็อคไว้ก่อนที่จะสามารถใช้งานได้สำเร็จ |
invisibleWhileActive | bool | หากตั้งค่าเป็นจริง ภารกิจจะมองไม่เห็นแม้ในขณะที่กําลังดําเนินการอยู่ |
rewards | table | รายการข้อมูลการแสดงรางวัล
|
กำหนดภารกิจ
แต่ละภารกิจสามารถมีภารกิจเป็นศูนย์หรือมากกว่าหนึ่งภารกิจหากภารกิจมีภารกิจเป็นศูนย์ สามารถเรียกร้องได้ทันทีหลังจากถูกปลดล็อก; หากภารกิจมีหนึ่งหรือมากกว่าหนึ่งภารกิจ เมื่อภารกิจสําเร็จแล้ว ผู้เล่นสามารถรวบรวมรางวัลใดๆ ที่เกี่ยวข้องกับภารกิจได้แต่ละภารกิจมี taskId ซึ่งเป็นกุญแจที่เกี่ยวข้องกับภารกิจสำหรับภารกิจที่กำหนด
งานมาในสองประเภท:
- งานที่กําหนดเวลา - ช่วยให้คุณสามารถเริ่มและหยุดงานในจุดต่างๆ ในเวลาได้ต้องผ่านระยะเวลาหนึ่งในขณะที่นาฬิกาเวลาของงานทำงานแล้วงานจะสําเร็จ
- นับภารกิจ - ให้คุณเพิ่มหรือตั้งค่าความคืบหน้าของภารกิจ เมื่อความคืบหน้าถึงมูลค่าที่กำหนด ภารกิจจะสําเร็จ
ทั้งสองประเภทงานแบ่งปันฟิลด์ต่อไปนี้:
ชื่อ | ประเภท | คําอธิบาย |
---|---|---|
taskType | string | ระบุว่าประเภทงานเป็นจํานวนหรือกําหนดเวลา |
counter | object | (ตัวเลือก) เคาน์เตอร์ที่ติดตามงานนี้ตัวนับเป็นที่เก็บข้อมูลถาวรสำหรับผู้เล่นสำหรับจํานวนหรือตัวจับเวลาภารกิจหลายภารกิจสามารถติดตามเคาน์เตอร์เดียวได้; ตัวอย่างเช่นหากภารกิจมากกว่าหนึ่งภารกิจติดตามจํานวนเหรียญที่ผู้เล่นได้รวบรวมแล้วก็สามารถแบ่งปันเคาน์เตอร์ "เหรียญ" ต่อรองเริ่มจากศูนย์หรือดำเนินการนับต่อจากมูลค่าเคาน์เตอร์ (เหรียญทั้งหมดที่เก็บไปแล้ว)
|
metadata | object | (ตัวเลือก) ข้อมูลเกี่ยวกับวิธีที่งานจะแสดงใน UI
|
callToAction | object | (ตัวเลือก) ปุ่มที่เรียกใช้ฟังก์ชันการโทรกลับ
|
นับฟิลด์ภารกิจ
การนับงานมีค่าที่จำเป็น เมื่อความคืบหน้างานตรงกับจำนวนนี้แล้ว งานจะสําเร็จ
ชื่อ | ประเภท | คําอธิบาย |
---|---|---|
goalCount | number | (ตัวเลือก) ความคืบหน้าที่จำเป็นเพื่อสําเร็จภารกิจ |
ฟิลด์ภารกิจเวลา
ภารกิจเวลามีเวลาเป้าหมายที่ใช้ไปและเริ่มต้นและหยุด เมื่อเป้าหมายเวลาถูกตอบแล้ว ภารกิจจะสําเร็จ
ชื่อ | ประเภท | คําอธิบาย |
---|---|---|
goalSeconds | number | จํานวนวินาทีที่ต้องผ่านเพื่อสําเร็จภารกิจ |
startImmediately | bool | หากภารกิจควรเริ่มนับเวลาทันทีที่ปลดล็อค แทนที่จะรอจนกว่าจะเริ่มต้นแล้ว |
includesOfflineTime | bool | หากภารกิจควรรวมเวลาที่ใช้ในขณะที่ผู้เล่นไม่ได้ใช้งานอยู่ในประสบการณ์ |
กำหนดหมวดหมู่
หมวดหมู่ไม่จำเป็นต้องกำหนดไว้อย่างชัดเจนเพื่อใช้ เนื่องจากหมวดหมู่สำหรับภารกิจมีค่าเริ่มต้นที่จะใช้อย่างไรก็ตาม คุณสามารถกำหนดค่าเหล่านี้ใน ReplicatedStorage.Missions.Configs.Categories เพื่อเพิ่มเอฟเฟกต์เพิ่มเติมให้กับหมวดหมู่หมวดหมู่จะถูกระบุโดย CategoryIds ที่ไม่ซ้ำกันในการกำหนดค่าภารกิจ
ชื่อ | ประเภท | คําอธิบาย |
---|---|---|
repeatDelaySeconds | number | (ตัวเลือก) หากตั้งค่าไว้ ภารกิจทั้งหมดในหมวดหมู่จะรีเซ็ตทุกครั้งที่จำนวนเวลาที่กำหนดผ่านไป และอาจถูกปลดล็อก เสร็จสิ้น และรับรางวัลอีกครั้งนี้แยกจากภารกิจที่ทำซ้ำได้ซึ่งสามารถทำซ้ำได้ภายในหมวดหมู่ที่กำหนดไว้ซ้ำ |
บูรณาการโลจิสติกของเซิร์ฟเวอร์
ดูที่ ReplicatedStorage.Missions.Server.Examples.MissionsExample ซึ่งแสดงวิธีที่เซิร์ฟเวอร์ของคุณจะโต้ตอบกับแพคเกจคุณสมบัติ ภารกิจ คุณต้องเชื่อมต่อสี่สิ่งหลังจากลากแพคเกจคุณสมบัติ ภารกิจ เข้าสู่ประสบการณ์ของคุณ:
กำหนดภารกิจในการกำหนดค่าภารกิจของคุณ
เพิ่มโลจิสติกให้กับประสบการณ์ของคุณเพื่ออัปเดตความคืบหน้าของงานหรือเครื่องนับความคืบหน้าที่เกี่ยวข้อง
อ่าน README-- เพิ่มความคืบหน้าในภารกิจกระโดดด้วยภารกิจกระโดดMissions.addProgressToTask(player, "Jumping", "Jumps", 1)-- เริ่มตัวจับเวลาในภารกิจ BattlingTime ด้วยภารกิจ TimeInBattleMissions.startTimedTask(player, "BattlingTime", "TimeInBattle")-- หยุดเวลาจับเวลาในภารกิจ BattlingTime ด้วยภารกิจ TimeInBattleMissions.stopTimedTask(player, "BattlingTime", "TimeInBattle")-- ต่อรองCounterSystem.addCounter(player, "Jumps", 1)-- เริ่มตัวจับเวลาสำหรับภารกิจที่กําหนดเวลาทั้งหมดที่เชื่อมโยงกับตัวนับเวลา TimeInBattleCounterSystem.startTimer(player, "TimeInBattle")-- หยุดตัวจับเวลาสำหรับภารกิจทั้งหมดที่กําหนดเวลาที่เชื่อมโยงกับเครื่องนับเวลา TimeInBattleCounterSystem.stopTimer(player, "TimeInBattle")ตั้งตัวจัดการการสําเร็จภารกิจและปลดล็อกตัวจัดการหรือล้มเหลวได้ตามต้องการใช้ตัวจัดการการเสร็จสิ้นเพื่อมอบรางวัลจากภารกิจในประสบการณ์ของคุณ
อ่าน READMElocal function completeHandler(player: Player, missionId: Types.MissionId)print(`{player} completed mission {missionId}`)-- มอบรางวัลให้ผู้เล่นรางวัลของพวกเขาendMissions.setCompletionHandler(missionId, completeHandler)ปลดล็อกภารกิจที่ไม่ปลดล็อกโดยอัตโนมัติฟีเจอร์แพคเกจของภารกิจ จะตรวจสอบให้แน่ใจว่าความต้องการของภารกิจทั้งหมดได้รับการตอบสนองก่อนที่ภารกิจจะสําเร็จและรางวัลของมันสามารถเก็บได้
อ่าน READMEMissions.unlockMission(player, "Manual")
กำหนดคงที่
คงที่สำหรับแพคเกจคุณสมบัติ แกนกลาง อยู่ในสองจุด:
คงที่ร่วมอยู่ใน ReplicatedStorage.FeaturePackagesCore.Configs.SharedConstants
คงที่เฉพาะแพคเกจในกรณีนี้คือแพคเกจคุณสมบัติ ภารกิจ อาศัยอยู่ใน ReplicatedStorage.Missions.Configs.Constants
นอกจากนี้คุณสามารถค้นหาสตริงสําหรับการแปลที่แยกออกเป็นสถานที่เดียว: ReplicatedStorage.FeaturePackagesCore.Configs.TranslationStrings
ปรับแต่งส่วนประกอบ UI
โดยการแก้ไขวัตถุแพคเกจ เช่น สี ฟอนต์ และความโปร่งใส คุณสามารถปรับแต่งการนำเสนอภาพการทำงานของ UI ของคุณได้ตัวอย่างเช่นใน ReplicatedStorage.Missions.Configs.Constants คุณสามารถเปิดใช้งาน SingleTaskMode เพื่อแสดงแถบความคืบหน้าสำหรับงานโดยตรงบนภารกิจเองสำหรับภารกิจที่มีงานเดียวเท่านั้น
นอกจากนี้หากประสบการณ์ของคุณมี UI ที่มีอยู่แล้วที่คุณต้องการรวมเข้ากับแพคเกจคุณสมบัติ ภารกิจ คลายต์ จะมีฟังก์ชันทั้งหมดที่จำเป็นในการรับข้อมูลเกี่ยวกับภารกิจของผู้เล่นที่ส่งจากเซิร์ฟเวอร์