省份修改

本页面讲述的内容长期有效

添加省份的方法:

每一个访问这个页面的玩家都倾向于了解如何创建一个省份。接下来是针对不同图像编辑程序的一些指南。本指南是针对Windows 7和Mac OSX 10.9而写的,但也应适用于其他版本的Windows和Mac系统。

(注:英文wiki中的原文是针对旧版本而写的,且部分语句表达的不是很清楚。故翻译时根据译者自己修改的经验对原文稍作修改。又,译者只熟悉Windows操作系统,故关于Mac或Linux系统的部分未翻译)

不兼容的软件

Microsoft Paint,Paintbrush(Mac系统),OpenOffice Draw和LibreOffice Draw(Linux系统)不能用来编辑rivers.bmp,heightmap.bmp和terrain.bmp,因为它们无法实现打开索引颜色并保存修改的功能。在用上述程序中的任意一个编辑其中的某个文件以后会经常性的引起EU4在启动时崩溃。

本指南所使用的软件为GIMP(GNU Image Manipulation Program)


为了展示所有可能需要注意的地方,我们以在爱尔兰海的贸易节点和大陆上添加一个新的小岛为例。

新建mod(Windows)

Making a new folder
Adding the .mod file

首先,在“C:/Users/<Username>/Documents/Paradox Interactive/Europa Universalis IV/mod”路径下新建一个文件夹,这应该是EU4的默认路径。如果不在这里,请先尝试找到正确的路径,或者最糟糕的情况,在这个位置下重新安装EU4。给这个文件安上你想要的名字,在这里我选择了“Celtica”。其次,如果mods文件夹中已经安装了mod,建议将“.mod”文件(在Windows上可能显示为Windows Media Player文件)复制并重命名为与您的文件夹相同的名称。然后打开它(本教程使用notepad ++)并更改“name ="<name>"”和“archive =mod / "<foldername>"”。需要记住的是,因为这是一个文件夹而非.zip(压缩文件),所以并不需要(并且会导致mod损坏)在文件名最后添加.zip的后缀名。

“粗暴”方式(Windows)

如果由于某些原因例如磁盘空间很小或者可能需要很长时间来复制文件,那么一个不方便但却很简单的“what you need to copy(复制所需)”指南如下。如果不想浪费时间,并且需要立即开始实际的修改,请按照“快速方式”中的说明操作。

接下来,转到安装原版EU4(它应该位于“C:/ Program Files(x86)/ Steam / SteamApps / common / Europa Universalis IV”)并复制map文件夹。将map文件夹粘贴到/ mod中的mod文件夹中。然后,在你的mod文件中创建一个“history”文件夹,然后创建一个“provinces”文件夹。虽然没有必要,但是官方推荐将“C/ Program Files(x86)/(...)/ history / provinces”中的省份文件复制到“C:/ Users / (...)/ mod / <mod文件夹名称> / history /provinces”,以方便以后创建省份。然后,在MOD中创建一个名为“common”的文件夹,并进一步创建一个名为“tradenodes”的文件夹,并从原版安装中复制所述文件(应该称为“00_tradenodes”)。之后,创建一个名为“localisation”的文件夹,并从原版文件夹中取“prov_names_l_english”和“EU4_l_english”。

快速方式(Windows)

把common文件夹、history文件夹、localization文件夹和map文件夹从 C:/Program Files (x86)/Steam/SteamApps/common/Europa Universalis IV 复制到 C:/Users/<Username>/Documents/Paradox Interactive/Europa Universalis IV/mod。然后如果操作正确,文件大小应该在210MB左右。

Setting up shop (Mac)

First, create a folder at /Users/<Username>/Documents/Paradox Interactive/Europa Universalis IV/mod, which should be your default location for EU4. If it's not there, try searching around. Name the file whatever you want, however for this mod I chose "Celtica". Then, if there already is a mod installed in the mods folder, it is recommended to copy the .mod file (it may show up as a video file) and rename it to the same name as your folder. Then open it (this tutorial uses textedit) and change name="<name>" and archive="mod/<foldername>". Remember, since this is a folder and not a .zip file you should not add .zip after the file name.

Copy the common folder, history folder, localization folder and map folder from /Users/<Username>/Library/Application Support/Steam/SteamApps/common/Europa Universalis IV to /Users/<Username>/Documents/Paradox Interactive/Europa Universalis IV/mod/<Modname> (the folder created earlier). Then, if done correctly the folder should be somewhere around 210MB.

Setting up shop (Linux)

First find the mod folder which is usually located at ~/.paradoxinteractive/Europa Universalis IV/mod. If it's not there, try searching around:

   $ find ~/ -iname "mod"

go to the folder and create your mod directory

   $ cd  ~/.paradoxinteractive/Europa\ Universalis\ IV/mod
   $ mkdir "{your mod name}"

If there already is a mod installed in the mods folder, it is recommended to copy the .mod file (it may show up as a music file) and rename it to the same name as your folder:

   $ ls
   $ cp "{existing mod name}.mod" "{your mod name}.mod"

If there is no such file you can create a new one:

   $ touch "{your mod name}.mod"

Then open it and change name="{your mod name}" and archive="mod/{your mod name}". Remember, since this is a folder and not a .zip file you should not add .zip after the file name.

Copy the common folder, history folder, localization folder and map folder from ~/.local/share/Steam/SteamApps/common/Europa Universalis IV to ~/.paradoxinteractive/Europa Universalis IV/mod/{your mod name} (the folder created earlier).

   $ cp -r ~/.local/share/Steam/SteamApps/common/Europa\ Universalis\ IV/common "{your mod name}/common"
   $ cp -r ~/.local/share/Steam/SteamApps/common/Europa\ Universalis\ IV/history "{your mod name}/history"
   $ cp -r ~/.local/share/Steam/SteamApps/common/Europa\ Universalis\ IV/localisation "{your mod name}/localisation"
   $ cp -r ~/.local/share/Steam/SteamApps/common/Europa\ Universalis\ IV/map "{your mod name}/map"

Then, if done correctly the folder should be somewhere around 210MB.

   $ du -sm "{your mod name}"

编辑高度地图 heightmap.bmp

Editing Heightmap

既然要新添一座小岛,如果我们直接在province.bmp文件里添加一个省份,效果将会是仅仅在海洋上添加一片海洋省份——这不是我们想要的。

首先,用GIMP打开heightmap.bmp。所有颜色值低于(95,95,95)的区块都是水域(( 0, 0, 0 ) 是最低点,(255, 255, 255) 则是最高点,颜色越淡,高度越高),所以推荐的做法是使用颜色选取工具在低地或者佛罗里达的海岸区域选取一个颜色。用这个颜色画完之后这个省份应如右图所示。

导出图片时首先要确保此图片是灰度模式(Image > Mode > Grayscale)然后按 Shift+Control+E 或者找到 (File > Export As. . .) 按钮。此图片应当保存为 .bmp 格式并放在mod文件夹里的map文件夹中。再点击兼容性选项后面的那个“+”(屏幕会在你确定是否要覆盖heightmap.bmp文件后弹出窗口)并勾选“不写入颜色空间信息”("Do not write colourspace information")。这一点非常重要,如果不这么做,mod在加载的时候会报错。

打开EU4,如果前面的步骤都正确,地图上就会出现类似于右图所画的东西。

编辑地形地图 terrain.bmp

Editing Terrain.bmp

显然目前为止我们的“省份”还有问题——整个岛都是很奇怪的蓝色。因为我们还有地形地图 terrain.bmp 要编辑。一种做法是使用矩形选取工具来选取整张图片并用 Control+Shift+V 来创建一张新的图片,然后在新图片中建立一个新的图层。打开 heightmap.bmp 文件,用矩形选取工具选中它并复制到新建的图层里。(译者按:这样做的目的是方便对照高度地图和地形地图,使得岛屿的位置在两张图中是一致的)如果这时候你的 terrain.bmp 文件不是彩色的,在(Image > Mode)那里把图片模式改成RGB模式再进行以上操作。编辑的时候应如右图所示。(在第一个图层作图)

在编辑好后,再一次将有着地形图像的图层复制并覆盖回原来的 terrain.bmp 文件。并且同样地,保存的时候要勾选“不写入颜色空间信息”。打开EU4,地图上就会出现类似于右图所画的东西。

编辑颜色 .dds 文件

Emmmmm……看起来还是很奇怪嘛……那是因为颜色地图将其判定为在水下!我们需要一个像能将文件在 .dds 格式和PNG格式之间转换的在线转换器那样的工具,GIMP不能直接打开dds文件(译者注:PS的dds插件可以,NVIDIA Texture Tools for Adobe Photoshop)。实在不行的话这一步可以跳过,因为这只会影响视觉效果,不过我不建议这么做。

像在编辑高度地图时一样,选取附近的草地颜色来给这个岛屿上色。可以使用在编辑地形地图时介绍的技巧来校准位置。

注意:.dds 文件在map文件夹下的terrain文件夹里。它们的命名格式为“colourmap_<season>" / "colourmap_water”。另外,它们的图片大小为 terrain.bmp 文件的一半。

添加一个新省份

Adding the province
  • 打开map文件夹下的 definition.csv 文件。每添加一个省份,都要选取一个RGB颜色以代表该省份。文件里已经分配了若干已使用的颜色和未使用(用于随机新大陆)的颜色——所以我们选取的颜色不能和已有的重复。在 definition.csv 文件的最后一行下新添一行,输入“省份编号;R;G;B;省份名称;x”。显然,新的省份编号不能和已有的重复,建议直接按照次序继续编号。在此例中,我们输入“2027;255;18;160;x”。然后在provinces.bmp中以该颜色绘制省份区块(可用前面提到的技巧来对齐位置)。
  • 在添加省份后,请确保definition.csv文件已保存,且province.bmp文件是以“不写入颜色空间信息”以及24-bit的状态保存的。
  • 然后,在map文件夹下找到“default.map”文件,将最大省份数量+1。在此例中,原先省份最大编号为2026,最大省份数量为2027;新增编号为2027的省份后,最大省份数量应改为2028。
  • 接着要做的是:1、在climate.txt文件中给新省份分配气候。2、在area.txt、region.txt、subcontinent.txt、continent.txt等文件中分配省份所属的区域、地区、次大陆、大洲等。
  • 然后是本地化:本地化方式与其它本地化完全一致。需要注意的是省份词条的KEY为“PROV+省份id”(在此例中,为PROV2027)。原版游戏的省份本地化文件为prov_names_l_english.yml。
  • 给新省份添加历史:在history/provinces文件夹中,(偷懒的做法)随便复制一个省份历史文件,文件名改为“省份id-省份名称”(这里的省份名称为definition.csv文件中定义的名称,此例中应为"2027-Celtica")。 然后就可以编辑这个省份的历史信息了。详细修改方法见 历史修改
  • 最后一步:在Common/tradenodes文件夹中给新的省份分配贸易节点(当然也可以创建一个新的)。详见 贸易节点修改

使用nudge

Using nudge

在Europa Universalis IV的启动选项中添加-nudge可以激活Nudge工具,然后在游戏中单击初始菜单中的Nudge按钮就可以打开它。利用nudge可以很方便地编辑省份上的各种模型的摆放位置和角度,以及贸易路线的形状。

重要:只有点击了“保存”按钮,你的修改才会被导出。导出的文件位于我的文档/Paradox Interactive\Europa Universalis IV/文件夹下,存储模型位置信息的文件为/map/position.txt,保存贸易路线信息的文件为\common\tradenodes.txt。你可以把它复制到你的模组目录中来使用。注意,该目录下的00_tradenodes.txt会覆盖原版和模组中的00_tradenodes.txt。

添加邻接关系

打开map文件夹下的adjacencies.csv文件,该文件控制哪些省份可以连接到其它不相邻的省份。例如,一个岛屿通常不与任何其他陆地省份相邻,因为中间隔着海洋省份。邻接文件告诉游戏将这个岛屿同某个陆地省份连接起来,允许陆地单位在两者之间行走。格式如下:

From;To;Type;Through;start_x;start_y;stop_x;stop_y;Comment                                                                       <province id>;<province id>;<type>;<province id>;<map coordinate>;<map coordinate>;<map coordinate>;<map coordinate>;<comment>

详见 地图修改

在此例中,我们要让岛屿和两个省份在海上相邻。因而添加如下两行:

2027;241;sea;1285;-1;-1;-1;-1;Celtica-Ireland

2027;374;sea;1285;-1;-1;-1;-1;Celtica-Wales

最终产品

在所有这些之后,应该(大致)看到以下内容。

Complete island

Thanks for using this WIP guide!

如何编辑现有省份

If you are doing a complete map overhaul, you may want to use the existing province ID's for different ones. Just follow all the steps above all the way up until you have to edit files in the history/provinces file (In the Adding a province section). It is important now that you still include the vanilla files for the original provinces, but instead edit the content of the file to read replace_path = "history/provinces/<file name that the province is being replaced with>.txt".

For example, if I wanted my Celtica file to replace Uppland and have the ID 1, I would start by opening the '1-Uppland' file (in a program like Notepad) and saving it as '1-Celtica'. Then, I would have to edit the 1-Uppland file to read replace_path = "history/provinces/1-Celtica.txt". I can then edit the Celtica file so that all the information in there is correct to the information I have researched about the province, and voila, it should work

It is essential to do this otherwise the game will still read the vanilla files as well, so you'll end up with multiple countries having cores where you do not want them.