模組可以更改遊戲中的元素,也可以為遊戲加入新特性。
相當多的東西被硬編碼,不能被編輯,比如說新的地圖模式和加入快捷鍵。
所有不使用到控制台指令的模組都可以使用成就
提示
- 不要直接在遊戲文件里修改文件,不僅會破壞遊戲而且修改的內容也會在遊戲更新中被覆蓋。
- 使用可以高亮語法的編輯器可以讓模組製作事半功倍,下面是擁有對維多利亞3語法支持插件的編輯器:
- Visual Studio Code 是一個完備但是稍慢的文本編輯器,使用CwTools插件可以使其支持維多利亞3的語法
- Sublime Text 是非常快的編輯器,支持高亮語法,自動補全和文檔查詢,搭配維多利亞3插件Victoria 3 Tools使用
- 以 "-debug_mode" 和 "-filewatcher" 指令可以開啟調試模式,調試模式可以使用控制台和開發工具,同時也能熱更改一些文件而不需要重啟。
- 查看error.log以捕獲bug,這種精確的記錄對於模組製作者來說是一種可以判斷為什麼一些東西不工作的利器。文件位於Documents/Paradox Interactive/Victoria 3/logs
- 請備份,所有東西都可能會變壞所以需要備份。你可以手動備份也可以使用諸如GIt的版本控制工具、可以考慮使用Github來團隊協作,如果你是初學者建議使用以Github Desktopi熟悉Git。
- 使用Use "script_docs" 和 "DumpDataTypes" 控制台指令可以在Documents/Paradox Interactive/Victoria 3/logs生成效果、條件、作用域和事件目標的記錄。
- 如果你不清楚怎麼做,可以在遊戲文件搜索你需要搜索的單詞,查找文件中的單詞是寫出沒有錯誤的mod的一個快捷方法。
- 當你下載了你上傳的Steam mod,在本地文件又有原本的Steam mod,Steam的mod不會運行。
- 括號要補全,這樣才能使得代碼都在一個層次內,正確的代碼是可以讓大括號在文本編輯器折起來的。漂亮的代碼能夠更好看清楚錯誤和增強可讀性。
- 以#開頭來進行注釋,可以說明代碼的用途,也可以注釋掉暫時不需要用的代碼。
實用的工具
模組指導
自定義國家
自定義事件
自定義日誌
自定義修正
遊戲對象參考
依賴項和文件夾結構
如果要添加新的遊戲對象,則需要記住它依賴於哪些更基本的對象,以及如何組織文件以便遊戲識別它。
所有路徑都與 Victoria 3 安裝目錄中的「game」文件夾相關,因為這是遊戲的所有可編寫腳本部分所在的位置。
注意:沒有依賴關係的對象仍然可以引用原始對象(數字、字符串等)或核心遊戲概念,但 mod 無法編輯或定義任何對象類型,只能更改參數值。嵌套引用,尤其是修飾符中的嵌套引用,通常也不計算在內,因為修飾符可以具有任意依賴關係。
Object type
|
路徑
|
Dependencies
|
人群職業
|
common/pop_types
|
|
商品
|
common/goods
|
|
人群需求
|
common/pop_needs
|
- Trade goods, via 'default'
- Trade goods, via 'goods' inside 'entry'
|
時代
|
common/technology/eras
|
|
科技
|
game/common/technology/technologies
|
- Eras, via 'era'
- Technologies, via 'unlocking_technologies'
|
析構
|
common/institutions
|
|
法律組
|
common/law_groups
|
|
法律
|
common/laws
|
- Institutions, via 'institution'
- Law groups, via group
- Laws, via 'disallowing_laws'
- Laws, via 'possible_political_movements'
|
意識形態
|
common/ideologies
|
- Law groups, as parameters
- Laws, via law group parameter mappings
|
利益集團特質
|
game/common/interest_group_traits
|
|
利益集團
|
common/interest_groups
|
- Interest group traits, via 'traits'
- Ideologies, via 'ideologies'
|
生產方式
|
common/production_methods
|
- Technologies, via 'unlocking_technologies'
- Laws, via 'disallowing_laws'
- Production methods, via 'unlocking_production_methods'
|
生產方式組
|
common/production_method_groups
|
- Production methods, via 'production_methods'
|
建築組
|
common/building_groups
|
- Building groups, via 'parent_group'
- Building, via 'default_building'
|
建築
|
common/buildings
|
- Building groups, via 'building_group'
- Technology, via 'unlocking_technologies'
- Production method groups, via 'production_method_groups'
|
參數
創建遊戲對象時,通常需要遵循特定的模式。以下是各種遊戲對象的參數、它們的含義、必需的參數以及要輸入的值類型。
參見
控制台指令
On actions
模組製作指南
Grester's Compendium