Knight Knight
EN ID Instal

Knight Programming Language

Bahasa yangmenjalankanserver Anda

Knight adalah bahasa pemrograman bertipe statis yang tertanam di server Knight SA-MP 0.3.7 / 0.3.DL. Satu file .sa, panggil native dengan nama, tanpa langkah build Pawn.

minimal.sa
system::config() {
    server.name = "Euporia RP";
    server.max_players = 200;
};

player::spawn() {
    SetPlayerHealth(playerid, 100.0);
    SendClientMessage(playerid, "Welcome, {PlayerName(playerid)}!");
};

player::command("/top", int n) {
    for (let i = 0; i < PlayerCount(); i += 1) {
        if (!IsPlayerConnected(i)) { continue; }
        if (i >= n) { break; }
    }
};

Instal

macOS / LinuxWindows
$curl -fsSL https://github.com/ventosilenzioso/knight.git
$./tools/knight-linux-amd64 -check Gamemodes/minimal.sa Validasi gamemode

Atau unduh distribusinya lalu jalankan server. server.cfg opsional: taruh konfigurasi di system::config().

#1 Tulis

Satu file, tanpa build

Gamemode adalah satu file .sa. Server mengompilasi dan mengecek tipenya saat start, validator bisa kapan saja.

#2 Panggil

API native-first

SetPlayerHealth(playerid, 100.0) dengan nama. Tanpa awalan sa., tanpa self, tanpa lapisan binding.

#3 Cek

Tipe sebelum runtime

Parameter bertipe, nilai default, parameter rest, dan anotasi opsional, semuanya ditangkap saat kompilasi dengan baris:kolom.

#4 Alur

Kontrol alur lengkap

while, do..while, for, for..in pada array dan map, switch tanpa fall-through, break dan continue.

#5 Tumbuh

Modul dan plugin

Pecah gamemode jadi modul, muat plugin .sa tanpa rebuild, atau tulis plugin Go untuk fitur secepat native.

#6 Terhubung

RPC kustom

Daftarkan id RPC sendiri, baca payload biner dengan aman, filter berdasarkan prioritas, ukuran dan laju.

Apa itu Knight?

Server SA-MP 0.3.7 / 0.3.DL yang ditulis dari nol dalam Go, dengan bahasa bertipe statis sendiri untuk gamemode.

Perlu Pawn?

Tidak. Gamemode berupa file .sa. Tidak ada AMX, tidak ada compiler, tidak ada rantai include.

server.cfg wajib?

Tidak. Semua pengaturan bisa ada di system::config() dalam gamemode. server.cfg dibaca bila ada dan mengisi field yang tidak dideklarasikan kode.

Ada berapa fungsi?

559 native, 69 builtin, dan 41 callback, semuanya terdokumentasi dengan signature.

Bisa menambah paket sendiri?

Bisa. HandleCustomRPC dan HandleRPC mendaftarkan id RPC untuk client mod, dengan batas ukuran dan laju dari engine.

Gratis?

Ya. Server, bahasa, dan dokumentasinya open source.