BUAT DUNIAMU
Ekonomi

Dapatkan informasi tentang barang yang dimiliki oleh pengguna

9min
anda dapat menggunakan zepeto module shop api untuk mengambil informasi item dari pengguna yang terhubung saat ini berdasarkan kategori instal jendela → pengelola paket → silakan instal paket zepeto world versi 1 21 14 atau yang lebih tinggi terlebih dahulu kemudian instal paket zepeto module versi 1 0 7 atau yang lebih tinggi zepeto module shop api jika anda tertarik dengan zepeto module shop api, silakan merujuk ke dokumentasi 📘 silakan merujuk ke panduan berikut \[ zepeto module shop api https //developer zepeto me/docs/module/namespaces/zepeto module shop ] contoh mengeluarkan informasi item proyek > buat > zepeto > typescript dibuat dan namanya diubah menjadi myitemlist tulis skrip contoh seperti yang ditunjukkan di bawah ini import { zepetoscriptbehaviour } from 'zepeto script' import { shopservice, category, itemkeyword } from 'zepeto module shop' import { zepetopropertyflag } from 'zepeto' import { texture2d, waituntil } from 'unityengine' import { rawimage } from 'unityengine ui' import { item } from 'zepeto module content' export default class myitemlist extends zepetoscriptbehaviour { public thumbnailimage rawimage; start() { this startcoroutine(this cogetmycategory()); } cogetmycategory() { var requestcategory = shopservice getmycategoryasync(); yield new waituntil(() => requestcategory keepwaiting == false); if (requestcategory responsedata issuccess) { let categoryinfo = requestcategory responsedata category; console log(`\[informasi kategori] ${categoryinfo displayname} panjang ${categoryinfo categories length}`); let categories category\[] = categoryinfo categories; for (const category of categories) { console log(`\[nama tampilkan kategori] ${category displayname} `); //kata kunci kategori digunakan sebagai argumen dalam fungsi shopservice getmycontentitemlistasync console log(`\[kata kunci kategori] ${category keyword} `); } } this startcoroutine(this cogetmyitem()); } cogetmyitem() { var requestitemlist = shopservice getmycontentitemlistasync(itemkeyword all, null); yield new waituntil(() => requestitemlist keepwaiting == false); if (requestitemlist responsedata issuccess) { let items item\[] = requestitemlist responsedata items; // jumlah item yang diterima sebagai hasil dari getmycontentitemlistasync() console log(items length); for (let i = 0; i < items length; ++i) { const property zepetopropertyflag = items\[i] property; // id item dan properti item console log(`\[item konten] (id) ${items\[i] id} | (properti) ${property}`); // mengatur thumbnail item sebagai tekstur dari rawimage var texturereq = items\[i] getthumbnailasync(); yield new waituntil(() => texturereq keepwaiting == false); let thumbnailtexture texture2d = texturereq responsedata texture; this thumbnailimage texture = thumbnailtexture; } } } } deskripsi skrip ambil informasi tab item saya panggil shopservice getmycategoryasync() untuk mengetahui kategori item di tab item saya ketika anda berhasil menerima respons, anda dapat mengakses objek categoryresponse melalui properti responsedata categoryresponse category categories dijelajahi dan daftar kategori item di tab item saya dikeluarkan ambil daftar item panggil shopservice getmycontentitemlistasync(itemkeyword all, null) untuk mengambil daftar item untuk semua kategori anda dapat memilih untuk mengambil item hanya dari kategori tertentu misalnya, anda dapat menggunakan itemkeyword hair alih alih itemkeyword all untuk mengambil hanya item rambut parameter kedua hanya digunakan jika anda mengetahui token halaman berikutnya untuk diminta atur ke null saat pertama kali anda memanggil api untuk contoh terkait nextpagetoken, periksa informasi di bawah ini ketika anda menerima respons yang berhasil, anda dapat mengakses objek contentitemlistresponse melalui properti responsedata itemresponse items dijelajahi dan id serta kode enum bagian untuk setiap item dikeluarkan selain itu, thumbnail item diatur sebagai rawimage yang ditentukan setelah anda selesai menulis skrip, tambahkan skrip ke objek di scene menekan tombol putar akan menunjukkan daftar kategori dari tab item saya dan informasi item dari semua kategori jika anda membuat prefab thumbnail item dan memiliki thumbnail yang dibuat secara dinamis berdasarkan daftar item, anda dapat menampilkan thumbnail daftar item di ui contoh untuk memeriksa status kepemilikan item tertentu pengguna anda dapat memanfaatkan getmycontentitemlistasync() untuk memeriksa apakah seseorang di dunia mengenakan pakaian tertentu berikut adalah contoh sederhana untuk menampilkan pesan di ui pengguna yang memiliki item tertentu proyek > buat > zepeto > typescript dibuat dan namanya diubah menjadi checkitem tulis skrip contoh seperti yang ditunjukkan di bawah ini import { zepetoscriptbehaviour } from 'zepeto script' import { shopservice, itemkeyword } from 'zepeto module shop' import { zepetopropertyflag } from 'zepeto' import { waituntil } from 'unityengine' import { text } from 'unityengine ui' import { item } from 'zepeto module content' export default class checkitem extends zepetoscriptbehaviour { public resulttext text; public checkitemid string; start() { this resulttext gameobject setactive(false); this startcoroutine(this cocheckitem()); } cocheckitem() { let nextpagetoken string | null = null; do { // minta daftar item konten pengguna const requestitemlist = shopservice getmycontentitemlistasync(itemkeyword all, nextpagetoken); yield new waituntil(() => requestitemlist keepwaiting == false); if (requestitemlist responsedata issuccess) { // dapatkan item konten dari respons const contentitems item\[] = requestitemlist responsedata items; nextpagetoken = requestitemlist responsedata nextpagetoken; // iterasi melalui item konten for (let i = 0; i < contentitems length; ++i) { const property zepetopropertyflag = contentitems\[i] property; // periksa apakah id item cocok dengan id yang ditentukan if (contentitems\[i] id == this checkitemid) { // aktifkan pesan item yang cocok this activatematcheditem(); break; } } } else { break; } } while (nextpagetoken != null); } activatematcheditem() { // tampilkan pesan item yang cocok this resulttext gameobject setactive(true); this resulttext text = "wow, anda memiliki item yang saya buat!"; } } deskripsi skrip ini adalah skrip yang menjelajahi daftar 'item saya' (semua kategori) dari pengguna yang masuk ke dalam dunia dan menemukan id item yang cocok yang dimasukkan di inspector jika ada banyak item, nilai nextpagetoken tidak null oleh karena itu, proses diulang dengan pernyataan do while sampai nilai menjadi null perhatikan bagaimana nextpagetoken diberikan sebagai parameter kedua dari shopservice getmycontentitemlistasync(itemkeyword all, nextpagetoken) ketika anda menerima respons yang berhasil, anda dapat mengakses objek contentitemlistresponse melalui properti responsedata itemresponse items dijelajahi untuk menemukan kecocokan untuk id item yang dimasukkan jika item yang cocok ditemukan, activatematcheditem() dipanggil untuk menampilkan teks di layar pengguna dan mengakhiri loop setelah anda selesai menulis skrip, tambahkan skrip ke objek di scene masukkan id item yang ingin anda periksa apakah pengguna di dunia memilikinya di inspector tekan tombol putar untuk menjalankan proses teks akan muncul di layar jika pengguna yang masuk ke dunia memiliki item yang cocok dengan id item yang dimasukkan anda dapat menerapkan contoh ini untuk membuat berbagai jenis konten yang menarik