Transisi pengembang, mendokumentasikan dan menguji 2.13 untuk perbaikan akhir untuk rilis.
Repositori Addons VSH2
PEMBERITAHUAN: Readme ini akan segera diperbarui. Terima kasih atas kesabaran Anda!
VSH2 adalah penulisan ulang dari VSH1. VSH1 dan FF2 keduanya memiliki kerangka gamemode yang sangat buruk menggunakan pengkodean yang jelek dan hacky. Saya bahkan dapat mengatakan lebih jauh bahwa mereka mungkin tidak memiliki kerangka kerja sama sekali atau struktur nyata pada kodenya.
VSH2 sebenarnya memiliki kerangka kerja terstruktur dan berbasis peristiwa yang menggabungkan fitur-fitur terbaik dari FF2 dan VSH1 dengan tidak hanya memiliki dukungan bos multipemain tetapi juga membuatnya lebih mudah untuk menambahkan bos baru dan memberi mereka kemampuan & mekanisme yang benar-benar unik melalui pemberian penuh kepada pengembang. , kontrol tanpa hambatan berdasarkan kode, bukan file konfigurasi yang ketat.
Tujuan FF2 adalah untuk mempermudah menambahkan bos dengan cara yang umum dan mudah. Tentu saja ada trade offnya: FF2 jauh lebih sulit, bahkan tidak mungkin, untuk benar-benar menyesuaikan mekanisme & kemampuan bos tanpa harus mengkode ulang bagian dari FF2 itu sendiri. VSH2, karena memerlukan setidaknya beberapa pengalaman dengan SourcePawn, agak lebih sulit bagi pemula untuk membuat bos baru dibandingkan jika mereka menggunakan FF2 tetapi memilih hadiah VSH2 mengambil rute yang lebih sulit dengan memungkinkan Anda mengontrol hampir setiap perilaku bos dan logika.
Jika Anda memerlukan bantuan dalam menyiapkan bos atau setidaknya memerlukan beberapa informasi tentang API untuk membangun bos, manfaatkan API VSH2 yang luas dengan melihat wiki VSH2
NB: VSH2 akan berfungsi dengan baik apa adanya sebagai pengganti VSH1, tetapi VSH2 dirancang dengan mempertimbangkan pengembang SourcePawn yang cakap untuk memanfaatkan kerangka kerja kode dari awal!
addons/sourcemod/configs
. Pastikan untuk menjaga struktur folder yang ada di konfigurasi.Gunakan sintaks sourcepawn baru (sourcemod 1.7+).
Pernyataan yang memerlukan tanda kurung (seperti pernyataan 'jika') harus diberi jarak di setiap sisi tanda kurung dengan tanda kurung awal menyentuh kata kunci konstruk, misalnya construct( code/expression )
.
Komentar satu baris yang menyampaikan pesan harus memiliki 3 garis miring: ///
.
Komentar multi-baris yang menyampaikan pesan harus memiliki bintang awal tambahan: /**
.
Properti, fungsi, & metode yang lebih kecil dari 30 baris kode harus memiliki awalan {
kurung kurawal dalam gaya K&R C, misalnya: ret func() {
.
Nama variabel lokal harus dalam bentuk Snake_case.
Nama properti harus memiliki awalan satu huruf sesuai jenisnya.
Fungsi, metode, peta metode, enum, nilai enum, harus diberi nama dalam PascalCase. Pascal_Case juga dapat diterima.
Nilai enum yang digunakan sebagai tanda mungkin menggunakan huruf besar.
Aturan konstanta bernama:
1.0
) harus berupa konstanta enum yang ditambahkan dengan 0.0
di lokasi penggunaannya.3.14
) harus ditentukan oleh praprosesor. Pernyataan if
yang dirangkai tidak buruk tetapi jika datanya hanya berupa satu hal dalam satu waktu, gunakan pernyataan if-else if
.
if-else if
pada satu bagian data, gunakan pernyataan switch
.Bidang/bendera bit memungkinkan Anda menggunakan satu int sebagai 32 bool. Berguna jika suatu elemen dapat berupa beberapa aspek sekaligus.
1 << n
di mana n
adalah dari 0 hingga 31.IntLog2
di int_log.inc
: n == IntLog2(1 << n)
Tidak ada pra-kenaikan ++i, i--
, Hanya pasca-kenaikan i++, i--