ebolaman

級別: 副版主 
版區: 程式設計
x38
x458
|
分享:
▲
▼
README
# CS1.6 NAV 編輯教學
August 12 2015 by Shawn Chang
(此文件為 Markdown 格式,可貼到 http://dillinger.io/ 或 https://stackedit.io/editor 看)
## 本文目標
本教學每字每句都頗為重要,請花時間慢慢看完,加上實作經驗,就能隨時隨地修復 大部分的 NAV 檔錯誤,對一般玩家能讓和 BOT 一起玩更刺激、更精彩! 對地圖設計者來說,學習 NAV 可以讓地圖品質提升!
本文主要是針對一般玩家 & 地圖設計者,能不用知道太多 `bot_nav_` 命令就能輕鬆 且快速地編輯 NAV,地圖設計者可能會想要更了解進階的編輯,請參考連結 1 & 2
本教學專門針對 CS1.6 的 NAV 作詳盡的導覽,按鍵綁定點子取於 CS:GO,基本上 CS1.6, CS:CZ, CS:S, CS:GO 都是利用類似的 NAV 系統。學會本文教的基礎,對於其他遊戲 的 NAV 也能更容易上手
## 本資料包
- Config/ - navedit.cfg 為 NAV 和 Edit 之合併單字,為編輯 NAV 所需檔案 - navedit_restore.cfg 為修復 NAV 按鍵綁定錯亂 - Examples/ - *.jpg 為預設地圖之參考用預設 NAV 樣式 - Practices/ - Answers/ 內為 "實作" 練習參考解答 - Defaults/ 內為預設地圖之 "預設" NAV 檔案 - *.nav 為 "實作" 練習用 NAV 檔案 - layout.jpg 按鍵分布圖 - README.txt 本教學文件
## 基本常識
NAV 為 Navigation Meshes 縮寫,意為可行走的區域,為 BOT 和人質設計, 讓他們可以跑來跑去,每個地圖檔 (.bsp) 會有對應的 .nav 檔, 例如 `cstrike/maps/de_dust.bsp` 則對應的 NAV 存在 `cstrike/maps/de_dust.nav`
因為 3D 地圖太過複雜,有了 NAV,電腦要計算進攻/防禦時策略會變得簡單且可計算, BOT 在行走時幾乎是靠 NAV 先行決策
### 認識 NAV 格子
1. 所有的格子都是四邊形,從高處看,都是長方形, 有格子的區域,代表 BOT 可行走在此區域 2. 滑鼠指的地方會有一白線十字叉叉,為螢幕中心 3. 承上 #2,指到的格子會呈現黃框 4. 承上 #3,指到的格子中間會有白色與邊平行的線,為切割線, 當對此格子進行切割,會依照此白線分裂成兩塊 4. 正在指的格子詳細訊息會寫在左下角 格式為 Area #編號 (命名?) (屬性?) 例如 Area #1 TSpawn NO\_JUMP 代表編號 1, TSpawn (恐怖重生點), 屬性為不可跳躍 5. 滑鼠正在指的 A格(黃框),附近會有零個或眾多 Bi格(紅框), 代表 BOT 可從 A格 可單向走到任一的 Bi 格 6. 單向連接: A格 -> B格,A格 邊緣會有一深藍色線單向連接到 B格 7. 雙向連接: A格 <-> B格,A格 和 B格 邊緣都會有一亮藍色線連接彼此 8. 標示成蹲下 (CROUCH) 格子會有一對角線,BOT 經過此處會蹲下 9. 標示成跳躍 (JUMP) 格子會有兩個對角線,即一個叉,BOT 經過此處會跳躍 10. 標示成不可跳躍 (NO\_JUMP) 格子會在中央有一方塊圖示,BOT 經過此處禁止跳躍 11. 標示成精準格子 (PRECISE) 會在中央有一十字圖示 12. 正在選取的 A格 會呈現白框,選取後滑鼠指到另一個 B格,如果 B格 可以單向連接 到 A 格,則 A格 仍會顯示白框,反之則顯示亮藍框 13. 分析完的 NAV 格子角落常會有綠、紅、紫三種垂直桿子,代表著 approach points, encounter spots 和 hiding spots,但是哪種顏色是代表哪個以及 各種桿子用途仍並不清楚
## 編輯目標
1. 修復一般常見錯誤 2. 讓 BOT 執行目標更快、更順暢 3. 使 BOT 能通過一區域的機率提高 4. 盡量不要讓 BOT 損血或跌死 5. 化繁為簡: 能用少的格子代表一區域,比用多個格子代表還好 6. 化大為小: 一個區域,要用比該區域小一點的格子代表;同理如果有障礙物品 ,格子邊邊要離障礙稍微遠一點
## 不好的編輯目標
1. 不要編輯 BOT 難以成功到達區域,例如要連續隔空跳兩次的箱子 2. 不要編輯"非"戰略用地域,例如重生點的箱子 3. 不要讓編輯造成重要路線反而跑更慢 4. 不要讓"不"常走區域有太多分支,一條分支就足夠 5. 如果鄰近處已有最佳/最短路線,不要再"詳盡"編輯附近的類似路線
---
## 第一次編輯前
1. 確認該 CS1.6 含有 BOT 機器人 (可按 ~ 開啟控制台輸入命令 `bot_add` 測試) 2. 備份遊戲 `cstrike/config.cfg` 3. 將本 `Config/` 底下兩個文件放到遊戲 `cstrike/` 下
## 每次編輯前
1. 如果怕搞砸,將該地圖的 .nav 檔備份 2. 如果最近按鍵綁定有更新,重新備份遊戲 `cstrike/config.cfg`
## 編輯流程
1. 進入已有 NAV 地圖 (如果沒有,加一個 BOT 時會自動進入分析, 分析完重啟就會有 NAV) 2. 選 "觀察者" 或 "任一陣營" 3. 按 ~ 開啟控制台輸入 `exec navedit.cfg` 4. 編輯 5. 編輯中完成一小區域就按 F11 存檔 6. 如果中途搞砸,例如刪錯區域,先按 DEL 結束編輯,再輸入命令 `restart` 從 #2 重來 7. 全部工作結束後,按 F11 存檔,再按 F12 使得地圖得以分析,再按下 DEL 結束編輯 8. 輸入命令 `bot_add` 加入一個 BOT 進入分析 9. 遊戲重啟,編輯完成
## 偵錯流程
1. 進入已有 NAV 地圖 2. 選 "觀察者" 或 "任一陣營" 3. 按 ~ 開啟控制台輸入 `exec navedit.cfg` 4. 輸入命令 `bot_zombie 1` 使 BOT 不會射擊、不會移動 5. 輸入命令 `bot_add` 加入一個 BOT 6. 將要偵錯的格子按 Q 選取,再按 T,BOT 會嘗試走到該格子中央 7. 結束偵錯後按 DEL 結束 8. 如果要重新編輯,直接輸入命令 `exec navedit.cfg` 9. 如果要重新分析,先輸入命令 `bot_kick`,再按 F12 -> 按 DEL -> 加一個 BOT
## 專用按鍵綁定
W, A, S, D, Space, Shift, Ctrl 鍵為走路用, 無綁定, 以下為 `navedit.cfg` 綁定的按鍵
為簡化敘述, M (Marked) 格代表選取的格子(框線為白色), L (Looking at) 格代表滑鼠正指到的格子 (框線為黃色), N (New) 格代表新產生的格子
### 處理
DEL - 結束編輯 F11 - 儲存編輯成果 F12 - 分析編輯成果
### 新增/刪除
滑鼠左鍵 - 開始拉新的格子 滑鼠右鍵 - 結束拉新的格子 滑鼠中鍵 - 將 L格 刪除
### 選取
Q - 選取格子 - 將 L格 選取成 M格,以後續處理 E - 選取/切換角落 - 將 M格 選取其中之一角落,連續按可以切換四個角落
### 動作
V - 切割 - 將 L格 依照白色線切成兩塊 B - 合併 - 將一個 M格 和另一個 L格 合併,必須鄰近對齊且鄰近的邊等長 N - 拼接 - 將一個 M格 和另一個 L格 中間以一塊 N格 填滿, 並且 M <-> N <-> L 格互相連結
1 - 蹲下 - 將 L格 標示成蹲下 2 - 跳躍 - 將 L格 標示成跳躍 3 - 不可跳躍 - 將 L格 標示成不可跳躍,BOT 經過時禁止跳躍, 通常加在斜度陡之斜坡,或是防止 BOT 從某懸崖墜落,可和按鍵 4 搭配 4 - 精準走過 - 將 L格 標示成精準,BOT 會精確地走過此格子,再來走下一個, 通常會加在容易掉落的地方,例如兩旁都是懸崖的狹窄通道, 或是需要讓 BOT 從 A 處跳到 B 處 (加在 A 處)
R - 角落上升 - 將按 Q 再按多次 E 選取的角落上升 F - 角落下降 - 將按 Q 再按多次 E 選取的角落下降 滑鼠滾輪往下 - 角落上升,同按鍵 R 滑鼠滾輪往上 - 角落下降,同按鍵 F
Z - 連接 - 將 M格 與 L格 單向連接成 M -> L X - 斷開 - 將 M格 與 L格 雙向斷接成 M格不連接到 L格,L格也不連接到 M格
### 格子命名
G - 開/關格子命名模式 (同指令 bot_nav_toggle_place_painting)
### 偵錯
\ - 使用 - 同預設按鍵 E ENTER - 射擊 - 同預設按鍵滑鼠左鍵 T - 叫 BOT 走到 M格
## 常見缺陷和修復
以下是常見的 NAV 缺陷,通常由遊戲自動產生的 NAV 檔都有以下缺陷, 請熟記專用按鍵綁定篇,好隨機應變
### 狹窄門兩邊區域無連結
如何發現: 滑鼠指著一 A格 (黃框)時,旁邊連結的眾多格子(紅框)中沒有 門另一邊最近的 B格,同理指著 B格 時 A格 也沒有變成紅框 導致: BOT 不會經過該窄門 修復: A格 和 B格 雙向連結,將窄門一邊 A格 選取,連接到 B格, 同樣也將 B格 選取連接到 A格
操作: A格 按 Q -> B格 按 Z -> B格 按 Q -> A格 按 Z 修復後: 指著 A格 時 B格 成紅框,反之亦然
### 某格子延伸或連結到無法走到的地方
如何發現: 1. 滑鼠指著靠近地圖無法行走地方 A格 (黃框),A格 延伸到無法行走區域 2. 滑鼠指著可行走地方 A格 (黃框),更遠處無法到達的 D格 (紅框)卻和 A格 連接 導致: BOT 會卡在該處 修復: 1. 將最底能走到的 A格 切割成 B格 (走得到)和 C格 (走不到), 再把 C格 刪除,使可走到和無法走到區域隔離, 2. 如果 A格 無法切割 (已是格子最邊緣),將 D格 刪除
操作: 1. A格 依照白線按 V 切割成合理大小 -> C格 按 滑鼠中鍵 2. D格 按 滑鼠中鍵 修復後: 1. B格 和更遠處的格子無連接(沒有紅框連接) 2. A格 和更遠處的格子無連接(沒有紅框連接)
注意: 刪除無法行走區域最好是全部刪除,此處為了方便只將連接處斷開, 但將連接處斷開也要將遠一點的距離刪除,避免 BOT 靠近該邊界時誤判成在另外一端
### 樓梯或斜坡邊緣有多餘的跳躍連接
如何發現: 滑鼠指著樓梯或斜坡邊緣,發現有多個跳躍或一般格子連接地板和斜面 導致: BOT 想抄捷徑,反而跳不上斜坡 修復: 將多餘的格子全部刪除
操作: 每次指著一個多餘的格子(黃框),按 滑鼠中鍵移除
### 樓梯上有多餘的蹲下或跳躍屬性
如何發現: 滑鼠指著樓梯上格子時,發現有蹲下(一斜線),或是跳躍(兩斜線) 屬性 導致: BOT 上樓梯速度減緩 修復: 1. 將屬性全部取消,並且在坡度大的樓梯加上禁止跳躍屬性 2. 將多個格子全部刪除,並且拼接上方 A格 和 下方 B格 產生 N格, 如果坡度大則 N格 加上禁止跳躍屬性
操作: 1. 樓梯上多餘屬性格子按 1 取消蹲下,按 2 取消跳躍 -> 坡度大的格子按 3 加上禁止跳躍 2. 滑鼠中鍵 原本多個格子 -> A格 按 Q -> B格 按 N -> 適當切割 N格 -> 滑鼠中鍵 N格 切割後多餘格子 -> 如果坡度大則 N格 按 3
### 從上而下時中間有欄杆擋著,旁邊有斜坡
如何發現: 在上方有欄杆處,指著上方地面 A格 (黃框),卻連接下方 B格 (紅框) 導致: BOT 想抄捷徑,反而更慢跳下甚至損血, 但最快的方式應該是走旁邊的斜坡到下方 修復: 將上方 A格 和 下方 B格 斷開
操作: A格 按 Q -> B格 按 X 修復後: 指著 A格 (黃框)時,沒有下方的 B格 (紅框) 顯示連接
### 有空洞但可走過物體上方沒有格子
如何發現: 可走過的物體兩端 (A格 和 B格) 1. 指著物體時,表面沒有格子,反而在下面才有 2. 指著物體時,表面沒有格子連接 A格 和 B格 導致: 1. BOT 經過此處速度變慢 2. BOT 不會經過此區域 修復 & 操作: 1. 將下方錯誤的格子全部按 滑鼠中鍵 刪除,再如以下 #2 處理 2. A格 按 Q -> B格 按 N
### 旋轉門開啟後 BOT 常卡在門前
修復: 1. 將門開啟後下方地板 A格 的格子切成許多小塊,在將切割完其中一塊比旋轉門 底部大一點的小格子刪除 2. 如果無法切割,而有 C格 和 D格 連接邊緣剛好是旋轉門開啟後底部, 則將兩塊取消連結
操作: 1. A格依照門開啟後的底部按 V 鍵合理切割成許多 Bi格 -> 在將其中一塊比旋轉門 底部大一點的小格子 Bk格 按 滑鼠中鍵 2. C格 按 Q -> D格 按 X
### 地面沒有格子
如何發現: 指著地板時,沒有任何格子 修復: 創一個新的格子 N格,並將 N格 和附近原有的格子雙向連接
操作: 滑鼠左鍵 開始拉新的格子,滑鼠移動後會有一亮藍色格子,決定好大小後 按 滑鼠右鍵 創 N格,途中不滿意開始位置可以按 滑鼠左鍵 重來,創完後 不滿意結束位置或大小可以對 N格 按 滑鼠中鍵 -> 將新產生的 N格 和附近原有的格子雙向連接
### 箱子邊緣沒有跳躍的格子
如何發現: 指著箱子側面時,沒有任何跳躍屬性的格子 修復: 創一個新的跳躍格子 N格,並將 N格和箱子上下原有格子 A格 和 B格 雙向連接成 A <-> N <-> B
操作: 1. 先按 滑鼠左鍵 箱子<上方>靠近<中間左邊>一點,把滑鼠拉到箱子<下方> 靠近<中間右邊>一點,會有一亮藍色正在創造之平行地板的格子,決定好大小後 按 滑鼠右鍵 創一個新格子,途中不滿意開始位置可以按 滑鼠左鍵 重來,創完後 不滿意結束位置或大小可以對 N格 按 滑鼠中鍵
創完後可能會有兩種狀況: 2. 新的格子歪七扭八,只有其中一個角落在正確位置,其他三角雖然水平位置正確, 但是垂直高度卻錯誤 3. 格子一個角落垂直高度錯誤
4. 如果遇上 #2 情況,請將 N格 按 滑鼠中鍵 刪除,並重來, 不過重來的時候換從上次的斜對角的方向開始,例如以上操作敘述, 將 <> 其中文字依序改為 下方, 中間右邊, 上方, 中間左邊。 一開始拉的角落可以是 上/下方 + 中間左/右邊 角落, 並沒有限制一定要從哪個方向開始。注意如果同個方位有多個箱子, 那麼從某一方位的角落開始拉將會產生相同的情況
5. 如果幸運遇上 #3 狀況,N格 按 Q -> 連續按 E 選取其中一角 -> 按 R 或 滾輪下 將角落上升,或是按 F 或 滾輪上 將角落下降, 直到差不多的位置 -> N格 再按一次 Q 完成編輯 (此步驟可略) -> N格 再按 2 標示成跳躍
6. 將 N格 和上方、下方的格子雙向連接
注意: 通常以上技巧是使用在斜坡處建格子時需要調整角落高度,如果是平坦的箱子, 建議先在箱子上建格子後,再將該格子和較低的地面的格子進行拼接,比起用以上 步驟可以更快速完成。
### BOT 經過一較高處,旁邊鄰近斜坡,容易從高處掉下到斜坡
解決: 將斜坡靠近狹窄高處的邊切割一小條並刪除之
操作: 將斜坡上格子往較高處鄰近邊按 V 切割一小條 -> 按 滑鼠中鍵 刪除
### BOT 經過斜坡,容易卡在與較高處鄰近邊
解決: 將斜坡靠近狹窄高處的邊切割一小條並刪除之
注意: 經過較高處容易掉下斜坡,和此問題解決方法一樣,會發生此問題是因為 BOT 在鄰近邊時,誤認為正踩著較高處/較低處的格子,而卡住/掉落,因為 NAV 是 2D 的 ,所以 BOT 並不知道格子的高度、斜度。同理,只要兩個區域高度有落差, 或之間隔著障礙物,鄰近邊應該要保持距離,避免此問題。
### BOT 經過一狹窄高處容易掉下
解決: 將高處狹窄處格子屬性全部設為 禁止跳躍 (NO_JUMP) + 精準 (PRECISE)
操作: 將所有狹窄格子按 3 -> 將所有狹窄格子按 4
### BOT 容易墜落靠近懸崖邊
解決: 將容易墜落懸崖處格子全部刪除
操作: 將所有靠近懸崖格子按 滑鼠中鍵
### BOT 經過某矮處不蹲下通過
解決: 將矮處格子屬性設為 蹲下 (CROUCH)
操作: 將矮處格子按 1
### BOT 無法跳上某處
解決: 將 BOT 卡住無法跳上的格子屬性設為 跳躍 (JUMP)
操作: 卡住無法跳上的格子按 2
注意: 如果格子屬性已為跳躍,但 BOT 仍卡在原處無法跳躍,通常是因為附近有 屬性為禁止跳躍的格子,解決辦法是將禁止跳躍的格子切割,並將切割後和跳躍格子 鄰近的格子屬性取消禁止跳躍。
### BOT 經過某處經常跳躍
解決: 將該處設為禁止跳躍 (NO_JUMP)
操作: 將該處按 3
## 小技巧
### 地圖策略多元性
可以試著將最短路徑,或是具有戰略通道或位置加上格子或連接, 能讓 BOT 走更多元的路徑,讓對戰更具有挑戰性
### 多塊格子設同一屬性
情況: 附近有許多鄰近、鄰邊、且對齊的格子,都要設成同一屬性 解決: 將多個格子合併後再設屬性
操作: 其中任一 A格 按 Q -> 鄰近 B格 按 B -> 重複操作其他格子 -> 設屬性
### 看不見大格子
情況: 指著一大格子,但看不見邊框 解決: 因為格子太大而無法顯示,將該格子切成較小塊
操作: 大格子接近中央處,按 V 切割,重複操作直至看得見所有格子邊框
### 不小心切割一格子
情況: 不小心按 V 將 A格 切成 B格 和 C格 解決: 將 B格 和 C格 合併回 A格
操作: B格 按 Q -> C格 按 B
### 不小心刪除三塊連接中間那塊
情況: 有格子 A <-> B <-> C 連結,且其中 (A 和 B) 或 (B 和 C) 鄰邊等長 且對齊,不小心將 B格 刪除 解決: 將 A格 和 C格 中間拼接產生 B格
操作: A格 按 Q -> C格 按 N
### 不小心將格子設錯屬性
情況: 例如 A格 不小心按到 1, 2 變成屬性為蹲下 (CROUCH) + 跳躍 (JUMP) 格子 解決: 將滑鼠指標移到 A格,看左下角詳細資訊,並將已有的屬性按鍵再點一次 以取消
操作: 例如此情境則指著 A格,左下角屬性顯示 CROUCH JUMP, A格 按 1 -> A格 按 2 -> 先指其他格子 -> 再指 A格 -> 屬性確認為無
### 格子和其他區域對齊
情況: 拉新的格子時,每次都和原有的格子不對齊,而無法進行合併 解決: 1. 如果創造的格子卡在其他格子中間,可採用拼接方式創造,之後再進行切割刪除 2. 創造新的格子時,拉比原有區域大一點,再切割刪除邊緣多餘區塊, 注意此方法容易造成切割後和原有格子重疊導致無法進行刪除,因此請先切割 和原有格子重疊邊,並刪除後,再來切割其他未重疊區域 3. 將以上 #1 和 #2 綜合: 和 #2 類似,先拉一大塊格子,但是不要和原有的格子 重疊,切割後刪除多餘區域,再和原有格子進行拼接。如果原有的格子只有少量, 採用此方法,如果多量則採用 #2
操作: 1. 旁邊 A 格按 Q -> 旁邊 B 格按 N -> 切割拼接出來的 N 格 -> 按 滑鼠中鍵 刪除 N 格多餘區域 2. 左鍵 拉新格 -> 右鍵 創新格 -> 四個邊緣依照白色切割線按 V 切割 -> 滑鼠中鍵刪除四邊多餘區域 3. 左鍵 拉新格 -> 右鍵 創新格 -> 沒和原有格子鄰近的邊緣 依照白色切割線按 V 切割 -> 滑鼠中鍵刪除四邊多餘區域 -> 新格按 Q -> 和原有格子按 N 拼接
注意: 此方式來創造格子將耗費大量心力,除非是為了合併或拼接用途,一般不推薦 用此方式
### 無法射擊和使用物品
情況: 某些物品需要射擊後或使用才能通過,但是按鍵綁定已被取代 解決: 參考按鍵綁定篇的偵錯小節
### 地圖坡度大,大部分格子沉沒於地下看不見
解決: 調整輸入命令 `bot_nav_zdraw` 後的參數
操作: 例如輸入 `bot_nav_zdraw 10` 將格子畫離地面高一點,預設數值為 4
### 重複利用 BOT 偵錯
雖然在有 BOT 情況下編輯 NAV 是不建議的,但如果只是專注在一小區域的偵錯, 建議等 BOT 停止動作再編輯格子,通常 連接、斷開、切割、合併、刪除 動作比較 容易造成遊戲崩潰。
## 注意事項 & 建議事項
1. 請經常按 F11 存檔,編輯工作全部完成時才按 F12 分析,然後再按 DEL 2. 編輯中請勿加 BOT,否則偶爾遊戲會崩潰,等到編輯工作完成,分析過後才能加入 BOT 偵錯 3. 不建議編輯中離開地圖或跳出遊戲,將導致按鍵綁定無法回復原狀, 離開地圖前如果 NAV 正在編輯,不管有沒有存檔,一定要按 DEL 結束編輯 4. 可以創一文件 `my.cfg` 輸入個人常用或是 NST 專用按鍵綁定,假使 #3 發生, 先執行 `exec navedit_restore.cfg` 再執行 `exec my.cfg` 即可恢復按鍵綁定。
## FAQ
1. 編輯中跳出,導致按鍵綁定無法回復
可輸入命令 `exec navedit_restore.cfg` 恢復常用預設按鍵綁定, 或是將 `cstrike/config.cfg` 備份檔復原。
2. 編輯中有 BOT,不小心按到 F12 而正在分析,該如何取消分析?
分析只會在有 BOT 存在時啟動,輸入指令 `bot_kick` 即可立刻停止分析。
3. 編輯完有按 DEL,但是下次遊戲中一開始不能動的時間、最大勝利場數、最大場數、 最大地圖時間都被動過了
輸入命令 `disconnect` 回到主選單,用主選單重啟遊戲。
4. 輸入命令時 BOT 會移動,有辦法開啟控制台時暫停 BOT 嗎?
輸入命令 `pausable 1`。
5. 如果某一物品可以射擊後打破而通過此區,要創一格子通過嗎?
要,BOT 會自行判斷,如果格子上有可擊破物品,BOT 通過時會自動射擊。
6. 梯子上下的格子需要連接嗎?
不需要,但梯子上面區域 A格 如果可以直接跳下到下面區域 B格, 可將 A格 單向連到 B格,這只是單純的上面可跳下面,和梯子無關。 但不要將 B格 也連接到 A格。如果 BOT 不會上該梯子,請參考連結 4 & 5。
7. BOT 卡在窄門/窄通道
參考連結 3。
8. 該如何知道炸彈是 A 還是 B 區?
可以看附近的地圖標示,或是開啟 NAV 編輯後,指向炸彈安裝處的格子, 左下角顯示資訊的命名如果是 BombsiteA 則是 A 區,BombsiteB 則是 B 區。
9. 進階指令/編輯/偵錯/命名教學
請參考連結 1 & 2。
---
## 參考
在此提供一些預設地圖的 NAV 樣式參考,看本 `Examples/` 內檔案, 注意某些是為了拍照需求,設定了命令 `bot_nav_zdraw` 而調高格子高度,實際上 格子高度是貼近地面的
## 實作
在此提供一些實作練習的 NAV 檔案,有些為故意修改過,有些則為預設 NAV 檔的缺陷, 請照下方編輯項目完成練習
檔案: 請將 `Practices/` 內 .nav 檔案覆蓋到遊戲 `cstrike/maps/` 內,並進行修改練習, 如果搞砸或想恢復預設,可將本 `Practices/Defaults/` 內 .nav 檔案覆蓋到遊戲 `cstrike/maps/` 內修復
解答請參考 `Practices/Answers/` 內 .gif 動畫圖片,這些解答"非"唯一解,只要能達成 要求並符合本文件編輯目標,任何解法都可以
### 編輯項目
#### cs_estate
1. 將反恐重生往房子方向出去後右手邊前院之長條形草叢下方格子修復 (提示: V 多次切割,滑鼠中鍵 刪除草叢下的格子) 2. 將反恐重生往房子方向,往前門走碰到的樓梯處修復 (提示: Q 選取樓梯上方格子,N 拼接下方處大格子,Q 再選取上方格子,N 拼接下方處 右手邊小格子,拼接後兩格子其中一格 Q 選取,與另一格 B 合併, 最後按 3 加上禁止跳躍屬性) 3. 將房子內一樓人質區旁旋轉門打開後的廁所,不要讓 BOT 卡在門前 (提示: V 多次切割,滑鼠中鍵 刪除開啟後門下區域,進階可加格子在洗手台上並連結, 避免刪除門下區域後反而無連接到門右手邊區域)
#### cs_italy
1. 將反恐重生點後方柵欄無法行走到的區域刪除 (提示: 滑鼠中鍵刪除無法行走區域) 2. 不要讓 BOT 從太低處跳上反恐重生右邊走道的斜坡 (提示: 滑鼠中鍵 刪除) 3. 讓 BOT 跳上反恐重生右邊通道跳上二樓過程中最低的箱子 (提示: 左鍵 創造,右鍵 結束創造,Q 選取, E 選角落,R/F 或 滑鼠滾輪調整角落上下,2 屬性跳躍,Q 選取,Z 連結) 4. 承上 #3,讓 BOT 跳上二樓 (提示: 最高的箱子上的格子 4 加上精準屬性,Q 選取,Z 單向連結二樓最近的窄格子) 5. 不要讓 BOT 從恐怖份子重生點跳下旁邊接近斜坡之欄杆 (提示: Q 選取,X 取消連結) 6. 讓 BOT 可以從恐怖份子重生點旁的人質房子二樓窗戶往欄杆位置跳下來 (提示: 由內而外最近而歪斜的格子 2 加上跳躍屬性,由內而外第二個平行地面格子 3 取消禁止跳躍屬性)
#### cs_siege
1. 將反恐重生最後方靠近鐵門處底下無格子修復 (提示: 左鍵 拉新格,右鍵 創造新格,該新格 Q 選取,與鄰近小格子 Z 連結, 雙向連結) 2. 讓 BOT 不要從反恐重生附近懸崖處墜落 (提示: V 適當切割,滑鼠中鍵 刪除太靠近懸崖邊緣之格子, 將剩下靠近懸崖處格子 3 禁止跳躍) 3. 讓 BOT 不要容易從反恐重生左手邊斜坡墜落 (提示: V 適當切割,滑鼠中鍵 刪除太靠近斜坡邊緣之格子)
#### de_dust2
1. 將恐怖份子重生右邊雙扇門連結修復 (提示: Q 選取,Z 連結,雙向) 2. 將反恐重生腳下多塊被切割格子合併成一大塊 (提示: Q 選取最中央格子,B 合併鄰近邊等長格子,連續做) 3. 將反恐重生往炸彈 B 區雙扇門右邊上面可蹲下通過區域修復 (提示: 1 標示格子蹲下,可跳躍但不蹲下則無法通過的格子按 1 加上蹲下屬性)
#### de_train
1. 不要讓 BOT 從炸彈 B 區旁長梯子最高點跳到下方列車上 (提示: Q 選取最上面最靠近列車最角落小格子,X 取消連結下方列車上大格子) 2. 讓 BOT 可以在炸彈 B 區安裝處列車下方蹲下 (提示: 1 蹲下) 3. 承上 #2,讓 BOT 可以從兩端跳上列車 (提示: 2 跳躍) 4. 承上 #3,讓 BOT 不要從列車上較低處跳下旁邊 (提示: 左右兩塊低處 3 禁止跳躍) 5. 承上 #4,讓 BOT 不要容易從列上上較高處摔落旁邊 (提示: 較高處多塊 4 精準)
## 進階挑戰
以下為筆著推薦適合 BOT 的一般競技用地圖,建議先對經典地圖修改有經驗後再來挑戰:
cs_bikini cs_coldera cs_rio de_blue de_callipolia de_corsica de_grec de_halla de_hell de_karachi01 de_lightsome de_museum de_russka de_skidrow_2010 de_snowfacility de_sunny de_templum de_town_arco de_tuscan
---
## 其他
### 本教學製作使用技巧/軟體
#### 技巧
1. 於 CS1.6 內拍攝圖片: 輸入命令 `pausable 1` 再綁定 p 鍵 `bind p "r_drawviewmodel 0; pause;"` 再按 F5 (`bind F5 snapshot`) 拍照, 可能另需要 `sv_gravity` 來修改重力以跳到高處
#### 軟體
1. CS1.6 WarZone: 預設地圖之 NAV 樣式和預設 NAV 檔案皆來自於此 2. CS1.6 BTE: 拍攝用 NST 版本 3. Snagit: 拍攝視窗影片 4. Photoshop CC: 製作 GIF 5. Illustrator CC: 製作素材 & 圖片
### 連結
1. [BOT 指令](http://steamcommunity.com/sharedfiles/filedetails/?id=126699221) 2. [進階 NAV 教學](https://developer.valvesoftware.com/wiki/Navigation_Meshes) 3. [進階門 NAV](http://steamcommunity.com/sharedfiles/filedetails/?id=191970029) 4. [進階梯子修復1](http://sand-storm.net/files/PC_Game/CSCZ/nav/ladder-fix-navigation.png) 5. [進階梯子修復2](http://steamcommunity.com/sharedfiles/filedetails/?id=190166994)
[ 此文章被ebolaman在2015-08-12 17:41重新編輯 ]
|