维多利亚3作为一款有着跌宕起伏剧情的游戏,玩家需要操纵角色和不同的敌人进行作战。有一些玩家在游戏中遇到了维多利亚3游戏mod制作教学分享这样的问题,这个问题其实比较好解决,为了让大家都能顺利解决问题提高自己的战斗力,小编在这里整理了详细的攻略。
维多利亚3游戏mod制作教学分享
那么,让我们从头开始!当你启动维多利亚3时,游戏的启动器会出来迎接你。在启动器的左上方可以看到四个小选项:主页(Home)、下载内容(DLC)、模组(Mods)以及游戏设置(Game settings)。继续,你知道你想这么做。
在模组菜单中,你会看到三个按钮。点击中间的“模组工具(Mod tools)”,如果你没有任何模组,你就会看到创建新模组的提示,否则就需要找到菜单上的按钮并点击,最后弹出创建新模组的提示。
让我们简单点,可以吗?比如把俄亥俄变成一个国家。是的,创建一个国家,并让它在游戏中出现,这是测试模组全部内容的好方法。
按下“创建(Create)”按钮,启动器会在mod文件夹中自动创建一个新目录——mod文件夹就在你的savegames和其它类似文件存储的同一个储存目录下。在我的例子,以及绝大多数你们的情况中,这一路径大概在图示的位置。
找到目录了吗?好,直接进去,你会发现一个名为“.metadata”的文件夹,里面有一个名为“metadata.json”的文件。
启动器打开模组时需要读取和检查的所有数据都存储在这个文件夹和这个文件中,包括模组名、版本号(如果需要的话)等等。
如果以后还想要修改这些内容,尽管去改,但我们今天不会触及这部分内容。回到主目录,可以发现这个模组的地址在“[…]\Paradox Interactive\Victoria 3\mod\It’s Ohio”。
让我开始定义Ohio吧。完全复制游戏本体中所用到的路径,这样游戏才能正确读取,这是模组设置中的关键。
在维多利亚3中,国家定义文件被存储在“Victoria 3\game\common\country_definitions”中,因此需要在“It’s Ohio!”目录中创建“common”文件夹,在这个文件夹中继续创建“country_definitions”文件夹。
这参照了游戏本体的路径(即“Victoria 3\game”),所以当游戏读取这个模组并试图找出它与游戏本体的交互方式时,不会出现尖叫和死亡。
在模组的“common\country_definitions”文件夹中,需要创建一个被我随意命名为“ohio.txt”的小文件,打开它,像这样坏坏地把文本粘贴进去:
哇哦!我们已经定义了俄亥俄。现在让我们修改history文件,俄亥俄就会出现在游戏中。
国家控制的地区被定义在几个history文件中,可以在如下目录中找到它们:
common\history\buildings
common\history\pops
common\history\states
所有这些都需要从游戏本体中将文件复制过来——很遗憾我们不能直接在新文件中添加新条目,因为还需要在上述文件中移除/替换与美国相关的数据。请确保在“It’s Ohio”模组文件夹中复制了这些文件路径,就像在“common\country_definitions”中做的那样。
接下来开始建筑目录的介绍,我们需要在建筑文件中找到“STATE_OHIO”,建筑文件在“05_north_america.txt”文件中。复制该文件,将其放入模组的“history/building”文件夹中,打开并搜索STATE_OHIO,可以找到其中一节的开头是:
然后从那里继续。这里发生的事情是,我们已经声明,在俄亥俄州的地域内(即“s:state_Ohio”),应该有一个由美国控制的地区(“region_state:USA”)构成美国的俄亥俄地区。
但我们正建立一个独立的俄亥俄,所以所有涉及美国俄亥俄地区的数据都是无用的,会让游戏弄混。我们要做的就是将“region_state:USA={”这一行行更改为“region_state:OSU={”,因此,这一节现在是这样的:
现在,我们不是告诉游戏,在俄亥俄地域的地区,创建一个由美国控制的地区,并填充以下建筑,而是告诉游戏在俄亥俄地域创建一个地区,即……俄亥俄,并应填充以下建筑。在”common\history\pops”中也要进行同样的事情。复制05_north_america.txt文件,找到STATE_OHIO条目,将控制者由美国(USA)改为俄亥俄(OSU)。
地区历史都保存在一个文件中,因此在common\history\states\中,只需复制整个00_states.txt文件,将其放入模组目录,然后再次打开该文件并搜索STATE_OHIO。在那里,可以找到以下条目:
一个地区由省份组成,而表示省份的是x加上组成世界地图的省份地图中代表省份颜色的6位代码(用6个字符表示颜色)。在俄亥俄这样的地方,一个地域中只创建了一个地区,而在诸如德意志这样的地方则更加混乱,因为可以在一个地域中创建多个地区。不过为了方便理解还是别去想德意志了,先弄明白俄亥俄吧。
希望你已经理解了我们正在进行的改动的套路——这里我们再将“country = c:USA”改为“country = c:OSU”,这样整个STATE_OHIO一个就变成了:
我很好奇如果现在打开游戏会是什么样?首先我们需要在启动器中启用这个破玩意。打开启动器,创建一个新的播放集并取名为“ohio!”或者你自己想取的名字。
启动器会提示播放集为空,因此我们点击“添加mod”按钮,这样就能添加mod了,然后将“It’s Ohio!”添加进去。确认启用了播放集后,我们就可以进入游戏看看会发生什么了。
等等……好像有什么不对。我们先退出游戏——在Steam中点击维多利亚3,打开属性,然后将启动设置改为“-debug_mode”。这会允许在游戏中显示错误日志。我们现在再打开游戏看看会怎样。
出现了错误!让我们在“…\Paradox Interactive\Victoria 3\logs\error.log”打开错误日志来看看其中的错误信息。当你在制作mod时,经常通过调试模式进入游戏并尽量解决错误日志中出现的问题,其有用性是如何强调都不过分的。
不管怎样!在我们的案例中,有4个错误的原因:
国家历史包括了科技和政治。为了减轻工作量而非从头编写一切,我会将原版游戏中与俄亥俄情况非常相似的比利时的国家历史粘贴过来。我只需要从游戏中找到“common\history\countries\bel – belgium.txt”文件,将其粘贴到mod中的相同路径,重命名为“osu – ohio.txt”,然后就可以打开这个文件。其中包含一个以“c:BEL”开头的部分。这个部分通过多个效果设定了游戏开始时的法律和统治国家的利益集团。我只需要将c:BEL改成c:OSU,这样那些政治和科技的效果就会应用于OSU,最后保存并退出文件。
另外一个需要添加的历史文件是人口文件。人口文件中编码了一些效果来为全国的初始人口设定健康程度和识字率。我们找到比利时对应的“common\history\population\bel – belgium.txt”。和国家历史一样,粘贴并重命名为“osu – ohio.txt”(只要名字不和已有历史文件重合,就不会错误覆盖掉其他文件,但保持统一有助于管理),然后在文件中将作用域c:BEL改为c:OSU,这样人口文件的效果就会应用在俄亥俄人上。
说到“俄亥俄人”,我们来搞定国名的事。游戏中的本地化文件储存在“Victoria 3\game\localization”中,并且按照游戏的语言进一步细分。我是说英语的,所以就默认设定在英语的文件中了。我们先在mod路径中创建一个英语本地化文件夹(也就是“It’s Ohio!\localization\english”),然后再在其中创建自己的迷你本地化文件——为了扣题我们就叫ohio_l_english.yml吧。下面需要向文件中写入的就只有:
俄亥俄出现了。虽然依旧没有脚本编写设定的国旗,但它已经是一个可以运行的国家了。
其实维多利亚3游戏mod制作教学分享的这个解决方法还是非常简单的,相信大家自己研究也能够研究出来。如果你有其他更好的解决方案,不妨直接在评论区留言告诉小编,小编会快速进行更新的。