Katakanlah saya memiliki prestasi dalam gim saya, "Kumpulkan thingamajig pertama Anda", dan saya menerbitkan ini ke versi langsung gim tanpa stat kemajuan. Kemudian saya memutuskan saya ingin menambahkan beberapa prestasi baru dalam pembaruan, termasuk yang didasarkan pada pencapaian sebelumnya: "Kumpulkan 10 thingamajigs".
Saya membuat stat kemajuan untuk yang ini diperbarui dalam kode, tapi saya juga mengedit pencapaian asli sehingga dibuka melalui statistik kemajuan daripada fungsi AwardFirstThingamajigAchievement () dalam kode.
Apa konsekuensi dari ini? Akankah seorang pemain yang sudah membuka kunci ini menemukan bahwa pencapaiannya telah terkunci kembali karena pencapaiannya telah diedit, secara teknis membuatnya menjadi yang baru? Apakah akan tetap tidak terkunci, tetapi masih menyebabkan sedikit popup untuk pencapaian pertama pada Thingamajig berikutnya yang dikumpulkan? Atau akankah Steam tidak menyentuh pencapaian yang sudah terbuka?
sumber
Jawaban:
Dari apa yang saya ingat tentang Steam API Anda dapat mengatur / mengatur ulang perkembangan pemain melalui steam API secara manual yang memungkinkan Anda untuk memecahkan masalah dengan berbagai cara.
Selama pengidentifikasi pencapaian di backend mencerminkan nilai-nilai dalam kode Anda, Anda harus baik-baik saja dan pencapaian baru harus mencerminkan kemajuan yang sudah dicapai dalam stat lama.
jika Anda ingin memigrasikan pencapaian yang sudah berjalan ke tipe baru, Anda dapat "tidak menggunakannya".
Di sisi lain saya tidak berpikir bahwa uap akan menghapus data pemain jika Anda mengubah prestasi asli menjadi "maju". Ini hanyalah sebuah bendera yang membuat bilah kemajuan muncul dan bahkan jika Anda mengubah nilai maks atau memodifikasi pencapaian dengan cara lain, ia masih harus menyimpan data yang sudah ada. Jadi lakukan saja dan amati!
Semoga ini membantu!
sumber
Saya tidak terbiasa dengan bagaimana steam menangani hal-hal (belum dipublikasikan di sana) tetapi saya akan berasumsi bahwa setiap pemain yang telah membuka kunci suatu pencapaian akan menjaga pencapaiannya. Ini karena pencapaian tidak seperti variabel bool yang dinyalakan dan dimatikan. Suatu pencapaian akan didaftarkan pada server steam yang telah dicapai. Oleh karena itu, setiap kemajuan tambahan yang dibuat setelah itu, terlepas dari perubahan apa pun pada kode tidak menjadi masalah. Dengan cara ini, bahkan jika saya menghapus game, pencapaian saya akan tetap ada. Jika Steam tidak melakukan ini (artinya, pencapaian harus dibuka kembali saat Anda mengubah kode), pencapaian itu juga akan hilang ketika Anda mengunduh ulang permainan - karena semua data lokal tentang kondisi pencapaian akan dihapus. Namun,
Semoga ini membantu.
sumber