カスタムマップ NAVファイルについて
このページはカスタムマップを作る際のBOTなどの動きやゾンビの沸き位置などの設定が出来るNAVファイルについてのまとめです。
現在編集中です。プレイする分には関係ない情報ですが、カスタムマップを作る人には必須情報です。
- CS:SのNAVファイルの作成方法
http://www.c-sec.net/phpBB/viewtopic.php?t=507
cfgファイルがあるのでこれを使うと設定が非常に楽です。
簡単に作り方説明
コンソールコマンドで
sv_cheats 1 director_stop
これで敵がこれ以降沸かなくなります。
スタート地点でコンソールを開き
nav_mark_walkable
を打ちます。自分の居る位置にマークが表示されます。ゴール地点にも同じようにマークをつけます。(この作業が必要かわかりませんが一応やってます)
nav_generate
これでnavファイルを自動で作成し始めます。マップにディスプレイメントが多いと非常に時間が掛かります
終わったら
nav_save
でNAVファイルを保存してください。
これでゾンビが沸くはずです。ただしマップ自体にlandmarkやchangelevel_triggerなどのマップの目標が必要です。
アトリビュート(attribute)
アトリビュートとはマップのnavメッシュにある属性です。この情報を編集するといろいろな効果がでます。
アトリビュートを設定
銃口が向いている場所に
mark アトリビュート名
でそのメッシュにアトリビュート名を設定することが出来ます。
アトリビュートを確認
マップ上のnavメッシュのアトリビュートを見たい場合は
select_with_attribute アトリビュート名
でマップ全体のアトリビュート名の分が白く光ります。
アトリビュートを保存する場合
nav_saveで保存することが出来ますが、実際にゲームとして使う場合はアナライズしなければならないことに注意してください。
navエラーが出る場合
ゲーム開始時にエラーが出る場合はスタート時点のCheckpointからゴール地点のCheckpointまでどこかのメッシュで接続が切れている場合や、スタート地点にCheckpointアトリビュートが設定されていない可能性があります
。
z_show_escape_route 1
を入力するとスタート時点からゴール時点までのルートが表示されます。これがゴールまで接続していないとnavエラーが出ますので、これを伝ってnavメッシュを確認してください。原因としては段差、ディスプレイメント、propモデルの上を通る場合などが考えられます。propモデルの通る場所にclipブラシで見えない通路を作ってあげるとnavがわかりやすくなるようです。
アトリビュート情報
- Checkpoint: 出発地点と結末チェックポイントで使われます。これは、ゲームが生存者がセーフルームを出たかどうか、そして、彼らがレベルのチェックポイントに達したかどうかを知る方法です。このチェックポイントはnav_generateで自動的に作られるはずですが、マップによっては作られない場合がありますので設定されているか確認した方がいいでしょう。
- Empty: これが設定されている場所には感染者がspwanすることが出来ません。特殊感染者やラッシュの大群はspawnします。スタート地点の手前につけておくと、スタート時に一気に感染者が近づいてきて殴られることを防げます。
- No_Mobs: このエリアからはラッシュ時の感染者の大群がspawnしません。通常配置の感染者や特殊感染者はspawnします。
- Rescue_Closet:レスキュークローゼットの場所に設定してください。これが無くてもクローゼットとして機能しますが、設定してあると中に感染者が湧きません。クローゼット意外でも特殊感染者を湧かせたくない場所に設定するような使い方もできます。このアトリビュートは手動で設定してもnav_analyzeで初期化されてしまうので注意が必要です。
- NOT_CLEARABLE:このエリアからはクリアリング後もラッシュ時の感染者の大群がspawnします。クリアリング後に通常配置の感染者がリスポンすることはありません。
- Threat:この場所にtank、whichが沸きます。しかし、このアトリビュートに関しては自分で設定しても有効になりません。マップの読み込み時に自動的に振り分けられます。ランダム要素のためだと思われます。
- Finale: このエリアはフィナーレクレッシェンドイベントで使われます。このエリアに生存者が全員いないとフィナーレクレッシェンドイベントが実行されません。またこのフィナーレクレッシェンドイベントの時はこのエリアがある場所からしか敵は沸きません。見えない場所にも設定しておきましょう。
フィナーレが始まる前、このエリアにいると特殊感染者、ラッシュ、クローゼットのリスポーンが発生しません
- Obscured: プレイヤーが見ることが出来ないエリアに設定しておくとここから感染者が沸きやすくなります。
- Player_Start: セーフルームから開始しない1つ目のマップの、プレーヤーがSpwanするnavメッシュエリアに設定します。これが設定されていないと正しい位置にSpawnしない場合があるようです。
- Cliff: プレーヤーが落ちると淵に掴まるエリアに設定します。
- Precise: 細い橋などに設定するとbotが正確に通行するようになり、落下しにくくなります。
- Avoid: 他のルートがある場合このエリアを避けて通行するようになります。
- BATTLEFIELD: このエリアはパニックイベントで使用されます。このエリア入ると自然発生のラッシュが停止し、特殊感染者もspawnしなくなります。生存者BOTは「準備はできたか?」などと話すようになり、エリア内のBATTLESTATIONエリアに移動しようとします。この状態でinfo_directorへのPanicEventインプットを送ることによりパニックイベントが開始します。このとき、感染者の大群はBATTLEFIELDを設定したエリアからspawnします。クリアリング済みのエリアであっても見えていなければspawnします。
- BATTLESTATION: パニックイベント前の生存者BOTの待機場所を指定します。BATTLEFIELDとセットで使用します。
- RESCUE_VEHICLE: フィナーレで脱出する乗り物の位置に設定します。このエリアは初期状態でブロックされていますが、フィナーレでタンクを2匹倒した後、trigger_finaleへFinaleEscapeVehicleReadyForSurvivorsインプットを送ることによりブロックが解除され、生存者BOTがここへ駆けていきます。
以下のアトリビュートは未確認です。
- Fog: Whether or not the area has fog associated with it.
- Place: (Probably not L4D Specific) "Place" is the term used in nav creation to name specific areas. This is likely a way to select named/unnamed areas only.
- Jump: (Probably not L4D Specific) I found one area in the maps I looked at marked as "jump" - on top of a subway car only reachable by infected who could jump. This area likely signifies a place you must jump to somehow in order to reach.
- Incoming/Outgoing: (Probably not L4D Specific) Likely used to select areas with incoming or outgoing path information.
- Max Light / Min Light: (Not L4D Specific) Used to select areas that have certain levels of light. (.25 max / 0 min for a dark place, 1 max / .75 min for a bright place)
