一、前期准备:
1.Reloaded-II以及其他依赖项 用于加载mod和启动游戏(很多地方都有资源,我这里就不提供了)
2.DSTSTools-win64.v2.0.0-alpha4 解包工具。用来解包mvgl文件,将mbe转csv
3.notepad++ 用来编辑csv文件
4.随便找一个模组下载,解压缩后可以看到一级目录有Preview.png(Reloaded-II的模组图片)、ModConfig.json(Reloaded-II的模组配置文件)和dsts-loader文件夹(我们需要修改的内容)
5.解包steam游戏目录下时空异客的app_0.dx11.mvgl(解包后40G)、patch.dx11.mvgl(解包后约4G)和patch_text11.dx11.mvgl。这里说明一下,patch_text11.dx11.mvgl是中文翻译的游戏文本。如果你想做多国语言的游戏模组,我这里简单提供一下各语言对应的文件名(我问的AI,我也不知道是否完全正确):patch_text00=日语,patch_text01=英语,patch_text02=法语,patch_text03=西班牙语,patch_text04=德语,patch_text05=意大利语,patch_text07=葡萄牙语,patch_text09=韩语,patch_text10=繁体中文,patch_text11=简体中文,patch_text30=西班牙语(AI说西班牙语有拉美和欧美两个版本,我这里也不细究03和30有何异同了)。因为我们做的是中文的模组,所以解包patch_text11.dx11.mvgl即可
6.mbe转csv。我们需要用到的mbe文件有:
app_0\data\model_outline.mbe
patch\data\anim_setting.mbe
patch\data\battle_skill.mbe
patch\data\char_info.mbe
patch\data\digimon_status.mbe
patch\data\evolution.mbe
patch\data\lod_chara.mbe
patch\data\model_setting.mbe
patch_text11\text\belong.mbe
patch_text11\text\char_name.mbe
patch_text11\text\digimon_profile.mbe
patch_text11\text\skill_name.mbe
二、修改数据,创造一只新的数码兽
1.首先,你要明确你想做哪只数码兽。我这里提供一个【数码兽编号对照表】。你用excel打开,可以看到B列是我添加的数码兽中文名,C列是数码兽的名称,D列是数码兽的编号。以下,我将以蔷薇兽和蔷薇兽BM举例,逐步教会你如何制作一只新数码兽。
查表得知,蔷薇兽的编号是chr057,蔷薇兽BM的编号是chr779。记住这两个编号,我们后面会频繁用到。
当然,我们制作的新数码兽不能和原版数码兽的编号(以及名称)重复,所以我们这里需要给我们的新数码兽设定两个编号:chr654057和chr654779(这里只是举例,只要不和原版数码兽编号冲突即可)。
名称的话,蔷薇兽和蔷薇兽BM的名称分别是char_ROSEMON和char_ROSEMON_BM,那么我就给新的蔷薇兽和蔷薇兽BM命名为char_ROSEMON_S和char_ROSEMON_BM_S。
2.修改dsts-loader\patch\data\char_info.mbe目录下的000_char_info.ap.csv文件
这里说一下,我是通过研究其他人制作的模组学会制作新数码兽的。但我并不清楚他们的csv文件里为什么带有.ap,不过有所区别的话,可能更容易理解一点。
通过查找解包得到的char_info\char_info.mbe\000_char_info.csv文件,可以得到蔷薇兽和蔷薇兽BM的数据:
"char_ROSEMON",,,"chr057","1057",,1,0,"yfc001",0,"mpc057",0,"",0
"char_ROSEMON_BM",,,"chr779","1779",,1,0,"yfc001",0,"",0,"",0
我们这里修改数码兽名称和数码兽编号即可。也就是改成:
"char_ROSEMON_S",,,"chr654057","654057",,1,0,"yfc001",0,"mpc057",0,"",0
"char_ROSEMON_BM_S",,,"chr654779","654779",,1,0,"yfc001",0,"",0,"",0记住,修改csv文件一定要用notepad++
3.重点来了,修改dsts-loader\patch\data\digimon_status.mbe目录下的000_digimon_status_data.ap.csv文件
通过查找解包得到的digimon_status\digimon_status.mbe\000_digimon_status_data.csv文件,可以得到蔷薇兽和蔷薇兽BM的数据:
57,,"char_ROSEMON","chr057",6,0,1,0,1,0,1,4,0,3,0,0,0,0,,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,1,false,false,false,false,false,false,false,false,false,10,1,99,1463,1024,575,690,1320,1325,785,4,20571,,1,20572,,2,0,,3,0,,3,0,,3,0,,3,0,,3,0,,3,0,,3,0,,3,0,,3,0,,3,31022,,2,30273,,25,34051,,35,30323,,45,3,3,4,0,true,false,20571,,174,38,48,367,57,-1,0,-1
779,,"char_ROSEMON_BM","chr779",7,0,1,0,1,0,1,4,0,3,0,0,0,0,,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,1,false,false,false,false,false,false,false,false,false,10,1,99,2100,960,610,920,1810,1800,920,4,27791,,1,27792,,2,0,,3,0,,3,0,,3,0,,3,0,,3,0,,3,0,,3,0,,3,0,,3,0,,3,32081,,2,30273,,25,31012,,35,30323,,45,4,3,4,0,true,false,27791,,218,95,154,441,779,-1,0,-1
数据很长,内容很多,你需要结合【用excel/WPS打开的000_digimon_status_data.csv】才能更好地理解我们要修改什么东西。
A列是序号,但我们为了和数码兽编号统一,这里改成654057和654779
C列是数码兽名称,需要和000_char_info.csv文件里面数码兽名称相同,也就是char_ROSEMON_S和char_ROSEMON_BM_S
D列是数码兽编号,也要和000_char_info.csv文件里面数码兽编号相同,也就是chr654057和chr654779
E列是数码兽等阶。1=幼年期1,2=幼年期2,3=成长期,4=成熟期,5=完全体,6=究极体,7=超究极体,8=一般装甲体,9=究极体的装甲体(如金甲龙兽),10=混合体·人(如火神兽),11=混合体·兽(如炎龙兽),12=混合体·双魂(如阿尔达兽),13=混合体·超魂(如凯撒暴龙兽)
F列似乎是【剧情用数码兽】的标识,我们这一项不修改(保持0)即可
G列到R列,我不清楚是什么东西,不修改
T列:是否为皇家骑士;U列:是否为奥林匹斯神;V列:是否为七大魔王;后面还有一大堆的bool数,我也不知道是什么意思。我知道的话就提一下,但不一定正确。
AI列=矿石,AJ列=虫,AK列=植物,AN列=神人,AP列=天使,AT列=鸟,AU列=蛙
BJ列(数值范围0~16)我不知道是什么东西
BK列我猜测是最低等级,BL列我猜测是最高等级,因为所有BK列的值都是1,所有BL列的值都是99。我不清楚这里修改数值后会发生什么
BM列:HP种族值。就是打开图鉴看到的那个数码兽1级时的属性,修改这些属性可以影响进化或退化后的数码兽的白值。下同
BN列:SP种族值。
BO、BP、BQ、BR、BS列分别是攻击力/防御力/智力/精神/敏捷的种族值。不过我这个没怎么修改,不清楚顺序是否正确
BT列:我不知道是什么东西,只知道数值0~16
BU列:一技能的技能编号(特殊技能,下同)
BX列:二技能的技能编号
CA列:三技能的技能编号
CD列:四技能的技能编号。最多四个特殊技能。技能怎么修改我们后面还会讲到EB列:图鉴排序。这一项也就是该数码兽在图鉴中的排序(NO.多少)。不和其他数码兽重复即可。我这里写801和802
EC列:也和数码兽的编号有关。这一项改成和序号相同的数值即可,也就是654057和654779。到这里,我们的000_digimon_status_data.ap.csv文件就修改完了。一定要结合excel表在notepad++里修改
4.修改dsts-loader\patch\data\evolution.mbe目录下的000_evolution_condition.ap.csv和001_evolution_to.ap.csv
(1)000_evolution_condition.ap.csv
这个表可以设定进化条件。同样结合excel表来修改:
A列是序号,我们也写654057和654779就可以了
C列是进化需求的探员等级
E列是进化需求的HP,F列是进化需求的SP
G列是进化需求的攻击力,H列是进化需求的防御力,I列是进化需求的智力,J列是进化需求的精神,K列是进化需求的敏捷
Y列是合体素材一的编号,AA列是合体素材一的性格要求;AB列是合体素材二的编号,AD列是合体素材二的性格要求。
还有更多更复杂的进化条件,但我就不研究了
(2)001_evolution_to.ap.csv
这个表是进化关系表。注意,只有进化关系,没有退化关系。
A也是序号,但这里的序号和其他表的序号不同,不需要严格对应数码兽的编号(不和该表已有的编号重复即可)。
B是数码兽的编号,D是进化的数码兽的编号。
我如果设定蔷薇兽BM进化为蔷薇兽S的话,
那么就这样写:
555101,779,,654057,,0,-1,-1,-1,-1,-1
F列表示模式转换。0表示正常的进化关系(进化后变成1级),2表示该进化属于模式转换(保留等级)
这张表其他的数据不需要改。另外,evolution.mbe文件夹下面还有一个002_chronodevolution.ap.csv文件。我猜测它是剧情数码兽的进化路线(比如说八年前是贝壳兽,然后八年后是维纳斯兽),因为里面都是固定的进化路线。但我不确定啊。不过我们也不需要修改这个文件,删掉或者只保留表头那一行都行
5.又是重点,修改dsts-loader\patch\data\battle_skill.mbe目录下的文件
battle_skill\battle_skill.mbe文件夹里有八个表,似乎每个表都挺重要的。但我只研究了000_battle_skill_list.ap.csv和003_skill_mode_change.ap.csv。
(1)000_battle_skill_list.ap.csv
这个表就是设定技能的,还是需要结合excel表来修改
A列是技能编号。比如说蔷薇兽的一技能编号是20571,二技能编号是20572。这里可以看出一点命名规律。不过我们可以随便命名,只要不和已有的技能编号重复即可(如620571和620572都可以的)。注意,这个技能编号就是我们之前修改的【000_digimon_status_data.csv】文件的BU/BX/CA/CD列需要填写的值。我这里以620571和620572为例(以蔷薇兽的一技能和二技能为模板,做新蔷薇兽的技能。因为涉及技能动画,所以必须要以原技能作为模板。随便写的话,就没有特殊动画,只有一个普通攻击的动作)E列的值和A列相同。如620571和620572
F列我不知道是什么,但它的值只有-1和技能编号的值
G列和M列是原技能的技能编号。如20571和20572
J列和Q列可能涉及其他技能相关的表,我这里没有过多研究,保持原来的数值
W列设定技能属于物理攻击还是魔法攻击。1是物理,2是魔法
X列是技能威力。Y列我不清楚是什么,但只有0和100两种情况
AC列是技能属性。0=无,1=火,2=冰,3=草木,4=水,5=雷,6=钢,7=风,8=地面,9=光,10=暗。自己对照着修改就可以了
AD列是技能的因子加伤(增加对某种因子的伤害,伤害*1.5)。-1=没有,3=泰坦族,7=人,8=兽,9=鱼,10=灵,11=水,12=冰,13=火,14=钢,15=矿,16=虫,17=草,18=圣,19=魔,20=神,21=机械,22=天使,23=恐龙,24=龙,25=鬼,26=鸟,29=魔法,30=古代,31=宇宙,32=妖精,33=梦幻,34=骑士,35=战士,36=软体,37=硬体,38=不死,39=武装,41=不明。有很多种类。可能有遗漏和错误,实际情况以游戏为准
AH列是技能范围。1=敌方单体,2=我方单体,5=敌方全体,6=我方全体。除了这四种值外,还有4、7、8、9、10、11、12、13,但我没有继续研究这些值代表什么范围。
AI列是技能攻击次数的下限,AJ列是技能攻击次数的上限。比如说,【AI列=1,AJ列=1】表示攻击次数为1,【AI列=1,AJ列=5】表示这个技能会攻击1~5次。AI等于AJ就是固定次数,但不清楚AI的值如果大于AJ会发生什么(可能会出错,所以AI必须小于AJ的值)。备注:原版攻击次数最多是座天使兽的二技能(10次)
AK列技能消耗的SP。注意,游戏里的技能sp还会受到探员技能的影响,所以实战中发现数码兽使用的技能消耗的sp更少是正常的。不过,从图鉴里看到的技能sp是正确的数值
AN列是【该技能是否为必中技能】。0表示非必中技能,1表示必中技能。
AO列是技能命中率。值的范围在0~100之间即可。但我不确定【AN=1时,AO<100】会发生什么,所以必中技能的话,这里最好填100
AP不知道是什么,但只有0和1两种情况
AQ列似乎是CRT率(暴击率)。这一项我不太确定,因为有些技能的值是5,但技能描述上并没有写CRT(游戏会自动生成技能效果的描述,不需要自己写)。如果CRT率小于等于5%就没有描述的话,那么这一项肯定没错了
AR列是【恢复造成伤害X%的HP】,AS列是【恢复造成伤害X%的SP】。
AT列是【自己受到HP的X%的反作用力伤害】,如复仇基德兽(20%)和炽天使兽(100%,攻击后濒死)。可能描述有点歧义,但这个HP指的是使用技能的数码兽的HP(不是敌人的HP),所以炽天使兽的数值为100会在攻击后濒死。
AU列:13=如果打倒了对象,恢复【AY%】的HP(可能是好几个数据一起决定的,有点复杂就不整理了)
BC列:164000=100%下降火抗性,166000=100%下降草木抗性,172000=100%下降光抗性。还有更多的效果我没整理出来,需要的话自己去找类似的技能然后查数值
BJ列:模式转换相关。-1表示该技能无法进行模式转换。如果要设定模式转换的话,这里的值填写【003_skill_mode_change.csv】文件的A列数据。比如说:拉娜兽的一技能是21621,乌贼兽的二技能也是21621。但乌贼兽使用二技能会先变成拉娜兽,再使用拉娜兽的一技能。所以拉娜兽的一技能的BJ列的数据是1621(即拉娜兽编号后面加一个1)
BM列和BO列是战斗融合技能(如天女兽+女恶魔兽战斗中合体并使用莫斯提兽的技能),这里写合体素材的数码兽编号(参考技能27483),BL可能是开关。这里我没有过多研究
(2)003_skill_mode_change.ap.csv
这个文件用来设定战斗中的模式变更,但是需要结合000_battle_skill_list.ap.csv的BJ列一起修改。
A列是序号,数值是数码兽编号后面加一个1。比如说数码兽编号是654057和654779,那么这里的序号就写6540571和6547791。B列是数码兽编号。如654057和654779
G、I、K、M列分别填写该编号数码兽的四个特殊技能的编号,没有就填0。备注:非战斗中的模式切换在001_evolution_to.csv文件的F列里设定(我上面说过了)
6.其他csv文件
(1)dsts-loader\patch\data\anim_setting.mbe目录下的001_same_animation_data.ap.csv文件这个文件是设定数码兽复用动画的,比如说迪路兽和黑暗迪路兽的动画完全相同,那么就在这个文件里设定。当然,我们因为是使用原数码兽制作新数码兽,也是换皮,所以这个文件肯定要写。A列写新数码兽的编号chr654057,如;B列写原数码兽的编号,如chr057。(2)dsts-loader\patch\data\lod_chara.mbe目录下的000_lod.ap.csv和001_lod_model.ap.csv文件
我不太懂这两个文件是什么,但是它们的数据都很简单,改个编号即可。
000_lod.ap.csv写:"chr654057",20,65,500,0,0,0,0,0,0,0
001_lod_model.ap.csv写:"chr654057","","chr654057_LOD_2","","","","","","","",""
上面我只写了一只新蔷薇兽,还有一只新蔷薇兽BM没有写出来。
(3)dsts-loader\patch\data\model_setting.mbe目录下的000_model_setting.ap.csv文件
模型相关的内容。这个文件我没有研究过,但是需要修改的数据就只有A列的数码兽编号。如chr654057。
(4)dsts-loader\app_0\data\model_outline.mbe目录下的000_model_outline_battle.ap.csv文件。
我也不懂这个文件是什么,但改个编号即可,如chr654057。其他说明,有些数码兽可能没有这个数据(比如说蔷薇兽就没有,但是蔷薇兽BM有)
(5)dsts-loader\patch_text11\text\belong.mbe目录下的000_Sheet1.ap.csv文件。同样是修改A列的数码兽编号即可。注意,这里的内容只影响游戏中的文本显示,不会产生任何游戏效果(你把蔷薇兽改成圣骑士型,蔷薇兽也不会拥有骑士因子)
(6)dsts-loader\patch_text11\text\char_name.mbe目录下的000_Sheet1.ap.csv文件。这个文件是修改数码兽名称的。A列是之前我们在char_info.mbe文件里设定的数码兽名称,也就是char_ROSEMON_S和char_ROSEMON_BM_S,B列就是该数码兽的中文名称了,你随便怎么写都行,它只影响你在游戏中看到的文本
(7)dsts-loader\patch_text11\text\digimon_profile.mbe目录下的000_Sheet1.ap.csv文件。这个文件设定数码兽的介绍,你可以在图鉴—数码兽详情的第四页里看到这些文本内容。
(8)dsts-loader\patch_text11\text\skill_name.mbe目录下的000_Sheet1.ap.csv文件。这个文件设定技能的中文名称。比如说我们在上面设定了编号为620571和620572的两个技能,这个文件就是用来设定它在技能栏显示什么名字的。A列是技能编号,B列是中文名称
到这里,我们的csv文件就结束了。接下来是模型和贴图的文件。
还记得我们之前解包的app_0.dx11.mvgl吗?之前基本没用到,但是数码兽的模型文件和贴图文件全在这里面(patch.dx11.mvgl也有一点,但是不多)
三、贴图和模型
在我们之前解包app_0.dx11.mvgl得到的app_0文件夹里找到与原数码兽相关的文件。还是以蔷薇兽为例,蔷薇兽的数码兽编号是chr057,那么我们检索app_0文件夹,可以得到:
(1)前缀为cam_chr057_的一系列文件
(2)chr057.anim、chr057.geom、chr057.nlst文件
(3)前缀为chr057_的一系列文件
(4)前缀为chr057loc的一系列文件
(5)前缀为ef_b_chr057_的一系列文件
在app_0\images目录下寻找贴图文件:
(1)前缀为chr057的img文件.这些都是数码兽的各种贴图
(2)dot057.img文件。这个文件是蔷薇兽的像素小图,或者说就是进化履历那个小小的像素图(应该能理解吧?)
(3)ui_chara_icon_1057.img文件。这个文件是蔷薇兽的头像(各种界面显示的那个头像),别数码兽编号前面加一个1就认不出来了。
找完以上贴图和模型后,修改文件名:所有的057改成654057就可以了(ui_chara_icon_1057.img直接改成ui_chara_icon_654057.img就行)。
改完文件名后,将后缀为.anim、.geom、.nlst和.bson的文件放在dsts-loader\app_0目录下,所有后缀为.img的贴图文件放在dsts-loader\app_0\images目录下即可。
到这里,我们就简单完成了一只新数码兽的模组了。不需要打包,直接将整个文件夹(也就是包含Preview.png、ModConfig.json和dsts-loader文件夹的文件夹)复制进入Reloaded-II\Mods目录下测试即可。
这里说明一下,我对模型文件没多少研究,不太清楚如何编辑模型文件。我自己测试的话(只有chr057为前缀的.anim、.geom和.nlst文件),游戏中的新数码兽还是使用原数码兽的模型。我修改新数码兽的贴图文件无效,但修改原数码兽的贴图文件会同时影响新数码兽的贴图。这说明新数码兽使用的并非我修改文件名后的模型文件。这部分内容我后续还要研究。有懂的可以一起交流。
贴图文件的后缀名都是.img。但可以直接将.img改成.dds,再找个.dds转.png的网站转码就可以使用PS进行编辑了。改完后再转码回dds、重新修改后缀为img即可。
|