作者: wnas1980

昨晚测试了新增兵种番号发现还有若干问题无法解决,所以今天先发布自设兵种的替换法修改教程,替换法就是替换原有的兵种,如游戏中和各剧本不常出现,甚至打通关都碰不到的兵种,如鳄鱼,熊等,我们将其改成自己独有的兵种,只要看懂我的修改法那么带上一队霸王项羽或刘邦也是轻而易举的事,好了言归正传,教程开始:

首先,我希望大家知道在Shape003.pck的分目录BFSpec文件夹中有大量隐藏兵种和霸王在临的强力兵种,用RPG908解包该文件夹存在Shape文件夹中备用,然后调些喜欢的兵种将兵种图片组全部复制覆盖到欲替换兵种的文件夹内,方法如下:

假如我们不喜欢69号兵种鳄鱼,那么用RPG908解包shape003.pck,并查找中意的兵种(点击DDON----压缩包操作----高级,解包BFSpec下所有图片组),并将选好兵种的图片组保存到群7主目录下的Shape-----BFObj-----BFSoldier文件夹,在此目录下新建个069文件夹,把新兵种图片组全部粘贴进来,这样的好处在于不需要新兵种的时候可以将整个文件夹删除,这样游戏就会默认原有兵种,好了,现在开始说说自改兵种的方法:

第一步:

在Setting文件夹---OBD目录下存放的全部是数据源文件,找到BFsoldier.obd文件用记事本打开会看到很多代码和数据,大家只要注意以下代码,其它的可以无视,现在我们熟悉下ODB文件的命令参数。

[OBJECT]

Name = ?˙?-----------------此为兵种名称

Sequence = 70069----------------此为兵种编号

Space = 0, 100, 0--------------很重要的一项,模型定位(这里要说下,此项影响模型在游戏中的位置,0,100,0分别是左,右,中,如果觉得模型在游戏中偏上脱离地面就调少数值,偏下则调高。)

Process = BF_CLASS_BFSoldier---------------此为数据库连接位置可以无视

Directory = BFObjBFSoldier01-------------------这点很重要,为此模型的存放地址。

Sprite = Wait, w010001, #12, w010002, #12, w010003, #12, w010004, #12, w010003, w010002----------------此项为模型在游戏中的待机动作(这里要说明一点,在BFSpec目录下的隐藏兵种全部为w0001的编号组,而正规兵种则是以w010001的编号编写,所以我们在导入新兵种时一定要在待机编号前面加上01,否则进入游戏很可能显示原兵种模型)。

Sprite = Walk, r010001, #5, r010002, #5, r010003, #5, r010004, #5, r010005, #5, r010006, #5, r010007, #5, r010008, #5---------------此项为兵种冲锋编号组(替换新兵种此项无须改动)

Sprite = Attack1, a010001, #5, a010002, #5, a010003, #5, a010004, #5, a010005, @SP_EVENT_ACT_ATTACK, #5, a010006, #5, a010007, #5, a010008, #5, a010008, @SP_EVENT_ACT_WAIT---------------此项为兵种攻击编号组(新兵种的攻击编号组为atk1,切记要改成ATTACK1,否则替换的新兵在游戏里没有攻击动作)

Sprite = Attack2, a020001, #5, a020002, #5, a020003, #5, a020004, #5, a020005, @SP_EVENT_ACT_ATTACK, #5, a020006, #5, a020007, #5, a020008, #5, a020008, @SP_EVENT_ACT_WAIT----------------此项为第二攻击动作(同上)

Sprite = SAttack1, a010001, #5, a010002, #5, a010003, #5, a010004, #5, a010005, @SP_EVENT_ACT_CHECK, #5, a010006, #5, a010007, #5, a010008, #5, a010008, @SP_EVENT_ACT_WAIT---------------此项为副武器攻击编组号,如禁卫的飞刀等

Sprite = SAttack2, a020001, #5, a020002, #5, a020003, #5, a020004, #5, a020005, @SP_EVENT_ACT_CHECK, #5, a020006, #5, a020007, #5, a020008, #5, a020008, @SP_EVENT_ACT_WAIT---------------同上

Sprite = Defend, d010001, d010002, #5, d010002, @SP_EVENT_ACT_WAIT-----------此项为兵种防御编号组,如神刀兵的盾防等

Sprite = Hurt, h010001, #5, h010002, #5, h010002, @SP_EVENT_ACT_WAIT-----------此项为静止动作

Sprite = Die1, f010001, #5, f010002, #5, f010003, #5, f010004, #5, f010005, #90, f010005, @SP_EVENT_ACT_FADEOUT

Sprite = Die2, f020001, #5, f020002, #5, f020003, #5, f020004, #5, f020005, #90, f020005, @SP_EVENT_ACT_FADEOUT

Sprite = Die3, f030001, #5, f030002, #5, f030003, #5, f030004, #5, f030005, #90, f030005, @SP_EVENT_ACT_FADEOUT

Sprite = Die4, f040001, #5, f040002, #90, f040002, @SP_EVENT_ACT_FADEOUT

Sprite = Die5, f050001, #5, f050002, #5, f050003, #5, f050004, #5, f050005, #90, f050005, @SP_EVENT_ACT_FADEOUT---------------------此5项为兵种死亡编号组,如被杀时的模型动作(1-5是5种死法,如新兵就1种死法可将其余4项删除)

;Sprite = WalkHorse, r020001, #5, r020002, #5, r020003, #5, r020004, #5, r020005, #5, r020006, #5, r020007, #5, r020008, #5, r020008, @SP_EVENT_ACT_FADEOUT---------此项可以无视。

你可以打开BFspec.odb找到新兵种的编号地址,将第6行的Sprite = WALK以下一直到;Sprite = WalkHorse, r020001, #5, r020002, #5, r020003, #5, r020004, #5, r020005, #5, r020006, #5, r020007, #5, r020008, #5, r020008, @SP_EVENT_ACT_FADEOUT复制,然后在打开BFSoldier.odb找到需要修改的兵种编号将原数据覆盖,这样省去手动改数据的麻烦。