Paket fitur Misi menawarkan fungsi keluar dari kotak untuk membuat misi yang dapat diselesaikan pemain untuk mencapai hadiah dan kemajuan dalam pengalaman Anda.Semua misi harus memiliki ID, kategori, dan daftar tugas yang harus diselesaikan pemain untuk menyelesaikan misi.Namun, daftar tugas bisa kosong, sehingga hadiah misi dapat diklaim segera.
Menggunakan opsi kustomisasi paket, Anda dapat menyesuaikan semua misi untuk memenuhi persyaratan permainan unik Anda, seperti:
- Membuat misi yang berada di atas kapal membawa pemain baru ke dalam pengalaman Anda dan meningkatkan pertahanan D1.
- Menargetkan penyimpanan D7 dan D30 dengan menambahkan tujuan jangka menengah hingga jangka panjang dan rasa kemajuan.
- Meningkatkan partisipasi dengan menampilkan berbagai sistem di game Anda dan menghadiahi pemain untuk berinteraksi dengan mereka.

Dapatkan paket
Toko Pencipta adalah tab dari Toolbox yang dapat Anda gunakan untuk menemukan semua aset yang dibuat oleh Roblox dan komunitas Roblox untuk digunakan dalam proyek Anda, termasuk model, gambar, mesh, audio, plugin, video, dan aset font.Anda dapat menggunakan Toko Pencipta untuk menambahkan satu atau lebih aset langsung ke pengalaman terbuka, termasuk paket fitur!
Setiap paket fitur memerlukan paket fitur Inti untuk berfungsi dengan benar.Setelah Inti dan Misi fitur paket aset sudah ada di inventaris Anda, Anda dapat menggunakannya kembali di proyek apa pun di platform.
Untuk mendapatkan paket dari inventaris Anda ke pengalaman Anda:
Tambahkan Inti dan Misi ke inventaris Studio dengan mengklik tautan Tambahkan ke Inventaris dalam set komponen berikut.
Di bilah alat, pilih tab Tampilkan.
Klik Toolbox . Jendela Toolbox ditampilkan.
Di jendela Toolbox , klik tab Inventaris . Tampilan urutan Model Saya ditampilkan.
Klik tombol Fitur Paket Inti , lalu tombol Paket Fitur Misi .Kedua folder paket ditampilkan di jendela Explorer .
Seret folder paket ke dalam ReplicatedStorage .
Definisikan misi
Setiap misi yang dapat diselesaikan termasuk serangkaian tugas yang harus diselesaikan untuk menyelesaikan misi, opsi konfigurasi, dan metadata tampilan opsional, semua yang dapat didefinisikan dalam ReplicatedStorage.Missions.Configs.Missions , dengan jenis diekspor dari skrip Types di folder yang sama.
Bidang yang diperlukan
Bidang berikut diperlukan untuk setiap misi.
Nama | Jenis | Deskripsi |
---|---|---|
missionId | string | Kunci tabel Misi utama. Semua misi diidentifikasi oleh string unik mereka sendiri. |
categoryId | string | Misi harus milik kategori, dan dikumpulkan berdasarkan kategori di UI. |
tasks | table | Daftar tugas yang harus diselesaikan pemain untuk menyelesaikan misi. |
Buka kondisi
Secara default, misi dibuka untuk pemain secara otomatis dan dapat diselesaikan tepat sekali.Namun, Anda dapat menggunakan opsi konfigurasi berikut opsional untuk mengubah perilaku ini.
Nama | Jenis | Deskripsi |
---|---|---|
prerequisites | table | Daftar ID misi lain yang harus diselesaikan sebelum misi dapat dibuka. |
manualOnly | bool | Nonaktifkan pembukaan otomatis misi.Sebagai gantinya, fungsi harus dipanggil untuk membuka misi.Kondisi pembukaan lainnya masih harus dipenuhi juga. |
availableAfterUtc | bool | Misi tidak dapat dibuka sebelum waktu yang ditentukan dalam UTC. |
availableBeforeUtc | bool | Misi tidak dapat dibuka setelah waktu yang ditentukan dalam UTC. Jika dibuka tetapi tidak diselesaikan sebelum waktu ini, misi akan gagal. |
repeatable | bool | Misi dibuka kembali setelah selesai. |
repeatLimit | number | Jika misi dapat diulang, itu tidak dapat diulang lebih dari ini berkali-kali. |
repeatCooldownSeconds | number | Jika misi dapat diulang, ada penundaan sebelum terbuka. |
expireSeconds | number | Jika misi dibuka dan tidak diselesaikan dalam waktu yang ditentukan dalam beberapa detik, maka gagal sebagai gantinya. |
expireCountOffline | bool | Jika misi memiliki expireSeconds dan expireCountOffline diatur ke benar, waktu saat pemain tidak benar-benar berada dalam pengalaman akan dihitung untuk kedaluwarsa misi. |
metadata
Misi memiliki metadata yang menentukan bagaimana mereka akan ditampilkan di antarmuka pengguna Misi.Anda dapat menggunakan bidang opsional berikut untuk menyesuaikan metadatanya .
Nama | Jenis | Deskripsi |
---|---|---|
displayName | string | Nama untuk ditampilkan untuk misi di antarmuka pengguna alih-alih missionId. |
description | string | Blok teks yang lebih panjang yang memberikan informasi atau konteks tambahan tentang misi. |
visibleAfterComplete | bool | Jika ditetapkan ke benar, misi akan muncul dalam daftar misi bahkan setelah selesai tetapi ditandai sebagai selesai. |
visibleAfterFailed | bool | Jika ditetapkan ke benar, misi akan muncul dalam daftar misi bahkan setelah gagal tetapi ditandai gagal. |
visibleBeforeUnlocked | bool | Jika diatur ke benar, misi akan terlihat tetapi dikunci dalam daftar misi sebelum tersedia untuk diselesaikan. |
invisibleWhileActive | bool | Jika ditetapkan ke benar, misi akan tidak terlihat bahkan saat aktif dalam progres. |
rewards | table | Daftar informasi tampilan hadiah.
|
Definisikan tugas
Setiap misi dapat memiliki nol atau lebih banyak tugas.Jika misi memiliki tugas nol, misi dapat diklaim segera setelah dibuka; jika misi memiliki satu atau lebih tugas, setelah tugas selesai, pemain dapat mengumpulkan hadiah apa pun yang terkait dengan misi.Setiap tugas memiliki taskId, yang merupakan kunci yang terkait dengan tugas untuk misi tertentu.
Tugas datang dalam dua jenis:
- Tugas Berjangka - Memungkinkan Anda memulai dan menghentikan tugas di titik waktu yang berbeda.Jumlah waktu tertentu harus lewat saat timer tugas berjalan, maka tugas selesai.
- Menghitung Tugas - Memungkinkan Anda menambahkan atau mengatur kemajuan tugas. Saat kemajuan mencapai nilai yang ditetapkan, tugas selesai.
Kedua jenis tugas berbagi bidang berikut:
Nama | Jenis | Deskripsi |
---|---|---|
taskType | string | Menentukan apakah jenis tugas adalah hitung atau ditentukan waktu. |
counter | object | (Opsi) Counter yang dilacak tugas ini.Penghitung adalah penyimpanan permanen spesifik pemain untuk nomor atau waktu tertentu.Beberapa tugas dapat melacak satu respons; misalnya, jika lebih dari satu tugas melacak berapa banyak koin yang dikumpulkan pemain, maka mereka semua dapat berbagi respons"koin" yang sama.Tugas-tugas ini dapat secara independen melacak koin baru yang dikumpulkan, mulai dari nol, atau melanjutkan penghitungan dari nilai counter (semua koin sudah dikumpulkan).
|
metadata | object | (Opsi) Informasi tentang bagaimana tugas ditampilkan di UI.
|
callToAction | object | (Opsi) Tombol yang memicu fungsi panggil balasan.
|
Hitung bidang tugas
Hitung tugas memiliki nilai yang diperlukan. Saat kemajuan tugas memenuhi jumlah ini, tugas selesai.
Nama | Jenis | Deskripsi |
---|---|---|
goalCount | number | (Opsi) Kemajuan yang diperlukan untuk menyelesaikan tugas. |
Bidang tugas waktu
Tugas waktu memiliki jumlah waktu yang ditargetkan, dan dimulai dan dihentikan. Saat jumlah waktu target terpenuhi, tugas selesai.
Nama | Jenis | Deskripsi |
---|---|---|
goalSeconds | number | Jumlah detik yang harus dilalui untuk menyelesaikan tugas. |
startImmediately | bool | Jika tugas harus mulai menghitung waktu segera setelah dibuka, bukan setelah dimulai. |
includesOfflineTime | bool | Jika tugas harus termasuk waktu yang dihabiskan saat pemain tidak aktif dalam pengalaman. |
Konfigurasi kategori
Kategori tidak harus secara eksplisit didefinisikan untuk digunakan, karena kategori untuk sebuah misi memiliki nilai default yang akan digunakan.Namun, Anda dapat mengkonfigurasi nilai-nilai ini di ReplicatedStorage.Missions.Configs.Categories untuk menambahkan efek tambahan ke kategori.Kategori diidentifikasi oleh unik CategoryIds , yang sama yang disebutkan dalam konfigurasi misi.
Nama | Jenis | Deskripsi |
---|---|---|
repeatDelaySeconds | number | (Opsi) Jika diatur, semua misi dalam kategori diatur ulang setiap kali jumlah waktu yang ditentukan berlalu, dan mungkin dibuka, diselesaikan, dan hadiah mereka diklaim lagi.Ini terpisah dari misi yang dapat diulang, yang dapat diulang dalam kategori tertentu yang diulang. |
Integrasikan logika server
Lihat ReplicatedStorage.Missions.Server.Examples.MissionsExample , yang menunjukkan bagaimana server Anda akan berinteraksi dengan paket fitur Misi .
Anda terutama perlu menghubungkan empat hal setelah menyeret paket fitur Misi ke pengalaman Anda:
Tetapkan misi di konfigurasi misi Anda.
Tambahkan logika ke pengalaman Anda untuk memperbarui kemajuan tugas atau penghitung kemajuan yang terikat.
README-- Meningkatkan kemajuan pada misi Melompat dengan tugas LompatMissions.addProgressToTask(player, "Jumping", "Jumps", 1)-- Memulai timer pada misi BattlingTime dengan tugas TimeInBattleMissions.startTimedTask(player, "BattlingTime", "TimeInBattle")-- Menghentikan waktu pengatur waktu pada misi BattlingTime dengan tugas TimeInBattleMissions.stopTimedTask(player, "BattlingTime", "TimeInBattle")-- Meningkatkan kemajuan pada semua tugas yang terkait dengan responsLompatanCounterSystem.addCounter(player, "Jumps", 1)-- Memulai waktu pengatur waktu pada semua tugas terjadwal yang terikat dengan responswaktu di TimeInBattleCounterSystem.startTimer(player, "TimeInBattle")-- Menghentikan waktu pengatur waktu pada semua tugas terjadwal yang terikat dengan responswaktu di TimeInBattleCounterSystem.stopTimer(player, "TimeInBattle")Tetapkan penangan penyelesaian misi, dan secara opsional buka atau gagalkan penangan.Gunakan penangan penyelesaian untuk menghadiahkan hadiah dari misi dalam pengalaman Anda.
READMElocal function completeHandler(player: Player, missionId: Types.MissionId)print(`{player} completed mission {missionId}`)-- Hadiahkan pemain hadiah mereka.endMissions.setCompletionHandler(missionId, completeHandler)Buka misi yang tidak dibuka secara otomatis. Paket logik misi memastikan bahwa semua persyaratan misi dipenuhi sebelum misi selesai, dan hadiahnya dapat koleksi.
READMEMissions.unlockMission(player, "Manual")
Konfigurasi konstan
Konstan untuk paket fitur Inti hidup di dua tempat:
Konstan bersama hidup di ReplicatedStorage.FeaturePackagesCore.Configs.SharedConstants .
Konstan khusus paket, dalam hal ini paket fitur Misi hidup di ReplicatedStorage.Missions.Configs.Constants .
Selain itu, Anda dapat menemukan string untuk terjemahan dibagi menjadi satu lokasi: ReplicatedStorage.FeaturePackagesCore.Configs.TranslationStrings .
Kustomisasi komponen UI
Dengan memodifikasi objek paket, seperti warna, font, dan transparansi, Anda dapat menyesuaikan presentasi visual UI misi Anda.Sebagai contoh, di ReplicatedStorage.Missions.Configs.Constants , Anda dapat mengaktifkan SingleTaskMode untuk menampilkan bilah kemajuan untuk tugas langsung di misi itu sendiri untuk misi yang hanya memiliki satu tugas.
Selain itu, jika pengalaman Anda sudah memiliki UI yang ada yang ingin Anda integrasikan dengan paket fitur Misi, klien berisi semua fungsi yang diperlukan untuk mendapatkan informasi tentang misi pemain yang dikirim dari server.