钢铁雄心4地图细化与Nudge教程 P4-邻接设定
CleverCrafty
编辑于 2022年04月10日 19:22
收录于文集
共7篇

今天内容稍微复杂一点,但依旧很简单

这次介绍的是Adjacencies,它主要内容是修改province之间的连接,可以用它来制作不可通行线以及运河、海峡(KR的撒哈拉铁路也是通过这个实现的)

Adjacencies之前先看一下简单的不可进入省份非军事区是怎么设置的吧

  • 不可进入省份/非军事区设置

还是打开nudge,选择state模式,找到你想设置为不可进入区的state,点击其中任意一个province,右下角打开open file打开该state文件

你也可以去钢丝本体文件里复制过来,用nudge的好处就是nudge会在文档目录下给你生成一个新的,不用去本体文件一个个找(尬吹ing)

在state文件下加上这行

可以看见整个state就被设置为不可通行了

如果有多个不可通行state相邻就会把不可通行线连一起,像这样

非军事区同理,不过换成下面这个代码

注意非军事区的代码写在state下history里,不可进入代码直接写state下面

这俩作用相同,唯一区别在非军事区可以在国策、事件等的取消,具体参考德国国策“进军莱茵兰”,而不可通行是不能更改的,除非你把那行代码删了

  • 设置不可通行线聪明的你可能注意到了,以上两个操作都是在state下进行的,但想要像原版一样指定某一段不可通行(喜马拉雅山,阿富汗走廊)需要怎么实现呢

这就需要用到Adjacencies,通常相邻相同类型的province彼此连接,陆地地格陆地地格相连,海洋地格海洋地格相连,如果需要人为禁止一些地格连接或者让一些相近的岛屿、海峡可以彼此通过,就需要修改Adjacencies

首先在原版本体文件,map文件夹下把这俩复制到文档目录

还是这个熟悉的位置

文本编辑软件打开adjacencies.csv(不要用Excel,可能使某些字符变成乱码)

adjacencies遵循下面的书写格式

黄色标注部分控制连接线图像位置,没什么特殊需求就填-1

province Aprovince B是要修改连接的两个province

类型,修改后的连接状态

主要有impassable(不可通过)、sea(跨海域)、river/large_river(跨河流)

途径province,指连接规则中,两个非相邻province之间,跨越的province(通常是海域)当途径province被封锁时(如这个格子被敌方占或者海域中有敌方舰队),这条连接规则不可用

如果两个province相邻,则这一栏为-1

邻接规则,填入设定的邻接规则id(后文会讲),如果没有则这一栏为空(直接打一个分号

注释,可以标注一下这条adjacencies的其他信息,提醒你为什么要写这条,这一栏为选填

cut-off

下面各举例一列设置不可通行线和岛屿连线的例子

  • 不可通行线

首先是不可通行线,添加在巴拿马边境达里恩沼泽,打开地图找到相邻province的id

然后根据上文的格式,在adjacencies.csv中下加一行

注意,adjacencies文件中必须以这一行做结尾,你可以像这样加入你的修改

后续有新增的部分请写在红色方框一行的上方

进入游戏就可以看见修改生效了

你可以将一个province和多个province间都设为不可通行,就像下面一样

这一段是安第斯山脉

  • 陆地连接线

然后是陆地连接线,像这样写

7630和10864之间会创建一个路径将它们连接,途径的海域地格是2547

注,当你新建了一个陆地或海域连接线时,务必记得创建新的单位运行动画

进入nudge,右上角切换units模式,左键点击设定连接线的province,为连接的两个province创建新的单位移动的动画

当然你也可以一个一个province慢慢修改,这里用最简便的自动生成,点击Auto in All生成动画后,点击Save保存,nudge会在文档下生成一个单位动画文件

unitstacks就是生成的文件

  • 运河和海峡

如果你要规定,不同条件下可以有选择地允许/禁止不同的单位(军队,舰队,运输船)使用某条adjacencies,你需要用到adjacency_rules

先来看一下海峡/跨海通道,首先在adjacencies中写一条普通的陆地连接线

33796350陆地province8340则是经过的海域province

“邻接规则”一栏,写入要启用adjacency_rules的ID

然后去adjacency_rules.txt中定义这条规则

name,规则id,可以在本地化中汉化

下面四个栏目下分别为四个不同状态下,军队,舰队,潜艇,运输船的允许/禁止通过设定

contested争夺状态(52译为战争状态),控制国与本国共同控制了一部分完全控制需要的province

enemy敌对状态,控制国与本国处于交战状态

friend友好状态,控制国为本国/控制国与本国同一阵营/本国有控制国的军通

neutral中立状态,默认为这个状态

required_provinces,完全控制需要的province

icon,图标位置(一般为海峡某一端,你也可以将它放到任意一个provinces哪怕它不在required_provinces当中)

offset,通过时速度修正,分别为军队,舰队,潜艇

is_disabled,满足条件时禁用这条adjacencies,格式为条件+tooltip(提示文本)

cut-off

记得设置units动画

然后去本地化规则id和相关的提示

进入游戏就可以看见了

但是要注意的是,如果海峡之间相距的海域超过了一个province邻接规则将会失效并且变为普通的adjacencies,只保留两岸的连接线而不能控制是否启用(例如英吉利海峡),想要解决这个问题你需要将海峡两岸的province合并为一个

province的细化我之后会出,保证不咕

cut-off

你还可以通过邻接规则将两片海域跨过一系列的陆地province连接,类似现实中的运河,在adjacencies中写一条海域连接线,两个province都是海域,途径运河的中途处(可以为陆地不能写-1)

然后将禁用条件前加not,变为需要满足条件才启用,如下

设置units动画(重要的事情说三遍)

本地化相应的提示

进入游戏就可以看见了

通过决议拓建南运河后,这条adjacencies被启用,法兰西舰队可以从地中海直接到大西洋了

  • 其他应用

adjacencies还可以写通过-1,将一些相距很远的province强行连接起来

可以帮你实现各种世纪大工程

例如撒哈拉大铁路

还是一样,先写adjacencies

注意,此时adjacencies类型为空

下面是相应的邻接规则

记得更新动画,这里略过了!

通过决议set global flag后

然后将文档下map文件放你mod目录下(那个熟悉的路径就不用再强调了吧)

cut-off
  • 关于“特殊规则”的一些建议以下摘自KR组在adjacency_rules下写的一些注释

我们将特殊规则分为以下4类,从最大限度开放到最小程度开放,

  1. 大海峡,争夺状态敌对状态允许潜艇通过,友好状态中立状态允许一切通过

  2. 小海峡,禁止敌对状态下一切通过,如果处于争夺状态则潜艇可以通过,友好状态中立状态允许一切通过

  3. 有特殊规则的运河,禁止争夺状态敌对状态下一切通过,友好状态中立状态允许一切通过

  4. 普通的运河,禁止争夺状态敌对状态下一切通过,中立状态只允许运输船通过,友好状态允许一切通过

cut-off

至此本期的内容就全部结束了

cut-off

接下来更新的内容会以province为主,难度会一天天变大,bug也会更加难修

(抓紧了,坐稳了)

依旧是看心情更新