開発者を移行し、リリースに向けた最終修正を目的とした 2.13 の文書化とテストを行っています。
VSH2 アドオン リポジトリ
注意: この Readme は近日中に更新される予定です。ご辛抱いただきありがとうございます。
VSH2 は VSH1 を書き直したものです。 VSH1 と FF2 は両方とも、粗末でハッキングなコーディングを使用した非常に悪いゲームモード フレームワークを持っていました。おそらく、フレームワークもコードの実際の構造もまったく持っていなかった、とさえ言えるでしょう。
実際、VSH2 には構造化されたイベントベースのフレームワークがあり、マルチプレイヤーのボスをサポートするだけでなく、開発者にフル機能を提供することで新しいボスを簡単に追加し、真にユニークな能力とメカニズムを与えることで、FF2 と VSH1 の両方の最高の機能を組み合わせています。 、厳密な構成ファイルではなく、コードによる無制限の制御。
FF2 の目的は、一般的な型にはまった方法でボスを非常に簡単に追加できるようにすることでした。もちろん、トレードオフがあります。FF2 自体の一部を再コーディングすることなく、ボスのメカニズムと能力を真にカスタマイズすることは、不可能ではないにしても、FF2 の方がはるかに困難です。 VSH2 は、SourcePawn に関する少なくともある程度の経験を必要とするため、初心者が新しいボスを作成するのは FF2 を使用する場合よりも多少困難ですが、VSH2 の報酬を選択すると、ほぼすべてのボスの動作を制御できるため、より困難なルートが選択されます。論理。
ボスのセットアップにヘルプが必要な場合、または少なくともボス構築用の API に関する情報が必要な場合は、VSH2 wiki を参照して VSH2 の膨大な API を活用してください。
注意: VSH2 は、箱から出してすぐに VSH1 の代替品としてまったく問題なく動作しますが、有能な SourcePawn開発者がスクラッチからコード化されたフレームワークを最大限に活用できるように設計されています。
addons/sourcemod/configs
に移動します。構成内のフォルダー構造を必ず保持してください。新しいsourcepawn 構文を使用します (sourcemod 1.7 以降)。
括弧を必要とするステートメント ('if' ステートメントなど) では、括弧の各辺を間隔をあけて、先頭の括弧が構成キーワードに接するように配置する必要があります (例: construct( code/expression )
。
メッセージを伝える単一行のコメントには、 ///
ように 3 つのスラッシュが必要です。
メッセージを伝える複数行のコメントには、先頭に追加のスター/**
を付ける必要があります。
30 行未満のコードのプロパティ、関数、およびメソッドには、K&R C スタイルの{
中括弧を付ける必要があります。例: ret func() {
。
ローカル変数名はsnake_caseで指定する必要があります。
プロパティ名には、そのタイプの 1 文字の接頭辞が必要です。
関数、メソッド、メソッドマップ、列挙型、列挙値は PascalCase で名前を付ける必要があります。 Pascal_Case も使用できます。
フラグとして使用される列挙値は大文字にすることができます。
名前付き定数のルール:
1.0
など) は、使用される場所に0.0
が追加される enum 定数である必要があります。3.14
など) はプリプロセッサで定義する必要があります。 if
ステートメントの連鎖は悪くありませんが、データが一度に 1 つのものしかない場合は、 if-else if
ステートメントを使用してください。
if-else if
ステートメントを実行する場合は、 switch
ステートメントを使用します。ビット フィールド/フラグを使用すると、1 つの int を 32 bool として使用できます。要素が一度に複数の側面を持つことができる場合に便利です。
1 << n
( n
は 0 ~ 31)。int_log.inc
でIntLog2
使用します: n == IntLog2(1 << n)
事前インクリメントなし++i, i--
、事後インクリメントのみi++, i--