模組製作

本頁面所適用的版本可能已經過時,最後更新於1.0

模組可以更改遊戲中的元素,也可以為遊戲加入新特性。 相當多的東西被硬編碼,不能被編輯,比如說新的地圖模式和加入快捷鍵。

所有不使用到控制台指令的模組都可以使用成就

提示

  • 不要直接在遊戲文件里修改文件,不僅會破壞遊戲而且修改的內容也會在遊戲更新中被覆蓋。
  • 使用可以高亮語法的編輯器可以讓模組製作事半功倍,下面是擁有對維多利亞3語法支持插件的編輯器:
    1. Visual Studio Code 是一個完備但是稍慢的文本編輯器,使用CwTools插件可以使其支持維多利亞3的語法
    2. 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不會運行。
  • 括號要補全,這樣才能使得代碼都在一個層次內,正確的代碼是可以讓大括號在文本編輯器折起來的。漂亮的代碼能夠更好看清楚錯誤和增強可讀性。
  • 以#開頭來進行注釋,可以說明代碼的用途,也可以注釋掉暫時不需要用的代碼。

實用的工具

  • Paradox Highlight 提供Victoria 3和各類其它Paradox遊戲語法高亮的Visual Studio Code插件
  • Pdx-Unlimiter 可以修改存檔數據的實用工具
  • Map data editor 基於jomini.js製作的用chrome啟動的省份數據編輯器,可以可視化編輯history/states的數據
  • Music Mod Creation Tool 顧名思義,這是一個音樂mod製作工具

模組指導

自定義國家

自定義事件

自定義日誌

自定義修正

遊戲對象參考

依賴項和文件夾結構

如果要添加新的遊戲對象,則需要記住它依賴於哪些更基本的對象,以及如何組織文件以便遊戲識別它。

所有路徑都與 Victoria 3 安裝目錄中的「game」文件夾相關,因為這是遊戲的所有可編寫腳本部分所在的位置。

注意:沒有依賴關係的對象仍然可以引用原始對象(數字、字符串等)或核心遊戲概念,但 mod 無法編輯或定義任何對象類型,只能更改參數值。嵌套引用,尤其是修飾符中的嵌套引用,通常也不計算在內,因為修飾符可以具有任意依賴關係。

Object type 路徑 Dependencies
人群職業 common/pop_types No
商品 common/goods No
人群需求 common/pop_needs
Trade goods, via 'default'
Trade goods, via 'goods' inside 'entry'
時代 common/technology/eras No
科技 game/common/technology/technologies
Eras, via 'era'
Technologies, via 'unlocking_technologies'
析構 common/institutions No
法律組 common/law_groups No
法律 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 No
利益集團 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'

參數

創建遊戲對象時,通常需要遵循特定的模式。以下是各種遊戲對象的參數、它們的含義、必需的參數以及要輸入的值類型。

Object type Parameter Parameter type Required Meaning
Trade goods texture string Yes good icon filepath
cost integer Yes base good price
category keyword, one of:
staple
industrial
luxury
military
Yes which goods category it belongs to
prestige_factor integer Yes base prestige for being lowest rank leading producer:

specifically, holding the MIN_PRESTIGE_AWARD spot.

traded_quantity integer No how many goods are traded for each level of a trade route
convoy_cost_multiplier floating point number No how many times more convoys are needed to transport this good
consumption_tax_cost integer No how much authority it costs to levy a consumption tax

note: absence of this parameter implies no consumption tax can be levied

Technology Era technology_cost integer Yes the base technology cost for techs in this era
Technology era Technology Era Yes which era this technology belongs to
texture string Yes technology icon filepath
category keyword, one of:
production
military
society
Yes which category this technology belongs to
modifier country modifier No which immediate effects this technology has on your country

Example: Cotton Gin provides 25% cotton plantation throughput.
Unlocked buildings, production methods, laws, etc are specified
from the unlocked object, not the unlocking technology.

unlocking_technologies list of technologies No All prerequisite technologies. If empty, it has no prerequisites
can_research boolean No if 'no', makes it unavailable for normal research.

Example: Sericulture.


參見

控制台指令

On actions

模組製作指南

Grester's Compendium