Events
Construct memiliki GUI yang hebat yang memungkinkan pengembang membuat game dengan sedikit hingga tanpa kode. Dokumen berikut akan mengulas bagaimana menghubungkan game Anda ke Basement.fun menggunakan lembar event Construct.Komponen Kunci
Anda perlu menambahkan beberapa objek ke proyek Anda untuk memungkinkan game Construct Anda berinteraksi dengan platform Basement.fun.Untuk menambahkan objek ke proyek Anda, pergi ke Layout View, klik kanan di layout, pilih Insert New Object, dan kemudian pilih objek yang ingin Anda masukkan ke dalam proyek Anda. Setelah menambahkan objek, objek tersebut akan tersedia di lembar event Anda.
Browser Object
Objek Browser memungkinkan Anda menulis ke konsol. Ini tidak diperlukan, tetapi akan berguna saat memverifikasi data dan debugging kode Anda.
AJAX Object
Objek AJAX memungkinkan game Anda berinteraksi dengan API B3.
- Permintaan POST memerlukan Anda untuk membuat aksi terpisah untuk setiap parameter header dan satu aksi post ke URL untuk semua parameter body
- Permintaan GET memerlukan Anda untuk menggabungkan semua parameter dan nilai yang Anda butuhkan ke dalam satu URL untuk mengirim permintaan ke API
- Respon API dapat dirujuk menggunakan
AJAX.LastData
JSON Object
Objek JSON memungkinkan game Anda menangani respon JSON. Anda perlu mem-parse string JSON untuk memanfaatkan data respon.
Contoh Event
Event contoh ini akan membahas permintaan POST Set Scores yang dijelaskan dalam Spesifikasi API BSMNT.Contoh Permintaan
1
Create Function
Klik kanan di mana saja pada lembar event, buat sebuah fungsi, dan beri nama SetScore.
2
Set Service Method Header
Klik tambah aksi, pilih AJAX, pilih Set request header.
- Header field:
X-Service-Method
- Value field:
setUserScore
3
Set Authorization Header
Tambahkan aksi AJAX lain dan pilih Set request header lagi.
- Header field:
Authorization
- Value field:
Bearer <game secret>
Ganti
<game secret>
dengan token rahasia game Anda yang sebenarnya.4
Configure POST Request
Tambahkan aksi AJAX lain tetapi kali ini, pilih Post to URL. Masukkan berikut ini:
- Tag:
setUserScore
- URL:
https://api.basement.fun/launcher
- Data:
{"launcherJwt": "string", "nonce": "string", "score": 0}
- Method:
POST
Ini adalah permintaan contoh - pastikan untuk mengganti nilai Anda dengan variabel yang ditetapkan oleh event dalam game Anda.
Contoh Respon
Respon contoh akan terlihat seperti ini:API Response
Mengambil Data
Di Construct, mari kita ambil nonce dari respon, sehingga kita dapat menggunakannya untuk mengambil skor pada waktu yang akan datang.1
Create Global Variable
Klik kanan di mana saja pada lembar event dan tambahkan variabel global bernama Nonce.
2
Add Trigger Event
Tambahkan event yang dipicu oleh game Anda.Contoh: Untuk menangkap skor pengguna saat mereka menabrak sepeda lain, tambahkan kondisi on collision with another object ke biker dan atur objeknya ke biker.
3
Call SetScore Function
Tambahkan aksi, pilih functions, dan pilih SetScore.
4
Parse JSON Response
Tambahkan aksi JSON, pilih parse, dan masukkan
AJAX.LastData
di bidang string JSON.Ini akan mengambil respon dari permintaan SetScore kami.
5
Extract Nonce Value
Tambahkan aksi system, pilih set value, pilih variabel Nonce, dan masukkan
JSON.Get("newScore.nonce")
.Sekarang variabel Nonce Anda diatur ke nonce yang dikembalikan oleh respon API!
Integrasi Lengkap
Mengikuti langkah yang sama, Anda dapat membuat event untuk setiap titik akhir API dengan meninjau semua parameter dan respon.Titik Akhir API yang Tersedia
Set User Score
Set User Score
Perbarui atau atur skor pengguna untuk papan peringkat.Endpoint:
Headers:
POST /launcher
Headers:
X-Service-Method: setUserScore
Get User Score
Get User Score
Ambil skor saat ini dari pengguna.Endpoint:
Headers:
GET /launcher
Headers:
X-Service-Method: getUserScore
Trigger Rules Engine
Trigger Rules Engine
Picu aksi onchain berdasarkan event game.Endpoint:
Headers:
POST /launcher
Headers:
X-Service-Method: triggerRulesEngine
Praktik Terbaik
Error Handling
Selalu periksa field
success
dalam respon API dan tangani kesalahan dengan anggun.Variable Management
Gunakan variabel global Construct untuk menyimpan data penting seperti token JWT dan skor pengguna.
Debug Console
Gunakan objek Browser untuk mencatat informasi penting ke konsol selama pengembangan.
API Rate Limits
Perhatikan batasan laju API dan hindari membuat terlalu banyak permintaan dalam waktu singkat.
Langkah Selanjutnya
BSMNT API Documentation
Referensi API lengkap untuk semua titik akhir yang tersedia
Game Launcher Guide
Pelajari cara mengintegrasikan dengan peluncur game BSMNT
Construct Documentation
Dokumentasi dan tutorial Construct 3 resmi
Example Projects
Proyek contoh menggunakan integrasi BSMNT
Troubleshooting
AJAX requests not working
AJAX requests not working
- Pastikan Anda telah menambahkan objek AJAX ke proyek Anda
- Periksa apakah semua header yang diperlukan telah diatur dengan benar
- Verifikasi token rahasia game Anda valid
- Pastikan URL titik akhir API benar
JSON parsing errors
JSON parsing errors
- Konfirmasi objek JSON telah ditambahkan ke proyek Anda
- Periksa bahwa
AJAX.LastData
berisi JSON yang valid - Gunakan objek Browser untuk mencatat respon mentah untuk debugging
Authentication issues
Authentication issues
- Verifikasi token JWT peluncur Anda valid
- Periksa bahwa header Authorization diformat dengan benar
- Pastikan rahasia game Anda belum kedaluwarsa