Wrapper untuk Game Jolt API yang berjalan melalui permintaan HTTP. Ini berisi semua titik akhir Game Jolt API dan bertujuan untuk menyederhanakan penggunaannya jika memungkinkan. Kompatibel dengan Godot 4.x. Untuk versi Godot 3.x, lihat cabang ini.
Untuk contoh penggunaan, lihat dokumentasi di bawah ini. Ada juga contoh adegan di addons/gamejolt/example
yang berisi semua titik akhir dan parameter pada antarmuka grafis.
Catatan: Parameter apa saja yang diikuti oleh ?
adalah opsional. Contoh: sessions_ping(status?) -> GameJolt
.
Project Settings > Plugins
Project Settings > General > Game Jolt > Config > Global
.Project Settings > General > Game Jolt > Config > Debug
. Setelah penyiapan ini, Anda dapat melakukan permintaan API dengan menggunakan metode di bawah ini pada GameJolt
tunggal pada kode Anda.
Setiap metode Game Jolt API memancarkan sinyal setelah permintaan diselesaikan, baik berhasil atau tidak. Anda dapat menghubungkan sinyal tertentu untuk menangkap respons pada callback metode:
func _ready () -> void :
GameJolt . time_completed . connect ( _on_GameJolt_time_completed )
GameJolt . time ()
func _on_GameJolt_time_completed ( result : Dictionary ) -> void :
# Do something with the request result...
Atau Anda dapat await
hasil sinyal dalam sebuah variabel:
func _onButtonTime_pressed () -> void :
GameJolt . time ()
var result : Dictionary = await GameJolt . time_completed
# Do something with the request result...
Catatan: Semua sinyal mengembalikan response: Dictionary
.
Umum
user_name_changed
user_token_changed
game_id_changed
private_key_changed
Pengguna
users_fetch_completed(response: Dictionary)
users_auth_completed(response: Dictionary)
Sesi
sessions_open_completed(response: Dictionary)
sessions_ping_completed(response: Dictionary)
sessions_check_completed(response: Dictionary)
sessions_close_completed(response: Dictionary)
Skor
scores_fetch_completed(response: Dictionary)
scores_tables_completed(response: Dictionary)
scores_add_completed(response: Dictionary)
scores_get_rank_completed(response: Dictionary)
Piala
trophies_fetch_completed(response: Dictionary)
trophies_add_achieved_completed(response: Dictionary)
trophies_remove_achieved_completed(response: Dictionary)
Penyimpanan Data
data_store_set_completed(response: Dictionary)
data_store_update_completed(response: Dictionary)
data_store_remove_completed(response: Dictionary)
data_store_fetch_completed(response: Dictionary)
data_store_get_keys_completed(response: Dictionary)
Teman-teman
friends_completed(response: Dictionary)
Waktu
time_completed(response: Dictionary)
Panggilan Batch
batch_completed(response: Dictionary)
Metode umum untuk mengkonfigurasi singleton GameJolt
secara lokal.
Tetapkan nama pengguna untuk tugas autentikasi dan cakupan pengguna lainnya. Memancarkan user_name_changed
.
value: String
-> Nama pengguna. Dapatkan nama pengguna saat ini.
Tetapkan token pengguna untuk tugas autentikasi dan cakupan pengguna lainnya. Memancarkan user_token_changed
.
value: String
-> Token permainan pengguna. Dapatkan token permainan pengguna saat ini.
Tetapkan ID game yang diperlukan untuk semua tugas. Memancarkan game_id_changed
.
value: String
-> ID game dari proyek Game Jolt Anda. Dapatkan ID permainan saat ini.
Tetapkan kunci pribadi yang diperlukan untuk semua tugas. Memancarkan private_key_changed
.
value: String
-> Kunci pribadi game dari proyek Game Jolt Anda. Dapatkan kunci pribadi game saat ini.
Mengembalikan data pengguna. Memancarkan users_fetch_completed
.
user_name: String
(opsional) -> Nama pengguna pengguna yang datanya ingin Anda ambil.user_ids: Array[String|int]
(opsional) -> ID pengguna yang datanya ingin Anda ambil. Catatan: Parameter user_name
dan user_ids
saling eksklusif, Anda sebaiknya menggunakan salah satunya saja, atau tidak sama sekali. Jika tidak ada yang disediakan, akan diambil dari nama pengguna saat ini yang ditetapkan dalam singleton GameJolt
.
Mengautentikasi informasi pengguna. Hal ini harus dilakukan sebelum Anda melakukan panggilan apa pun kepada pengguna, untuk memastikan kredensial pengguna (nama pengguna dan token) valid. Nama pengguna dan token harus disetel pada singleton GameJolt
agar berhasil. Memancarkan users_auth_completed
.
Membuka sesi permainan untuk pengguna tertentu dan memungkinkan Anda memberi tahu Game Jolt bahwa pengguna sedang memainkan game Anda. Anda harus melakukan ping ke sesi tersebut agar tetap aktif dan Anda harus menutupnya setelah selesai. Memancarkan sessions_open_completed
.
Catatan:
GameJolt
. Melakukan ping pada sesi terbuka untuk memberi tahu sistem bahwa sesi tersebut masih aktif. Jika sesi belum di-ping dalam 120 detik, sistem akan menutup sesi dan Anda harus membuka sesi lainnya. Disarankan agar Anda melakukan ping setiap 30 detik atau lebih agar sistem tidak menghapus sesi Anda. Anda juga dapat memberi tahu sistem apakah pemain berada dalam status "active"
atau "idle"
dalam game Anda. Memancarkan sessions_ping_completed
.
status: String
(opsional) -> Menyetel status sesi menjadi "active"
atau "idle"
. Catatan: Memerlukan nama pengguna dan token untuk disetel pada singleton GameJolt
.
Memeriksa untuk melihat apakah ada sesi terbuka untuk pengguna. Dapat digunakan untuk melihat apakah akun pengguna tertentu aktif di dalam game. Memancarkan sessions_check_completed
.
Catatan:
false
untuk bidang "success"
ketika tidak ada sesi terbuka. Perilaku tersebut berbeda dari titik akhir lain yang menggunakan bidang ini untuk menunjukkan status kesalahan.GameJolt
. Menutup sesi aktif. Memancarkan sessions_close_completed
.
Catatan: Memerlukan nama pengguna dan token untuk disetel pada singleton GameJolt
.
Mengembalikan daftar skor untuk pengguna atau secara global untuk sebuah game. Memancarkan scores_fetch_completed
.
limit: String|int
(opsional) -> Jumlah skor yang ingin Anda kembalikan.table_id: String|int
(opsional) -> ID tabel skor.guest: String
(opsional) -> Nama tamu.better_than: String|int
(opsional) -> Ambil hanya skor yang lebih baik dari nilai pengurutan skor ini.worse_than: String|int
(opsional) -> Ambil hanya skor yang lebih buruk dari nilai pengurutan skor ini.this_user: bool
(opsional) -> Jika true
, ambil hanya sejumlah pengguna saat ini. Jika tidak, ambil skor semua pengguna.Catatan:
GameJolt
jika this_user
adalah true
.limit
adalah 10
skor. Jumlah maksimum skor yang dapat Anda ambil adalah 100
.table_id
dibiarkan kosong, skor dari tabel skor utama akan dikembalikan.this_user
sebagai true
jika Anda ingin mengambil skor hanya untuk pengguna yang ditetapkan dalam konstruktor kelas. Biarkan this_user
true
dan guest
sebagai ""
untuk mengambil semua skor.guest
memungkinkan Anda mengambil skor berdasarkan nama tamu tertentu. Hanya berikan this_user
sebagai true
atau guest
(atau tidak sama sekali), jangan pernah keduanya. Mengembalikan daftar tabel skor tinggi untuk sebuah permainan. Memancarkan scores_tables_completed
.
Menambahkan skor untuk pengguna atau tamu. Memancarkan scores_add_completed
.
score: String
-> Ini adalah nilai string yang terkait dengan skor. Contoh: "500 Points"
.sort: String|int
-> Ini adalah nilai pengurutan numerik yang terkait dengan skor. Semua penyortiran akan didasarkan pada nomor ini. Contoh: 500
.table_id: String|int
(opsional) -> ID tabel skor yang akan dikirimkan.guest: String
(opsional) -> Nama tamu. Mengganti nama pengguna tunggal GameJolt
.extra_data: String|int|Dictionary|Array
(opsional) -> Jika ada data tambahan yang ingin Anda simpan sebagai string, Anda dapat menggunakan variabel ini.Catatan:
GameJolt
dan membiarkan guest
kosong. Jika Anda menyimpan untuk tamu, Anda harus memasukkan parameter guest
.extra_data
hanya dapat diambil melalui API dan dasbor game Anda. Itu tidak pernah ditampilkan secara publik kepada pengguna di situs. Jika ada data lain yang terkait dengan skor seperti waktu bermain, koin yang dikumpulkan, dll., Anda harus menyertakannya. Ini akan berguna jika Anda yakin seorang gamer telah mencapai skor tinggi secara tidak sah.table_id
dibiarkan kosong, skor akan diserahkan ke tabel skor tinggi utama. Mengembalikan peringkat skor tertentu pada tabel skor. Memancarkan scores_get_rank_completed
.
sort: String|int
-> Ini adalah nilai pengurutan numerik yang diwakili oleh peringkat pada tabel skor.table_id: String|int
(opsional) -> ID tabel skor yang ingin Anda peroleh peringkatnya.Catatan:
table_id
dibiarkan kosong, peringkat dari tabel skor tinggi utama akan dikembalikan. Mengembalikan satu trofi atau beberapa trofi, bergantung pada parameter yang diteruskan. Memancarkan trophies_fetch_completed
.
sort: bool|null
(opsional) -> Berikan true
untuk hanya mengembalikan trofi yang diraih pengguna. Berikan false
untuk hanya mengembalikan piala yang belum diraih pengguna. Berikan null
untuk mengambil semua piala.trophy_ids: Array[String|int]
(opsional) -> Jika Anda ingin mengembalikan satu atau beberapa piala, berikan ID piala di sini jika Anda ingin mengembalikan sebagian dari semua piala.Catatan:
trophy_ids
akan mengabaikan parameter achieved
jika diteruskan.GameJolt
. Menetapkan piala sebagai pencapaian untuk pengguna tertentu. Memancarkan trophies_add_achieved_completed
.
trophy_id: String|int
-> ID piala yang akan ditambahkan untuk pengguna. Catatan: Memerlukan nama pengguna dan token untuk disetel pada singleton GameJolt
.
Hapus trofi yang diraih sebelumnya untuk pengguna tertentu. Memancarkan trophies_remove_achieved_completed
.
trophy_id: String|int
-> ID piala yang akan dihapus dari pengguna. Catatan: Memerlukan nama pengguna dan token untuk disetel pada singleton GameJolt
.
Mengatur data di penyimpanan data. Memancarkan data_store_set_completed
.
key: String
-> Kunci item data yang ingin Anda atur.data: String|Array|Dictionary
-> Data yang ingin Anda atur.global_data: bool
(opsional) -> Jika disetel ke true
, abaikan nama pengguna dan token yang disetel di GameJolt
dan memproses data global, bukan data pengguna.Catatan:
global_data
bernilai false
, nama pengguna dan token harus disetel pada singleton GameJolt
. Memperbarui data di penyimpanan data. Memancarkan data_store_update_completed
.
key: String
-> Kunci item data yang ingin Anda perbarui.operation: String
-> Operasi yang ingin Anda lakukan.value: String|int
-> Nilai yang ingin Anda terapkan pada item penyimpanan data.global_data: bool
(opsional) -> Jika disetel ke true
, abaikan nama pengguna dan token yang disetel di GameJolt
dan memproses data global, bukan data pengguna.Catatan:
operation
: "add"
, "subtract"
, "multiply"
, "divide"
, "append"
dan "prepend"
.global_data
bernilai false
, nama pengguna dan token harus disetel pada singleton GameJolt
. Menghapus data dari penyimpanan data. Memancarkan data_store_remove_completed
.
key: String
-> Kunci item data yang ingin Anda hapus.global_data: bool
(opsional) -> Jika disetel ke true
, abaikan nama pengguna dan token yang disetel di GameJolt
dan memproses data global, bukan data pengguna.Catatan:
global_data
bernilai false
, nama pengguna dan token harus disetel pada singleton GameJolt
. Mengembalikan data dari penyimpanan data. Memancarkan data_store_fetch_completed
.
key: String
-> Kunci item data yang ingin Anda ambil.global_data: bool
(opsional) -> Jika disetel ke true
, abaikan nama pengguna dan token yang disetel di GameJolt
dan memproses data global, bukan data pengguna.Catatan:
global_data
bernilai false
, nama pengguna dan token harus disetel pada singleton GameJolt
. Mengembalikan semua kunci di penyimpanan data global game, atau semua kunci di penyimpanan data pengguna. Memancarkan data_store_get_keys_completed
.
pattern: String
(opsional) -> Pola yang diterapkan pada nama kunci di penyimpanan data.global_data: bool
(opsional) -> Jika disetel ke true
, abaikan nama pengguna dan token yang disetel di GameJolt
dan memproses data global, bukan data pengguna.Catatan:
"*"
."key"
. Nilai kembalian "key"
dapat muncul lebih dari sekali.global_data
bernilai false
, nama pengguna dan token harus disetel pada singleton GameJolt
. Mengembalikan daftar teman pengguna. Memancarkan friends_completed
.
Catatan: Memerlukan nama pengguna dan token untuk disetel pada singleton GameJolt
.
Mengembalikan waktu server Game Jolt. Memancarkan time_completed
.
Permintaan batch adalah kumpulan sub-permintaan yang memungkinkan pengembang mengirim beberapa panggilan API dengan satu permintaan HTTP. Untuk menggunakan panggilan batch dalam kode Anda, tempatkan panggilan permintaan Anda di antara batch_begin
dan batch_end
. Misalnya, gunakan metode Anda dalam urutan berikut:
func _onButtonBatch_pressed () -> void :
# Begin to gather batch requests
GameJolt . batch_begin ()
# Add the time request to the batch
GameJolt . time ()
# Add the scores_tables request to the batch
GameJolt . scores_tables ()
# Stop gathering batch requests
GameJolt . batch_end ()
# Perform the batch call with the two requests above (time and score_tables)
GameJolt . batch ()
var result : Dictionary = await GameJolt . batch_completed
Lakukan permintaan batch setelah mengumpulkan permintaan dengan batch_begin
dan batch_end
. Memancarkan batch_completed
.
parallel: bool
(opsional) -> Secara default, setiap sub-permintaan diproses di server secara berurutan. Jika ini disetel ke true
, maka semua sub-permintaan diproses pada waktu yang sama, tanpa menunggu sub-permintaan sebelumnya selesai sebelum sub-permintaan berikutnya dimulai.break_on_error: bool
(opsional) -> Jika ini disetel ke true
, satu kegagalan sub-permintaan akan menyebabkan seluruh batch berhenti memproses sub-permintaan berikutnya dan mengembalikan nilai false
agar berhasil.Catatan:
parallel
dan break_on_error
saling eksklusif dan tidak dapat digunakan dalam permintaan yang sama. Mulai mengumpulkan permintaan batch. Metode tidak akan mengembalikan respons setelah panggilan ini. Panggil batch_end
untuk menyelesaikan proses pengumpulan permintaan batch.
Berhenti mengumpulkan permintaan batch. Metode akan mengembalikan tanggapan lagi setelah panggilan ini. Harus digunakan setelah batch_begin
.