Pencapaian untuk game PlayDrop
Deklarasikan pencapaian standar dan bertahap dengan ikon di catalogue.json, lalu buka dan laporkan progresnya dengan sdk.achievements.
Pencapaian menandai tujuan dalam game Anda, dengan ikon dan deskripsi yang dilihat pemain di PlayDrop. Pencapaian berfungsi untuk tamu dan pemain yang sudah masuk.
Deklarasikan pencapaian
{
"achievements": [
{ "key": "first-win", "displayName": "First flag", "description": "Reach the flag once",
"kind": "STANDARD", "icon": "achievements/first-win.png" },
{ "key": "collector", "displayName": "Collector", "description": "Collect 100 stars",
"kind": "INCREMENTAL", "maxProgress": 100, "icon": "achievements/collector.png" },
{ "key": "secret-room", "displayName": "Secret room", "description": "Find the hidden room",
"kind": "STANDARD", "hidden": true, "icon": "achievements/secret-room.png" }
]
}keymengikuti format yang sama dengan kunci papan peringkat.kindbernilaiSTANDARD(terbuka sekali) atauINCREMENTAL(terbuka saat progres mencapaimaxProgress, bilangan bulat positif).iconadalah PNG di dalam paket. Gunakan gambar persegi yang jelas dan tetap terbaca dalam ukuran kecil.hidden: truemerahasiakan nama dan deskripsi sampai pencapaian terbuka.
Kunci yang sudah diterbitkan tidak bisa dihapus, dan kind, maxProgress, serta hidden tidak bisa diubah. Pensiunkan pencapaian dengan "status": "RETIRED".
Buka pencapaian dan laporkan progres
await sdk.achievements.unlock("first-win");
await sdk.achievements.setProgressAtLeast("collector", starsCollected);
const { achievements } = await sdk.achievements.list();
const { achievement } = await sdk.achievements.get("collector");setProgressAtLeastmenerima total sejauh ini, bukan selisih. Progres hanya naik, dibatasi padamaxProgress, dan membuka pencapaian saat mencapainya.- Kedua panggilan mengembalikan
{ accepted, changed, unlocked, progress, unlockedAt, achievement };changedbernilai false jika tidak ada hal baru, sehingga Anda bisa menampilkan notifikasi sendiri hanya sekali. list({ includeHiddenDefinitions: true, includeRetired: true })menyertakan definisi yang tersembunyi dan yang sudah pensiun.
Buka pencapaian hanya saat permainan sungguhan, jangan pernah di pratinjau atau perekaman. Tanpa sesi pemain sama sekali, panggilan selesai tanpa disimpan.
Pencapaian yang bagus
Padukan pencapaian awal yang mengajarkan cara bermain dengan tujuan jangka panjang. Sebutkan tindakannya, bukan hadiahnya: "Menang tanpa terkena serangan" menjelaskan apa yang harus dilakukan. Selusin pencapaian yang dipikirkan matang lebih baik daripada seratus pencapaian sepele.