Gói tính năng Nhiệm vụ cung cấp chức năng ngoài hộp để tạo nhiệm vụ mà người chơi có thể hoàn thành để nhận phần thưởng và tiến bộ trong trải nghiệm của bạn.Tất cả các nhiệm vụ phải có ID, danh thể loạivà một danh sách các nhiệm vụ mà người chơi phải hoàn thành để hoàn thành nhiệm vụ.Tuy nhiên, danh sách nhiệm vụ có thể trống, cho phép nhận phần thưởng của nhiệm vụ ngay lập tức.
Sử dụng các lựa chọn tùy chỉnh của gói, bạn có thể cá nhân hóa tất cả các nhiệm vụ để đáp ứng các yêu cầu chơi game độc đáo của bạn, chẳng hạn như:
- Tạo nhiệm vụ mà trên tàu mới người chơi vào trải nghiệm của bạn và cải thiện giữ giữ D1.
- Xác định giữ lại D7 và D30 bằng cách thêm các mục tiêu trung hạn đến dài hạn và cảm giác tiến trình.
- Tăng tương tác bằng cách hiển thị các hệ thống khác nhau trong trò chơi của bạn và thưởng cho người chơi vì đã tương tác với chúng.

Nhận gói
Cửa hàng Nhà sáng tạo là một tab của Hộp công cụ mà bạn có thể sử dụng để tìm tất cả các tài sản được tạo bởi Roblox và cộng đồng Roblox để sử dụng trong các dự án của bạn, bao gồm mô hình, hình ảnh, khối, âm thanh, plugin, video và tài sản phông chữ.Bạn có thể sử dụng Cửa hàng Nhà sáng tạo để thêm một hoặc nhiều tài sản trực tiếp vào trải nghiệm mở, bao gồm cả gói tính năng!
Mỗi gói tính năng yêu cầu gói tính năng Trung tâm để hoạt động đúng cách.Một khi các tài nguyên gói tính năng Lõi và Nhiệm vụ đã nằm trong kho lưu trữ của bạn, bạn có thể tái sử dụng chúng trong bất kỳ dự án nào trên nền tảng.
Để lấy các gói từ kho lưu trữ của bạn vào trải nghiệm của bạn:
Thêm Lõi và Nhiệm vụ vào kho đồ trong Studio bằng cách nhấp vào liên kết Thêm vào kho đồ trong bộ thành phần sau.
Trong thanh công cụ, hãy chọn tab Xem.
Nhấp vào Hộp công cụ . Cửa sổ Hộp công cụ hiển thị.
Trong cửa sổ Hộp công cụ , nhấp vào tab Tồn kho . Các mô hình của tôi xếp hiển thị.
Nhấp vào ô Tính năng Gói Trọng tâm , sau đó ô Tính năng Gói Nhiệm vụ .Cả hai thư mục gói hiển thị trong cửa sổ Explorer .
Kéo các thư mục gói vào ReplicatedStorage .
Xác định nhiệm vụ
Mỗi nhiệm vụ hoàn thành bao gồm một bộ các nhiệm vụ phải được hoàn thành để hoàn thành nhiệm vụ, tùy chọn cấu hình và dữ liệu hiển thị tùy chọn, tất cả đều có thể được xác định trong ReplicatedStorage.Missions.Configs.Missions , với các loại xuất khẩu từ kịch bản Types trong cùng một thư mục.
Các trường bắt buộc
Các trường sau đây là bắt buộc cho mỗi nhiệm vụ.
Tên | Loại | Mô tả |
---|---|---|
missionId | string | Chìa khóa bảng nhiệm vụ chìa khóa. Tất cả các nhiệm vụ được xác định bởi chuỗi riêng của chúng. |
categoryId | string | Nhiệm vụ phải thuộc về một danh thể loạivà được sắp xếp theo danh mục trong UI. |
tasks | table | Một danh sách nhiệm vụ mà người chơi phải hoàn thành để hoàn thành nhiệm vụ. |
Mở điều kiện
Mặc định, nhiệm vụ được mở khóa cho người chơi tự động và có thể hoàn thành chính xác một lần.Tuy nhiên, bạn có thể sử dụng các tùy chọn cấu hình sau bắt buộc để thay đổi hành vi này.
Tên | Loại | Mô tả |
---|---|---|
prerequisites | table | Một danh sách các ID nhiệm vụ khác phải được hoàn thành trước khi nhiệm vụ có thể được mở khóa. |
manualOnly | bool | Vô hiệu hóa việc mở khóa tự động của nhiệm vụ.Thay vào đó, chức năng phải được gọi để mở khóa nhiệm vụ.Bất kỳ điều kiện mở khóa khác cũng phải được đáp ứng. |
availableAfterUtc | bool | Nhiệm vụ không thể được mở khóa trước thời gian cụ thể trong UTC. |
availableBeforeUtc | bool | Nhiệm vụ không thể được mở khóa sau thời gian cụ thể trong UTC. Nếu nó được mở khóa nhưng không hoàn thành trước thời gian này, nhiệm vụ sẽ thất bại. |
repeatable | bool | Nhiệm vụ được mở khóa lại sau khi hoàn thành. |
repeatLimit | number | Nếu nhiệm vụ có thể lặp lại, nó không thể được lặp lại nhiều hơn số lần này. |
repeatCooldownSeconds | number | Nếu nhiệm vụ có thể lặp lại, có một khoảng trễ trước khi nó được mở khóa. |
expireSeconds | number | Nếu nhiệm vụ được mở khóa và không hoàn thành trong số giây được định, thì nó sẽ thất bại thay vào đó. |
expireCountOffline | bool | Nếu nhiệm vụ có expireSeconds và expireCountOffline được đặt thành true, thời gian trong khi người chơi không thực sự ở trong trải nghiệm sẽ được tính vào thời gian hết hạn của nhiệm vụ. |
Thông tin metadata
Nhiệm vụ có metadata xác định cách chúng sẽ được hiển thị trong giao diện người dùng Nhiệm vụ.Bạn có thể sử dụng các trường bắt buộc sau opcional để tùy chỉnh metadata của nó.
Tên | Loại | Mô tả |
---|---|---|
displayName | string | Một tên để hiển thị cho nhiệm vụ trong giao diện người dùng thay vì missionId. |
description | string | Một khối văn bản dài hơn cung cấp thêm thông tin hoặc ngữ cảnh về nhiệm vụ. |
visibleAfterComplete | bool | Nếu được đặt thành true, nhiệm vụ sẽ xuất hiện trong danh sách nhiệm vụ ngay cả sau khi hoàn thành nhưng được đánh dấu là hoàn thành. |
visibleAfterFailed | bool | Nếu được đặt thành true, nhiệm vụ sẽ xuất hiện trong danh sách nhiệm vụ ngay cả sau khi thất bại nhưng được đánh dấu là thất bại. |
visibleBeforeUnlocked | bool | Nếu được đặt thành true, nhiệm vụ sẽ hiển thị nhưng bị khóa trong danh sách nhiệm vụ trước khi có sẵn để hoàn thành. |
invisibleWhileActive | bool | Nếu được đặt thành true, nhiệm vụ sẽ không hiển thị ngay cả khi đang hoạt động. |
rewards | table | Một danh sách thông tin hiển thị phần thưởng.
|
Xác định nhiệm vụ
Mỗi nhiệm vụ có thể có không có nhiệm vụ hoặc nhiều hơn.Nếu một nhiệm vụ có không có nhiệm vụ nào, nó có thể được nhận ngay sau khi nó được mở khóa; nếu một nhiệm vụ có một hoặc nhiều nhiệm vụ, một khi các nhiệm vụ được hoàn thành, người chơi có thể thu thập bất kỳ phần thưởng nào liên quan đến nhiệm vụ.Mỗi nhiệm vụ có một taskId, đó là chìa khóa liên quan đến nhiệm vụ cho một nhiệm vụ cụ thể.
Nhiệm vụ có hai loại:
- Nhiệm vụ có thời gian - Cho phép bạn bắt đầu và dừng nhiệm vụ ở các điểm khác nhau trong thời gian.Một khoảng thời gian nhất định phải trôi qua trong khi hẹn giờ của nhiệm vụ đang chạy, sau đó nhiệm vụ hoàn thành.
- Đếm nhiệm vụ - Cho phép bạn thêm hoặc đặt tiến trình của nhiệm vụ. Khi tiến trình đạt đến một giá trị đã đặt, nhiệm vụ hoàn thành.
Cả hai loại nhiệm vụ chia sẻ các trường sau:
Tên | Loại | Mô tả |
---|---|---|
taskType | string | Xác định xem loại nhiệm vụ là đếm hoặc theo thời gian. |
counter | object | (Tùy chọn) Bộ đếm theo dõi nhiệm vụ này.Quầy là kho lưu trữ vĩnh viễn của người chơi cho một số hoặc một bộ đếm thời gian.Nhiều nhiệm vụ có thể theo dõi một trả giáduy nhất; ví dụ, nếu nhiều hơn một nhiệm vụ theo dõi số tiền xu mà một người chơi đã thu thập, thì tất cả đều có thể chia sẻ cùng một bộ đếm "tiền trả giá".Các nhiệm vụ này có thể theo dõi độc lập các đồng tiền mới được thu thập, bắt đầu từ không, hoặc tiếp tục đếm từ giá trị đếm (tất cả các đồng tiền đã được thu thập).
|
metadata | object | (Tùy chọn) Thông tin về cách nhiệm vụ hiển thị trong UI.
|
callToAction | object | (Tùy chọn) Một nút kích hoạt chức năng gọi lại.
|
Đếm các trường nhiệm vụ
Các nhiệm vụ có giá trị bắt buộc. Khi tiến trình nhiệm vụ đạt đến số tiền này, nhiệm vụ được hoàn thành.
Tên | Loại | Mô tả |
---|---|---|
goalCount | number | (Tùy chọn) Tiến trình cần thiết để hoàn thành nhiệm vụ. |
Trường thời gian nhiệm vụ
Nhiệm vụ thời gian có số thời gian mục tiêu được chi tiêu, và được bắt đầu và dừng lại. Khi số thời gian mục tiêu được đáp ứng, nhiệm vụ hoàn thành.
Tên | Loại | Mô tả |
---|---|---|
goalSeconds | number | Số giây phải đi qua để hoàn thành nhiệm vụ. |
startImmediately | bool | Nếu nhiệm vụ phải bắt đầu đếm thời gian ngay khi nó được mở khóa, thay vì chỉ sau khi nó bắt đầu. |
includesOfflineTime | bool | Nếu nhiệm vụ phải bao gồm thời gian đã dành trong khi người chơi không hoạt động trong trải nghiệm. |
Tùy chỉnh các danh mục
Các danh mục không cần được xác định cụ thể để sử dụng, vì danh mục cho một nhiệm vụ có các giá trị mặc định sẽ được sử dụng.Tuy nhiên, bạn có thể cấu hình các giá trị này trong ReplicatedStorage.Missions.Configs.Categories để thêm hiệu ứng bổ sung vào danh thể loại.Các danh mục được xác định bởi duy nhất CategoryIds , những cái tương tự được tham chiếu trong config nhiệm vụ.
Tên | Loại | Mô tả |
---|---|---|
repeatDelaySeconds | number | (Tùy chọn) Nếu được thiết cài đặt, tất cả các nhiệm vụ trong danh mục được xóa mỗi khi số thời gian xác định qua, và có thể được mở khóa, hoàn thành và nhận phần thưởng của họ một lần nữa.Điều này khác với các nhiệm vụ có thể lặp lại, có thể lặp lại trong một danh mục đã cho phép lặp lại. |
Tích hợp logic máy chủ
Hãy xem xét ReplicatedStorage.Missions.Server.Examples.MissionsExample, cho thấy cách máy chủ của bạn sẽ tương tác với gói tính năng Nhiệm vụ .
Chủ yếu bạn cần kết nối bốn thứ sau khi kéo gói tính năng Nhiệm vụ vào trải nghiệm của bạn:
Xác định nhiệm vụ trong cấu hình nhiệm vụ của bạn.
Thêm logic vào trải nghiệm của bạn để cập nhật tiến trình nhiệm vụ hoặc các bộ đếm tiến trình mà tiến trình được gắn kết.
ĐỌC TÀI LIỆU-- Tăng tiến trình trên một nhiệm vụ Nhảy với một nhiệm vụ NhảyMissions.addProgressToTask(player, "Jumping", "Jumps", 1)-- Bắt đầu bộ đếm thời gian trên một nhiệm vụ BattlingTime với một nhiệm vụ TimeInBattleMissions.startTimedTask(player, "BattlingTime", "TimeInBattle")-- Dừng bộ đếm thời gian trên một nhiệm vụ BattlingTime với một nhiệm vụ TimeInBattleMissions.stopTimedTask(player, "BattlingTime", "TimeInBattle")-- Tăng tiến trình của tất cả các nhiệm vụ liên quan đến bộ đếm trả giáCounterSystem.addCounter(player, "Jumps", 1)-- Bắt đầu bộ đếm thời gian cho tất cả các nhiệm vụ có thời gian trên bộ đếm thời gian TimeInBattleCounterSystem.startTimer(player, "TimeInBattle")-- Dừng bộ đếm thời gian trên tất cả các nhiệm vụ được lên lịch có liên quan đến bộ đếm thời gian TimeInBattleCounterSystem.stopTimer(player, "TimeInBattle")Chỉnh sửa các xử lý việc hoàn thành nhiệm vụ và mở khóa hoặc thất bại các xử lý tùy chọn.Sử dụng xử lý hoàn thành để trao phần thưởng từ nhiệm vụ trong trải nghiệm của bạn.
ĐỌC TÀI LIỆUlocal function completeHandler(player: Player, missionId: Types.MissionId)print(`{player} completed mission {missionId}`)-- Trao phần thưởng cho người chơi.endMissions.setCompletionHandler(missionId, completeHandler)Mở khóa nhiệm vụ không được mở khóa tự động.Logic gói chức năng Nhiệm vụ đảm bảo tất cả các yêu cầu nhiệm vụ được đáp ứng trước khi nhiệm vụ hoàn thành và phần thưởng của nó có thể đồ sưu tậpthập được.
ĐỌC TÀI LIỆUMissions.unlockMission(player, "Manual")
Tùy chỉnh các biến số
Các tham số cho gói tính năng Trung tâm sống ở hai điểm:
Các biến chung sống trong ReplicatedStorage.FeaturePackagesCore.Configs.SharedConstants .
Các biến cố định cụ thể cho gói, trong trường hợp này là gói tính năng Nhiệm vụ , sống trong ReplicatedStorage.Missions.Configs.Constants .
Ngoài ra, bạn có thể tìm các chuỗi cho bản dịch được phân tách thành một vị trí: ReplicatedStorage.FeaturePackagesCore.Configs.TranslationStrings .
Tùy chỉnh các thành phần UI
Bằng cách sửa đổi các đối tượng gói, chẳng hạn như màu sắc, phông chữ và độ trong suốt, bạn có thể điều chỉnh trình bày hình ảnh của giao diện người dùng nhiệm vụ của bạn.Ví dụ, trong ReplicatedStorage.Missions.Configs.Constants , bạn có thể bật SingleTaskMode để hiển thị thanh tiến trình cho một nhiệm vụ trực tiếp trên nhiệm vụ chỉ có một nhiệm vụ cho những nhiệm vụ chỉ có một nhiệm vụ.
Ngoài ra, nếu trải nghiệm của bạn đã có một giao diện người dùng hiện có mà bạn muốn tích hợp với gói tính năng Nhiệm vụ , khách hàng chứa tất cả các chức năng cần thiết để nhận được thông tin về nhiệm vụ của một người chơi được gửi từ máy chủ.