Trainz/AM&C/config.txt 檔案
| 詞彙表 |
| HKeys-CM |
| HKeys-DVR |
| HKeys-SUR |
| HKeys-WIN |
| 滑鼠使用 |
| 符號 |
操作說明: 點選文字主體中的腳註 ([2]) 或註釋標籤 ([note 12]) 將導航您(定位頁面)到該條目的確切文字。 • 然後: 在此點選?符號,將返回您,從您開始閱讀的地方繼續閱讀。 |
所有資產必須具有一個config.txt 檔案才能放置在 Trainz 中,否則它們就不是資產。也被稱為“配置檔案”或只是“配置檔案”,無論什麼名稱,config.txt 檔案都包含有關資產的基本資訊,最重要的是它的種類 = <值>,包括它的使用者名稱、kuid 編號、trainz-build、類別-區域、類別-時代、區域 標籤等等(及其 <值>),以及一些可選的但非必要的歷史標籤(原型鐵路、公司)、作者身份、許可證和所有權資訊標籤,如建立者、組織、聯絡電子郵件、第三方網站 等——所有允許資產資料夾成為自定義和自文件 Trainz 相容資產的“定義”。嗯,除了配置檔案更改記錄或檢視連續更改的方法。 在前述內容中,我們多次封裝標籤“<值>”以強調兩個重要要點。Trainz 中的所有資料都是透過關鍵字——合法值關係進行定義和操作的。在計算機科學中,<值>(或合法值)是在列舉資料型別成員資格限制的列表。
• 例如,二進位制型別(也常稱為“布林值”)是一種列舉型別,它只有兩個合法值:{ 二進位制: 0, 1 },該符號*'{'+term+':'+值列表+'}'*被讀作'二進位制集'具有成員零和一。值列表也被稱為列舉列表,在本例中長度為二,具有兩個允許值。列表中沒有的任何內容都是非法的,並且會生成 Trainz 錯誤,以及相關的錯誤訊息,還會阻止您將資產提交到資料庫中。防止將錯誤資產提交到資料庫中是在trainz-build中開始的,對應於它們在 TBV(以及功能)中的重疊部分的 TS10 和 TS09。[註釋 1]
• 瞭解什麼是什麼,做什麼,何時合適以及何時不合適是主題——本頁面致力於消除所有“定義”中的神秘感,仔細檢視更正式的 N3V Wiki 可能會讓經驗豐富的軟體專業人士感到困惑,並可能讓新手感到畏懼或沮喪。讓我們讓您踏上一條牢固的道路,掌握 Trainz 基礎知識(TBK)。
錯誤資產中出現的許多問題是由其config.txt 檔案中簡單的輸入、巢狀或拼寫錯誤造成的。當引號巢狀不正確時,這種型別的副作用通常是由於缺少或多餘的引號引起的。當這是真的時,CM/CMP 在開啟檔案時將嘗試修復它找到的內容,當它嘗試將文字段落解析為關鍵字和值時,這會在開啟檔案時建立一系列錯誤的標籤名稱錯誤。這會產生一系列錯誤(負載!20 多個),通常會插入空格,結果文字被引用得更糟——文字看起來像是世界末日降臨到頁面上了一小段。這通常發生在大型文字塊內,如許可證或描述。幸運的是,這些“無用的幫助”可以在幾分鐘內手動編輯以進行更正。(這種“爆炸性自動修復”比 TRS2004 和更早的 Trainz 更好——所有低於此類錯誤的東西以前都消失了!蒸汽軟體!)
|
其他錯誤,特別是在 V3.3 之後,是由於資料模型定義的更改以及對自 V2.8 以來稱為TrainzBaseSpec的內容的強制執行造成的——該資料集始終初始化任何和所有 config.txt 檔案的主體並設定自定義資產系統。基於一些 TBS 值,然後會新增其他資料來配置資產,包括對其他包含的資產元件檔案的引用,例如影像、指令碼檔案、texture.txt 檔案和細節級別(LOD) *.LM 檔案。該自定義的起點是 TBS 的作用,所有元素的定義和引用是其 config.txt 檔案的作用。底線是,實際上所有資產修復都需要對 config.txt 檔案進行更改——而且很少有錯誤需要其他修復,而不需要進行更改!
|
- 由於配置檔案是自定義資產的核心,因此在使用CM開啟資產進行編輯時,無論是第一次接觸資產修復和更新,還是作為良好習慣,都需要這樣做。
- 方法1:(SHFT+CTRL+E 開啟資產,然後帶您進入資料夾。)
- 在編輯配置檔案之前,使用“另存為”將其複製。
- 或者先使用Windows進行復制(選擇,CTRL+C,選擇資料夾,CTRL+V)。使用F2 重新命名檔案為Config.org.txt... 或者將檔名保留,並由Windows在檔名中插入(副本)。
- 只有在這之後 才打開原始配置檔案進行編輯。
- 方法2:(最快:可能取決於您的文字編輯器)
從其資料夾開啟config.txt檔案,然後立即ALT+Tab ↹ 返回到資料夾。- config.txt檔案應該仍然處於高亮顯示(選中)狀態,因此接下來按下F2並在.txt副檔名前插入.org或.v2-4等。(Trainz在驗證和提交資產時不會容忍未知的資料檔案型別,因此只能使用合法的基於文字的檔案型別,.txt副檔名或.htm。)
- 完成後,ALT+Tab ↹ 返回到編輯器。
• Notepad++會抱怨(通知您)檔案丟失,並詢問是否應將其儲存在記憶體中。說“是”。Windows記事本不會注意到它丟失了。你的編輯器呢...???
- 方法1:(SHFT+CTRL+E 開啟資產,然後帶您進入資料夾。)
- 強烈建議使用能夠開啟多個檔案、使用正則表示式進行搜尋和替換、在多個檔案中替換以及/或者能夠比較檔案的程式設計師編輯器。Notepad++、Programmer's Notepad 和 Crimson Editor 都是免費軟體(並且有時間,將在 本華夏公益教科書 中介紹),並且它們都具有大多數這些有用的功能。
• 至少,Notepad++—它還可以跨行尾字元進行搜尋和替換,這對於將多個kuid組合成CM可接受的逗號分隔列表(CSV)非常有用—將在許多Trainz螢幕截圖中出現。 - 有針對性地下載並少量下載! 在Trainz體驗的早期下載時,請仔細選擇要下載的資產,每次不要超過兩屏。
- 下載後,在主檢視中檢視該組,全部複製,並將CSV列表轉移到電子表格中,如Open Office Calc。如果標題中包含逗號(使用者名稱),您可能需要清理一些單元格,但您將獲得兩列可排序資料作為日誌檔案。
• 養成一有資料就儲存並清理的習慣,然後再退出應用程式。你可能會斷電,或者更糟糕的是忘記了! - 如果您將它作為執行日誌,並隨著時間的推移進行追加,並在另一列中新增一些型別資料,它將成為一個方便的列表,用於建立 特殊選擇過濾器,以根據下一段內容路由構建。
• 當然,您不需要將此類複製限制在下載的內容上,任何主檢視中列出的專案都可以高亮顯示並新增! - 複製僅包含kuid的列,將其貼上到Notepad++中,並Search from
'>' to the next '<kuid'and Replace (SAR) with ">,<kuid",以快速獲取包含您所有下載內容的CSV。 - 但是,請注意,您的過濾器已經只顯示了這些kuid,它們來自下載+在主檢視中顯示,因此將其儲存到“最後下載”中。
- 作為一種有用技巧的練習,在“就地”過濾器中新增第二個kuid搜尋欄位,並在兩個欄位之間用一個AND NOT過濾器修飾符分隔。應用後,如果您獲得了整個列表,列表應該不會顯示任何內容!
- 由於您已將其儲存,因此您現在可以解決任何故障,並透過將其與Faulty進行“AND”操作,只有該列表中的故障專案才會顯示。
• 其他不在列表中的故障將不會 - 這讓您專注於當前最重要的事情,如果您貪婪,突然間有很多故障內容。透過查詢您最感興趣的路線+會話,並使用 AND 操作技術來修復您為該目標所需的內容,參考它們“組合依賴項”的 KUID CSV。
• 注意:使用具有 **AND**、**AND NOT** 和 **OR** 的儲存過濾器,可以幫助您縮小範圍、有選擇地檢視或以其他方式組織您的資產管理任務。
• 練習、練習、再練習 - 一旦您掌握了這種技術,它將為您節省大量時間。
• 所有消除雜亂的過濾器技術(例如,不在 DLS 上顯示內容可能最有用),以及選擇篩選標準的技巧,可以幫助您縮小搜尋範圍,找到您需要或正在尋找的內容,所有這些都節省時間。
• 另一個有用的技巧是反轉您的選擇……假設您在要嘗試的路線中顯示了 30 個資產已過時。突出顯示該組,**RMBh** 並選擇 **顯示資產版本**,顯示將僅顯示您突出顯示的資產及其關聯資產。現在,**RMBh** 並選擇 **反轉選擇**,瞧! - 所有更新都被突出顯示,您可以將所有內容拖放到下載助手中的一個塊中(或者……**RMBh** 並選擇 **下載** - 這將為您新增它們並立即開始下載!
- 下載後,在主檢視中檢視該組,全部複製,並將CSV列表轉移到電子表格中,如Open Office Calc。如果標題中包含逗號(使用者名稱),您可能需要清理一些單元格,但您將獲得兩列可排序資料作為日誌檔案。
- 待續
文字編輯器
[edit | edit source]config.txt 檔案是 純文字 (ASCII) 檔案,雖然最舊的資產的第一行可能包含 BOM(位元組順序標記)程式碼。它們應該使用非格式化程式進行編輯,例如 Windows 記事本、ConTEXT、Notepad++、Programmer's Notepad 或其他非文字處理器型別的 文字編輯器 - 其中許多也被稱為程式設計師編輯器。
|
其中一個文字程式是 ConTEXT,它在與 Wulf/Wulf9 的 TPR 語法檔案帖子 語法檔案一起使用時,提供語法高亮顯示。您需要在上述連結(TrainzProRoutes)註冊才能下載語法檔案。ConTEXT 還會顯示匹配的括號,這在進行故障排除時非常有用,值得注意的是,這是 N3V Games 在 TrainzOnline Wiki 的一些文章中提到的文字編輯器。
本書中的許多示例將使用 免費軟體 Notepad++ 程式設計師編輯器,它具有多個選項卡(檔案處理)、搜尋和替換 (SAR) 檔案和開啟的檔案、正則表示式 (REGEX) 搜尋和 SAR 處理、跨行斷點 (換行符或換行符) 的 SAR 等等。這些功能在克服來自 內容管理器 的愚蠢輸出或 修復故障內容 方面大有幫助。
- 示例 1A
2014-0417-1 List of 982 DAVESNOW assets crossloaded new TS12 to old F~TS12 Anhaen,<kuid2:95148:10182:1> AnhaengerLeer,<kuid2:68787:25265:9> Anhaen 1,<kuid2:95148:10183:1> Appliances Industry Corp,<kuid:58223:26098> Arcon Mk V,<kuid:225064:4010965> ATLS CONTROLLER,<kuid2:76656:500010:8>
Notepad++ 可以將上述內容(或類似的 890 行)轉換為類似以下的 CSV KUID 列表,在使用 REGEX SARS 進行練習後,不到 2 分鐘 30 秒就能完成。
- 示例 1B
<kuid2:95148:10182:1>,<kuid2:68787:25265:9>,<kuid2:95148:10183:1>,<kuid:58223:26098>,<kuid:225064:4010965>,<kuid2:76656:500010:8>
- 示例 2
使用開啟的電子表格和一個臨時檔案,可以在 30-60 秒內獲得相同的 CSV(**CTRL+N** 在 Notepad++ 中)。另一個 Notepad++ 選項卡可用於儲存此類組的執行列表,以便將來使用過濾器。
• (請 將 您的 Trainz 文件儲存位置集中到一個主目錄中 - 幾個月後尋找某個東西非常煩人!)
• KUID 欄位可以包含數千個 CSV KUID,因此如果儲存有標題,此類捆綁包具有很大的價值。 建議“ZZZ-nn 下載描述,這在 9-12 個月內有意義 + YYYY-MMDD”,這樣 **CTRL+F+ZZZ-** 可以導航儲存以向上或向下儲存!
拼寫正確是一個精確的需要
[edit | edit source]標籤關鍵詞必須拼寫正確,並且在指定每個標籤或容器值的引數時必須使用正確的語法。由於計算機程式將解釋內容,因此需要精確的準確性。
|
花括號{和}用於指定需要多行的那對標籤或相關資料對組的內容的起始和結束點。這些被稱為容器,一種特殊的容器型別,KIND在很大程度上決定了如何處理config.txt檔案中的資料(以及如果指定錯誤會發生哪些錯誤)。每個左花括號必須有一個對應的右花括號,並且所有“左花括號”必須始終以空白字元(空格或製表符 ↹開頭)。一些標籤可以巢狀,在這種情況下,允許使用諸如{ { } }之類的結構,並帶有前面的空白字元規則。
kuid必須使用以下格式之一指定
<kuid:nnnn:nnnn><kuid2:nnnn:nnnn:nn>(其中數字位數可能不同)
- 請注意,根據定義,
<kuid:nnnn:nnnn> 與 <kuid2:nnnn:nnnn:0> 相同
kuid 或 config.txt 檔案中的任何虛擬規範,如果尚未用雙引號括起來,可以選擇用一對雙引號括起來,例如:"<kuid:nnnn:nnnn>"、trainz-build "2.9"
- 容器包含多個定義,包括十進位制數、整數和字串等資料型別的混合,但這些資料型別彼此相關。
- 種類是特定型別資產特有的容器,而容器是相關資料元素的集合,這些元素被不止一種 KIND 型別需要。
以下標籤是強制性的
kindkuidusernamecategory-classcategory-eracategory-region
- 花括號不匹配。
- 任何非空格字元緊跟在左花括號後面。
- 任何非空格字元緊跟在左尖括號後面,但 HTML 中除外,在 HTML 中允許這樣做。
對於下表中的專案,只有當專案用作關鍵詞時才會發生錯誤。在文字字串(如描述)中,可以使用任何拼寫、空格和標點符號。
| 不正確 | 正確 |
behaviour |
behavior
|
colour |
color
|
discription |
description —Jcitron 最喜歡的愚蠢錯誤 |
independent |
independant(即澳式英語!與正確的美國英語拼寫相反) |
kuid { |
kuid-table {
|
| kuid{ | kuid-table { |
| kuid<kuid:... | kuid <kuid:... |
kuid table |
kuid-table
|
kuidtable |
kuid-table
|
| 對於任何帶連字元的關鍵詞 | keyword-table {
|
obsolete |
obsolete-table {
|
obsolete{ |
obsolete-table {
|
obsolete table |
obsolete-table
|
| obsoletetable | obsolete-table
|
table{ |
table {
|
trainz-build "utc" |
trainz-build 1.5trainz-build "1.5"
|
- 特殊情況...
在 TRS2004 和更早版本的 Trainz 中,編輯 config.txt 檔案後,需要刪除 Cache\world_cache_Dispatcher.chump 檔案,否則 Trainz 將使用該檔案的舊版本。這僅在修改的 config.txt 檔案位於 World\Dispacher\ 層次結構中時才需要。如果您正在編輯 World\Custom\ 層次結構中的檔案,則不需要刪除 .chump 檔案。
對於 TRS2004 使用者,可以免費使用第三方實用程式 Trainz Objectz 來掃描已安裝的資產,以查詢其 config.txt 檔案 中的常見錯誤,並可以選擇自動更正其中的一些錯誤。這啟發了 內容管理器 的開發。
對於 TRS2006-SP1 和 TC 使用者,CMP 提供了良好的錯誤檢查,但要小心,弄亂了括號,您可能會發現後面的任何內容都會消失。因此,建議在編輯之前進行備份。
|
- ↑ N3V Games,當時與 Auran 有著較為初級的合作關係,接手了 Auran Holdings 和 Auran Development 的 Trainz 管理和開發工作。Auran Holdings 和 Auran Development 之前過度依賴他們擁有的專有 JET I 和 JET II 遊戲引擎開發另一種型別的電腦遊戲,導致了巨大的財務損失,Auran 尋求法院保護。N3VRFail,現名為 N3V Games,與 Auran 達成協議,投資救助了 Auran,代價是在法院的監督下接管了許多業務職能的控制權。
N3V 立即採取行動以產生現金流,釋出了 Trainz TCC 合集包(Trainz:The Complete Collection),然後重新振興了 TRS2004/TRS2006 技術的開發,並在三個外觀精美但內容貧乏的 Trainz Classics 版本(TC1-TC3,TBV 的 2.7 和 2.8)的糟糕發行和銷量中進行了改進——這些版本實際上是經過重新包裝的 TRS2006-SP1,捆綁的內容過少,無法吸引許多買家。
但在 TC 版本中,N3V Games 也開始增加載入或上傳時錯誤檢測的趨勢,並開始不斷加強對資料模型定義的嚴格要求——這些列舉型別的資料極大地簡化了對合法值的測試。REM(類似於 BASIC 計算機語言關鍵字)等實踐和非正式標籤變成了錯誤生成器,儘管它們自 Trainz 1.3 和 UTC 時代以來一直被廣泛使用。某些 程式碼構建版本(V3.3 及以後)開始阻止重新提交已經開啟進行檢查和故障排除的資產,即使該資產仍然存在缺陷。(然而,該資產可以被還原,因此使用者可以獲得該資產的副本以進行遊戲和實驗)。
具有諷刺意味的是,到 TS10-SP2 版本,Trainz 社群已經意識到,即使是 Auran 自身的資產,一旦 開啟進行編輯,也會出現相同型別的缺陷——許多 Trainz 使用者在開啟 Auran 模型時,想要將良好的資料集定義與生成錯誤訊息的資料集進行比較,結果卻發現自己上當了。
- Trainz 印刷版或 pdf 檔案 手冊,適用版本 - 通常位於 ..\extras 或 ..\extras\manuals 資料夾
- TrainzOnline Wiki Config.txt 檔案頁面 以及其他一些頁面
- TrainzOnline Wiki 內容建立者指南頁面 (多種)
- 各種 CCG 和 Auran 網站
| 此參考頁面改編自 TrainzOnline Wiki,遵循 CC-BY-SA 3.0 許可證。與 [online.ts2009.com/mediaWiki/index.php/Config.txt_file 同一主題的源頁面] 相比,此頁面可能包含更多文字解釋、說明、歷史和/或示例。 TrainzOnline Wiki 主要由程式設計師或精通 內容創作 的人員維護,可能包含有關當前 trainz-build 程式碼 標準的更新和更準確的資訊,這些標準隨著軟體功能的新增而不斷變化。 |

