作者iamcrazyforu (爱吃糖的猫)
看板Koei
标题[成吉] 成吉思汗4剧本修改汇总(4):城市
时间Sat Apr 7 21:52:18 2018
这一篇将介绍城市相关的修改。
除了特别说明的例外,进行任何修改时请注意下列几点事项:
1.请先预备修改所需的必要工具。(请参见:事前准备与各档案功能篇 #1Qmtu68b (Koei))
2.进行修改时,请以您的hex编辑软体打开档案,并将软体调整到hex编辑模式。
3.内文提到的「位址」全部以16进位表示。
4.在进行任何编辑後,请务必确认档案的字元数和原本没有差异。
城市规模上限
城市的规模与防御值上限,位於CKW95.exe执行档内,其位址如下:
城市规模 162E6、162FA、1FD7F,预设为8。
城市防御 161D8~161D9、85320~85321、B6239~B623A、B624B~B624C、1573BF~1573C0、
157490~157491、15AC85~15AC86、15B0A6~15B0A7、15BD57~15BD58,预设为800(16进位的
320,显示为20 03),最高可调整为999。
例如想要将大地图改为包含整个旧大陆与澳洲,为避免城市间过度拥挤,而把城市规模上
限改为6,则须将上述三个城市规模上限的位址的值由08改为06。
而若想要将城市防御改为900,就要将上述九个城市防御上限的位址改为84 03(就是十进
位的900)。
在修改规模与防御上限後,城市规模与防御的关系仍然是每提升100防御时提升规模1。
城市
各剧本中包含的城市数目,位於CKW95.exe执行档内,最多80个,其位址依各剧本分别为:
第一剧本 90ABB
第二剧本 90AC8
第三剧本 90ACF
第四剧本 90AD6
例如第三剧本的的原有城市数为54个(16进位为36),若想要增加为56个,就要将90ACF从36
改为38(就是十进位的56)。
这里必须注意,剧本内的城市数与城市资料的长度必须与执行档一致,否则会当机。
若有强者愿意开发编辑器,建议可以在读取剧本档时先请使用者输入剧本内国家与城市数
作为剧本档案是否有效的检查。
(若对城市的资料标准化,虽然游戏可以正常读取,但是因为剧本选单中对第一个国家的武
将数的判断,是以最後一个有效城市後面的资料长度为基准,如果放入空白城市,会造成
选单中第一个国家显示的武将数大幅膨胀的bug)
城市的资料在剧本档SCEDAT1~4.ck中的位置,在各剧本的国家资料之後,因此没有固定位
址。各城市在剧本档中排列的顺序,就是在武将资料中的城市编号,编号从00开始。
每座城市的资料长度固定为61 byte,但由於在各剧本中包含的城市数不同,所有城市的资
料在剧本档中的字元总数通常不会相同,并且可以依国家数的增减而变动。城市资料的格
式如下:
aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa
aa aa aa aa aa bb cc dd ee ee ff ff gg gg hh hh
ii ii jj 00 kk 00 ll mm mm mm mm mm mm mm mm mm
mm nn nn nn nn nn nn nn nn oo oo oo pp
其中:
aa为城市名称,共21个 byte,最多可容纳10个全形字,在最後一个字的後面一个byte要放
入16进位码00,如果不到10个字,後面用空白(16进位码20)填补。
bb为城市的固定编号,通常同一个城市在各剧本档内的固定编号相同。会影响与城市相关
的事件的触发,建议在同一剧本内不要重复。
cc为城市所属国家编号,就是各国的资料在剧本档中排列的顺序。(注意:是国家编号,不
是固定编号)
dd为城市规模。
ee为城市防御,最小为1,最大800(16进位的320,显示为20 03),请配合城市规模修改。
ff为城市金钱,最大50,000(16进位的C350,显示为50 C3)。
gg为城市粮食,最大50,000(16进位的C350,显示为50 C3)。
hh为城市兵力,最大50,000(16进位的C350,显示为50 C3)。
ii为城市伤兵数,最大50,000(16进位的C350,显示为50 C3),剧本开始通常都设为0。
jj为城市位置的X座标。
kk为城市位置的Y座标。(座标的部份会在後面的段落一并说明)
ll为城市所属文化圈代码。
mm为城市的文化值,依十种文化值的代码顺序排列,各种文化值的代码请参见共通设定篇。
nn为城市拥有宝物的编号,每座城最多可以拥有8种,不满8种的部分请补上十六进位码50。
各种宝物的编号规则会在後面的妃子与宝物篇介绍。
例如一个城市拥有3种宝物,分别为宝物00、08、79(十六进位的4F),这一段就会显示为:
00 08 4F 50 50 50 50 50
oo为城市的可编组兵种。其中:
第一个byte控制编号00~07的兵种,在可编组兵种00~03时,分别将其个位数+1、+2、+4、
+8、可编组兵种04~07时,分别将十位数+1、+2、+4、+8
第二个byte控制编号08~15的兵种,在可编组兵种08~11时,分别将其个位数+1、+2、+4、
+8、可编组兵种12~15时,分别将十位数+1、+2、+4、+8
第三个byte控制编号16~23的兵种,在可编组兵种16~19时,分别将其个位数+1、+2、+4、
+8、可编组兵种20~23时,分别将十位数+1、+2、+4、+8
兵种编号就是各兵种资料在剧本档中的排列顺序,从00到23。
例如,第四剧本中帖古雷特的可编组兵种显示为81 40 0C,显示了在帖古雷特可编组的兵
种为:
兵种00~03段–兵种00(预设是轻步兵)
兵种04~07段–兵种07(预设是短弓兵)
兵种08~11段–无
兵种12~15段–兵种14(预设是轻弓骑兵)
兵种16~19段–兵种18(预设是骆驼兵)、兵种19(预设是象兵)
兵种20~24段–无
若是要让帖古雷特可编组的兵种中加入兵种01(重步兵)、兵种02(长枪兵)、兵种15(狩猎骑
兵),就要将第一个byte个位数的值+2再+4,第二个byte的十位数的值+8,
转换为16进位後,可得帖古雷特的可编组兵种资料就会变成87 C0 0C。
pp不明,在剧本中的值皆为00。
若要增加新城市,在剧本档内只要在原本的最後一个城市後面插入61个byte,填入各项设
定即可。
内建城市
游戏中80个内建城市名称资料的位置,在CKW95.exe执行档的位址1D8DC0~1D9087。如果要
把字数由多改少,可以在後面补上空白(16进位码20)。
其中,名称可容纳6个全形字的有1个、可容纳5个全形字的有4个、可容纳4个全形字的有13
个、可容纳3个全形字的有29个、可容纳2个全形字的有33个。
内建城市座标资料的位置,在CKW95.exe执行档的位址1D8B40~1D8C7F,每组座标资料的格
式为xx 00 yy 00(xx指内建城市的x座标,yy指内建城市的y座标,下一段会对座标进行完
整介绍)
须注意座标资料的排序和名称资料相反,第一组座标资料对应的是最後一组名称资料。
例如名称资料中的第二个是阿纽拉德普勒,对应的座标资料就是座标资料中倒数第二组的
A3 00 D9 00(换成十进位可知此内建城市的座标为163,217)。
座标
游戏的大地图大小为250×225格,故x座标的范围从0~249,y座标的范围从0~224。座标的
原点在地图左上角,x轴的方向以右为正,y轴的方向以下为正。
座标的排列是菱形穿插,下面以地图最左上的25格为例:
0,0 0,1 0,2 0,3 0,4
1,0 1,1 1,2 1,3 1,4
2,0 2,1 2,2 2,3 2,4
3,0 3,1 3,2 3,3 3,4
4,0 4,1 4,2 4,3 4,4
改变城市座标请先注意当地地形是否可建设建筑物。
另外,
改变剧本SCEDAT1~4.ck内既有城市的座标,需要一并更动对应的MAPVAR1~4.ck建筑
设定档(MAPVARx.ck对应的就是第x剧本的设定),否则会出现bug,说明如下:
城市所在的位置在建筑设定档中,那一个座标上应该要有一座建筑物「城市入口」,部队
的进出和对城市的扩建都需要此建筑正确设定在城市的座标上。
在MAPVAR1~4.ck建筑设定档中,从位址0000B以後的168,750个byte为各座标上的建筑与道
路资讯,每一座标的资料有3 byte,其排列为先右再下,即放完(0,0)至(0,249)以後,接
下来放(1,0)至(1,249)的资料。
如果要快速寻找某个座标(X,Y)的资料位址,可利用下列公式进行:
座标(X,Y)资料的第一个byte的十进位位址=11+(3×X+750×Y)
将得到的位址由十进位转为16进位,即可得到(X,Y)正确的资料位址。
一个座标若为城市之所在(即有「城市入口」建筑),在建筑设定档中的代码为:00 01 FF
其他建筑物与道路的设定,会在地图修改篇继续介绍。
随机城市命名
在自建新国家、或玩家在游戏中不在内建城市地点新建城市时,委任电脑命名城市的候选
名称列表,在NEWNAME.ck档案的位址C98以後,其排列顺序应是按地区编号。
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 111.243.56.172
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Koei/M.1523109140.A.C40.html
1F:推 cito: 推 04/07 22:12
※ 编辑: iamcrazyforu (111.243.56.172), 04/07/2018 22:30:15
2F:推 Batou: 先推再看 04/08 00:20
3F:推 Batou: 城市兵种那边之前自己看了好久都没看懂 原来是这样... 04/08 01:47
4F:→ Batou: 想请问i大 知道特殊人物兵种加成效果是写在执行档的哪里吗 04/08 01:51
5F:→ iamcrazyforu: 类似城市兵种这样的格式在武将修改还会见到 04/12 22:36
6F:→ iamcrazyforu: 另外兵种加成的部分,目前还不知道位址。 04/12 22:37
※ 编辑: iamcrazyforu (140.112.112.64), 04/16/2018 15:10:02
※ 编辑: iamcrazyforu (114.32.177.32), 10/07/2018 20:45:00