跳轉到內容

Trainz/KUIDs

來自Wikibooks,開放世界開放書籍
(重定向自 Trainz/kuid)
logo
Trainz學員基礎知識

Trainz資產維護和建立
目錄 | 開始樂趣 | AM&C | 建立 | 書內參考 ORP參考:  • 索引 • 容器 • 種類 • 標籤 | 附錄  • 版本
 詞彙表
 HKeys-CM
 HKeys-DVR
 HKeys-SUR
 HKeys-WIN
 滑鼠使用
 註釋
editor screenshot
在Windows中使用Programmer's Notepad的多標籤窗格來管理Trainz資產資料。
 • 大塊的逗號分隔的kuid在設定自定義路線構建的SPEED方面非常有用——越少的資產勘測員需要諮詢,所有熱鍵以及構建或裝飾過程的速度都會加快。
 • 這樣的列表在內容管理器的各個版本之間也有其位置,以及在本例中——類似於頁面頂部(顯示丟失的資產)的列表可以轉換為類似於頁面底部列表的CSL塊,適合在另一個Trainz安裝中搜索(例如,在進入GUI駕駛或路線構建之前檢視所有依賴項或所需資產是否可用)。
需要思考的要點

各種資產名稱和KUID,例如
內容管理器中“全部複製”可能給您帶來
Highland Valley SD38 No23, <kuid:62941:123>
Sub Station, <kuid:58973:27012>
GW Malt Sec5, <kuid2:97212:5200:1>
ken, <kuid:119692:840>
mack-truck, <kuid2:50567:15770:1>
fred2, <kuid:50567:15717>
Erie covered hopper Mfx2, <kuid:58422:1067>
Tanker MBLX (FUEL), <kuid2:64038:151024:1>
Tanker UTLX 950423(LARS), <kuid2:113556:61005:1>
Tanker ExxonMobil (FUEL), <kuid2:64038:151023:1>

僅供參考,Fred是現在用於列車尾部的紅光發射儀器元件,以前是車尾。現代的包含RFID電路和GPS,並與駕駛室內的接收儀器通訊資料——如今,甚至包括後視攝像頭檢視——讓工程師準確地知道他的列車尾部在路線上的位置。

KUID是在建立資產時分配給資產的唯一識別符號。TRS2006手冊將其稱為源自Kool Things Unique Identifier Data的助記符,Trainz依靠它們來保持事物井然有序,並將正確的子資產組合在一起以呈現3D虛擬世界。KUID的核心部分是作者的Trainz ID程式碼編號,這將是他建立的每個資產的共同點。這是冒號“:”字元後kuid的第一部分。沒有kuid程式碼,就沒有資產。Trainz將讀取一個沒有kuid的配置,並立即報告幾個錯誤之一,最常見的是——"警告:無法讀取資產在“<foldername>”處的配置檔案",而不是“資產沒有有效的kuid”。

此KUID功能是在最初的Trainz 0.9 Beta原型中引入的,目的是將資產元件檔案組織到單獨的資料夾中,併為了方便資產編目,因為最早版本的下載站(線上免費資產庫)需要一個內建的資料結構來跟蹤多個相似資產之間的差異,以及一種使用正確指定資產的可靠方法——因為如果僅使用資產名稱作為那個時代的硬碟資料原始組織中的資料夾名稱,太多名稱可能會相互覆蓋。解決方案是不依賴可能重疊的名稱,而是透過使用kuid派生名稱(用空格替換冒號(“:”)字元)編碼的資料夾來組織檔案資料夾,在早期的Trainz(甚至現在)中也是如此。請參閱您..\UserData\local\hashfolders目錄中的資料夾。

Kuid(基本kuid)格式
<kuid  : 作者ID# : 基本Kuid索引 >    
Kuid2格式
<kuid2 : 作者ID# : 基本Kuid索引 : 版本字尾>

還需要某種方法讓使用者能夠識別資產的不同版本——區分有效的版本和無效的版本。在早期開發中曾設想過廢棄表,但在實踐中,這些表具有一定的缺點,因為它們的使用會永久“破壞”資產識別符號程式碼。這種需求催生了擴充套件的kuid,即Kuid2格式,因為隨著Trainz 1.0的一系列服務包的釋出,跟蹤特定資產修訂版的問題變得越來越重要。可以說,Trainz正在萌芽,並經歷著成長的煩惱,但發展迅速,並且日趨成熟。到UTC(如其他地方所述,也可以將其視為Trainz 1.0的第四個服務包),這兩種方法都已到位,軟體已訓練識別kuid2和kuid格式,以及廢棄表的舊版本。

此外,還希望識別資產的原始作者,以及根據國際法誰擁有其版權,以便Auran能夠保護其所有權。有兩個版本:KUID和KUID2。Trainz的TRS2006之前的版本需要手動建立資產,因此必須手動分配KUID。在TRS2006及更高版本中,當您單擊“新資產”或“克隆資產”時,CMP會自動分配KUID。

原始格式的KUID如下所示
<KUID:123456:123456>.
  1. KUID的第一個數字元素是作者的使用者ID。使用者可以透過他們的Planet Auran個人資料訪問使用者ID。使用者在註冊Planet Auran時會分配一個使用者ID,並且使用者ID按隨機數字順序分配。大多數使用者ID都有5位或6位數字,其中5位居多。但一些早期的使用者ID可能只有4位或更少。一些使用者ID的作者程式碼是單個數字。
  2. KUID的第二個數字元素是由作者設定的唯一編號,可以是任意位數,通常為六位左右,並且通常編碼,以便前幾位數字表示建立的數字資產的類別或型別(例如,10表示火車車廂[滾動庫存],因此101的字首為平板車,102為40' 箱車,103為參考,等等)。一些CC將型別品牌擴充套件到轉向架等部件,或者可能為這些部件型別設定一個組。
  3. 如果使用CM/CMP建立或克隆資產,CMP會為每個使用者安裝分配遞增的數字,預設情況下在1xxx範圍內(開始)。例如,您建立的第一段內容可能是對內建標準路線會話的更改,因此,如果您的使用者識別符號是“123456”,則kuid可能會建立為<KUID:123456:1001>,依此類推。
  4. TrainzUtil可用於更改下一個生成的kuid起始值,然後CM將在為新的資產kuid程式碼分配時生成該值以上的下一個空閒數字。提示:在給定情況下,由於路線始終具有預設會話,因此路線修改將生成以1001和1002結尾的兩個連續kuid

對於KUID,如果作者已將資產上傳到DLS,其KUID為<KUID:123456:100001>,並且他們希望更新它,則需要為更新的資產分配一個新的KUID,即<KUID:123456:100002>。要替換DLS上的資產編號100001,必須在新資產的配置檔案obsolete-table部分中記錄廢棄資產的KUID。(在其他地方討論)。這可能會令人困惑,因此KUID2被設計為解決此問題。

KUID2的格式與KUID略有不同
<KUID2:123456:123456:1>,其中額外欄位是索引到零基的版本。

和之前一樣,前兩個數字元素是作者的使用者 ID 和資產的唯一識別符號。第三個數字是資產的版本號,可以高達“127”。Kuid2 實際上是從零開始的,所以<KUID2:123456:123456:0><KUID:123456:123456>相同——儘管 N3V 的程式設計師在何時承認等價性方面並不一致,因此有效性也存在差異。[註釋 1]

現在可以透過簡單地遞增版本號來更新資產。KUID2 的巧妙之處在於它們也可以應用於具有 KUID 的資產。例如,如果我們使用資產 <KUID:123456:100001> 並想要更新到 KUID2,只需將更新後的資產的KUID 標籤更改為 <KUID2:123456:100001:1>,DLS 就會自動將原始資產標記為過期(在CM 搜尋窗格的術語中為“已過時”;CMDLS通訊並跟蹤是否有更新的資產可用)。[註釋 2] 在本地,每個使用者的 CM/CMP 安裝程式會檢測此類更新,並通知所有擁有該資產過時 KUID 版本的使用者,有更新版本可用。由於TS2009 CM 也會以視覺方式顯示此內容,使用符號將其更新到 KUID2 版本。

 

*在 trainzoptions.txt (TR04—TS12) 中設定“freeintcam”開關引數或在 TANE 及之後的版本中選中具有相同功能的複選框(釋放內部攝像頭),會將鍵盤箭頭的功能從旋轉和傾斜功能更改為前後或左右滑動攝像機位置。Freeintcam 模式使使用者能夠將許多攝像頭完全移出駕駛室,或移至具有更好優勢的觀看(和滑鼠控制)角度。

註釋、腳註和參考文獻

[編輯原始碼]

Config.txt 檔案在 Trainz 資產中普遍存在,因為沒有一個資產可以在沒有這種型別的計算機科學容器的情況下定義。在編輯或建立 Trainz 內容時,必須始終牢記關鍵字-鍵值對。 TrainzBaseSpec 包含在資產定義 config.txt 檔案中最常見的數值和容器。

註釋

  1. 一些 N3V Trainz 版本會在 CM Kuid 輸入視窗中顯示 <KUID2:123456:123456:0> 和 <KUID:123456:123456> 相同,而其他版本則會對它們進行不同的處理,如果在搜尋中使用 Kuid2 格式,則會忽略資料庫中的基本 KUID 格式。
     • 經測試證實,在配置檔案中使用 Kuid2 格式作為識別符號值是完全可以接受的(在新資產和修改後的舊資產中),並且所有版本的 N3V 軟體都能正確地將其歸檔。
     • 因此,許多人在建立資產時只使用 kuid2 格式,如果要手動維護 Trainz 之外的資料庫(帶有原始檔的 OS 資料夾)檔案,則使用格式“kuid2 xxxx yyyy n;v#-#; assetname,因為當所有資產都編碼為 kuid2 語法時,這使得建立可基於 kuids 進行搜尋的檔案資料夾變得更加簡單。(然後字母數字排序可以正常工作。)
     • 此類檔案還允許在需要修復或建立新資產時搜尋以找到紋理;並且是初始化新 Trainz 版本或重建舊版安裝的資源。
  2. N3V 的 CM 版本會拒絕任何嘗試開啟檔案以進行編輯,然後僅透過重新提交來升級它。但是,可以使用兩種方法來達到相同的效果。
     • 1) 更改配置檔案的 kuid,然後將資料夾拖放到 CM 中,因為較舊的 kuid 被“標記”為“已開啟以供編輯”,軟體只是將資料夾和資料視為匯入的資產。然後可以重新編輯原始 kuid 並獨立提交,或者假設它沒有錯誤,可以只輸入CTRL+R還原到原始的更改前版本。如果還原一個已開啟以供編輯的檔案,在移動或刪除其資料夾之前,重新提交似乎不是必需的,但可能比這樣做更安全。
     • 2) 將資料夾複製到另一個目錄,然後在其中更改 kuid,同時透過在原始 kuid 下提交更新的表單來測試改進。這有利於在新增更新的 kuid 版本之前,對提交進行全面測試。

 

腳註

 

參考文獻


 

華夏公益教科書