|
前言:因为发现关于将军的MOD制作目前没找到什么比较好的制作教程,而很多MOD爱好者想要自行制作却苦于没有经验,于是今天有空就写了这篇示例,主要是为了让许多想要制作MOD的朋友可以得到一些启发,能够使用工具做一些感兴趣的MOD。又因为之前在3dm得到许多好的资源,无以为报,就写了这么一贴,希望能帮助到大家,同时也希望能够让更多的人能自己做一些修改,减轻四姐及其他几位高手的负担,起到抛砖引玉的作用。好了,进入主题! 工具:PFM1.7.10(在下使用的版本,最新的2.0.2版本好像有些bug,因此使用1.7.10)可以到TWC自行下载,地址如下,发布的版本可能随时有所变化: 步骤一、数据结构导出 要创建一个新单位,可以从原始文件中提取数据结构,在此基础上进行修改而来。可以从安装文件夹的Data目录中读取一个原版pack文件来提取,本例中读取了patch7.pack,读取后文件结构如下图所示。 以下是创建一个新单位所需的文件,我附上一些简要说明: db\battle_entities_tables\battle_entities(单位作战时的模型参数,比如走路速度等等。非必须的。如果你想让你的陆战单位变成草上飞的话就带上这个文件吧) db\building_units_allowed_tables\building_units_allowed(单位可以招募的条件。必须的。废话!要不新建的单位到哪里去招啊?) db\projectiles_tables\projectiles(远程单位的作战参数,比如射程、攻击力等。非必须的) db\uniforms_tables\uniforms(核心的,新建单位的标识号。如果我说这个非必须的有人信么) db\unit_stats_land_tables\unit_stats_land(单位的数量、盔甲、攻防等参数文件。必须的) db\unit_to_unit_abilities_junctions_tables\unit_to_unit_abilities_junctions(单位的特殊技能,比如突进、固守等。非必须的,如果没有的话,新单位仍然会拥有一些基本技能) db\units_tables\units(单位的价格、用度等等。必须的) db\units_to_exclusive_faction_permissions_tables\units_to_exclusive_faction_permissions(家族所属。比如新建的单位属于哪个势力独有。必须的) 将以上文件全部导出到某个文件夹中,最好是启动PFM时选择的文件夹。本例中为E:\MOD 选择指定的文件,按Ctrl + X 即可导出,如图所示: 导出后的文件列表如下图所示: 到此,准备工作就基本OK了,下面可以新建MOD文件了。 步骤二、新建MOD文件,导入数据结构 新建一个MOD文件,注意一定要先将MOD类型改为Movie,如下图所示: 然后保存该文件,请允许我命名为mod_3dm_oda.pack。用织田家示例好了。下面就是将上一步导出的数据结构导入到这个文件中。如下图添加目录即可。添加的目录就是上一步导出的E:\MOD\db文件夹。 文件导入之后,应该变为如下图所示的结构,其中的数据则是由原版patch7.pack文件中而来的基础数据。保存这个文件,下一步可以开始建立新单位了。 步骤三、选择指定目标克隆单位,删除不用的行 首先修改db\uniforms_tables\uniforms这个文件,这里将产生一个新单位的标识号,这个号将用于其它各文件中,起数据关联作用。如下图所示,只保留了三行,将其余的行全部删除。保留的这三个分别是武田赤备、长宗大弓和伊达金枪。因为分别是骑兵、弓兵和步兵,又是特有兵种,所以比较有代表性。而且都位于列表底部比较好找。(本来想用女武士三大妈队示例的,想想还是算了)。 下面将上图中的三个兵种重命名以克隆出三个新单位。而这三个新单位的模型以及兵牌全部继承自原模型,新单位的性能则完全取决于后面的修改。(对模型的修改超出了本例的范围,暂不说明)本例中,在这三个兵种的标识号后面加个后缀_N改为自定义单位。注意上图中红色与蓝色标识的列都要修改,其余不动。修改后如下图所示。注意蓝色框中的Unit ID Ref就是新兵种ID,要用到其它文件中去。 步骤四、设置单位所属 这一步将修改db\units_to_exclusive_faction_permissions_tables\units_to_exclusive_faction_permissions文件,同样只保留 UP1_Cav_Spear_Fire_Cavalry_Takeda UP1_Inf_Missile_Daikyu_Samurai_Chosokabe UP1_Inf_Spear_Yari_Bulletproof_Samurai_Date这三行,其余删除掉。 然后把这三行的Unit ID Ref列分别改为以下文字,即上一步蓝色框中的标识号: UP1_Cav_Spear_Fire_Cavalry_Takeda_N UP1_Inf_Missile_Daikyu_Samurai_Chosokabe_N UP1_Inf_Spear_Yari_Bulletproof_Samurai_Date_N 同时将第二列全部改为oda,这样就只有织田家可以招募这三个新单位了。(如果要改为其它势力,只要参考该文件中各势力的标识即可,如takeda武田、date伊达、uesugi上杉… 改好后如下图所示: 步骤五、设置招募条件 这一步将修改db\building_units_allowed_tables\building_units_allowed文件。同样是删除掉不用的行,保留新单位需要的行。其中要说明的是第一列表示的是1至5级城堡,即从馆到天守阁都可以招募。(此列的标识文字可以参考该文件的原始数据,有各种建筑的标识,本例中只用了5级城堡)。第二列蓝框部分不用多言,对应新单位标识号,第三列Experience则是各级城堡招募该单位的经验,最高9。需要注意的绿色部分,这个编号需要修改,因为原单位的这个字段通常是4位数,因此这里可以修改为5位数以防重复。看图: 步骤六、设置单位招募费用及用度 这一步将修改db\units_tables\units文件。同样删除掉不用的行,只保留新单位的三行,加上后缀修改为新单位的标识号,如下图所示: 该文件要说明的有以下几列:Cost:招募费用、Upkeep:用度、Campaign_Map_Action_Points:应该是单位在战略地图上的移动距离,未验证。大致就这几列的参数需要修改一下。 步骤七、设置单位的特殊技能 这一步将修改db\unit_to_unit_abilities_junctions_tables\unit_to_unit_abilities_junctions文件。删除不用的行,保留有用的技能,把标识号改为新单位的标识号即可。技能的标识可参考文件原始数据,注意兵种的技能不要选错,比如给枪兵来一个三段击什么的,不知道会怎么样,而给枪兵来个万岁突击则不错。 步骤八、设置单位的详细参数 这一步是重点,要修改的是db\unit_stats_land_tables\unit_stats_land文件。首先删除不用的行,保留要修改的三行,并将标识修改为新单位的标识号。如下图所示: 下面是一些关键字段的说明:Unit Size:单位规模,即人数。系数是0.75(以游戏中默认的部队人数设置为准,即枪足轻150人),也就是说上图中的Unit Size中80乘以0.75得到60人,如果改为200,乘以0.75则为150人。如果是骑兵的话,要注意Number of Horses这一列,马的数量也要相应修改,否则人多马少到时候大家难堪。Amor Value:盔甲、Accuracy:准确度、Reloading Skill:装填技能、Ammo:弹药量、Melee Weapon:近战用武器、Melee Skill:近攻、Defence skill:近防、Charge Bonus:冲锋加成。而骑兵特有的下马攻防应该是Dismounted Melee skill和Dismounted Defence skill这个未验证。Morale:士气、AntiCavalry Bonus:对骑兵加成。基本就这些比较重要,当然还有一些技能也在这个文件中,比如防止士气低落、可隐藏于树林等等。 下面将要修改远程部队特有属性。这个稍有一些麻烦,容我说明:简单的说就是用db\unit_stats_land_tables\unit_stats_land的ProjectileID Ref字段的值对应db\projectiles_tables\projectiles文件的第一列标识号。当然这个值要加个后缀变成新单位的专用值。如下图先将大弓武士的Projectile ID Ref字段值改为shogun_arrow_daikyu_N。而其它两个单位因为不是远程单位所以没有值。 然后打开db\projectiles_tables\projectiles文件。找到shogun_arrow_daikyu这一行,其余全删除。将这个值改为shogun_arrow_daikyu_N,即与上图db\unit_stats_land_tables\unit_stats_land中的值对应起来,如下图 下面就可以修改参数了。说明如下:Range:射程、Velocity:射速、Damage:远程伤害(一般铁炮为2,弓0.3至0.4,这里改为1的话就相当凶狠了)。而前面的Type、Shot Type、Missile type等是表示射出的是箭矢、炮弹或是手炮,改动的话要当心,而Explosion表示远程武器落地效果,比如射出的是箭矢落地后像炮弹一样炸开的效果则可以在这个字段修改。不要太狠,否则人家的小城被你炸到鸡飞狗跳,那场面真是太惨了。 下面将要修改地面部队模型属性,与上面这个差不多,简单的说就是用db\unit_stats_land_tables\unit_stats_land的InfantryBattle Entity字段的值对应db\battle_entities_tables\battle_entities文件的第一列标识号。无关的行全删除。 其中:Walk1、Run1等就是战场上单位的走路和跑步的速度,Charge应该是冲锋速度,未验证。其它的值未研究。如果对这些不关心的话,可以直接删除db\battle_entities_tables\battle_entities这个文件,db\unit_stats_land_tables\unit_stats_land的InfantryBattle Entity字段的值也不用修改。远程单位的projectiles文件同理。 好了,这样就大功告成了,这三个单位就可以在织田家用了,等等,还没有名字,对了,游戏中要给它们一个名字显示,下面就是最后一步了。 步骤九、给单位命名 命名文件就是text/db/units.loc文件,为了防止其它单位的名称不显示,应该给units.loc文件改个名,本例中改为units_n.loc。这个文件可以从附件的示例pack文件中提取,因为我不太会新建这个文件。 命名的规则是:Tag列:units_on_screen_name_加上新单位的标识号,即改为: units_on_screen_name_UP1_Cav_Spear_Fire_Cavalry_Takeda_N units_on_screen_name_UP1_Inf_Missile_Daikyu_Samurai_Chosokabe_N units_on_screen_name_UP1_Inf_Spear_Yari_Bulletproof_Samurai_Date_N 后面一列写上中文名称就可以了。保存后将这个pack拷到游戏安装目录的Data文件夹中,进游戏用织田家就可以发现初始的一级城堡就可以看到这几个新单位了,但是可能需要一些条件才能招募,比如马舍、弓术靶场等。如果进游戏看不到新单位的话,请检查MOD类型是否是Movie型,以及是否选择了正确的势力。 本文结束。水战单位需要的文件则全然不同,如有需要以后将为大家献上。谢谢大家!谢谢3dm!谢绝游2X
|