Knight docs
EN ID
GitHub

Error & Debugging

Memahami error compiler dan log runtime.

Validator

knight -check file.sa mencetak setiap masalah dengan baris dan kolom. Tidak ada yang berjalan sampai file bersih.

text
file.sa:12:5: unknown function "SetPlayerHelth"
file.sa:20:1: expected ';' after event block (required by Knight syntax)
file.sa:30:9: cannot assign string to int variable "score"

Error compiler yang umum

PesanPenyebab dan solusi
unknown functionSalah ketik atau native tidak ada. Cek daftar native.
expected ';' after ...Kurang ; setelah blok callback, function, atau config.
cannot assign ...Tipe nilai tidak cocok dengan tipe variabel/field.
unknown eventNama callback tidak ada di daftar engine. Lihat Callback.
undefined variableVariabel dipakai sebelum dideklarasikan, atau salah ketik.
argument N of X expects ...Fungsi bawaan dipanggil dengan tipe salah.

Perilaku runtime

Logging dari gamemode

knight
Log("pemain " + str(playerid) + " bergabung");
Log("nilai = " + str(len(parts)) + " / " + typeof(parts));

Memeriksa state

knight
player::command("/debug") {
    SendClientMessage(playerid, "hp={GetPlayerHealth(playerid)} pos={GetPlayerPos(playerid)}");
    Log("uang=" + str(GetPlayerMoney(playerid)));
};
Tip
Jalankan knight -ast file.sa untuk melihat persis bagaimana parser membaca file Anda saat ekspresi berperilaku aneh.