游民星空 > 攻略秘籍 > 攻略 > 正文

《战国无双2》战场事件修改初探

2008-10-02 21:12:37 来源:本站原创 作者:佚名 编辑:dsgames568 我要投稿

作者:phoenixst 


首先感谢van大的脚本文件。
战场文件开头是各部分的索引,08h便是事件部分相对文件开头的偏移。
事件部分开头也是个索引,每个数占四字节。第一个数是事件的总数,第二个数是“任务事件”的总数,第三个数是“非任务事件”的总数。特别地,贵重品任务是在“非任务事件”里的。从第四个数开始就是各事件相对事件索引开头的偏移了。
下面这是一个具体的事件



前六个字节是“事件头”。前四个字节意义不明。第五个字节是Test部分共有多少个项目,这个事件Test部分有10个项目,依次是FF、0F、FE、FF、1E、1D、1D、FF、1E、0F。第六个字节是Event部分共有多少个项目,这个事件Event部分有4个项目,依次是0C、0C、0C、24。
Test项目每个占用18字节,包括一个项目代码和最多8个参数,不足8个参数的补0,项目代码和参数一律为2字节。下文都采用简略写法,如0F:7 1 0,实际便是0F 00 07 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00。
Event项目每个占用16字节,包括一个项目代码和最多7个参数,不足7个参数的补0,项目代码和参数一律为2字节。下文同样采用简略写法。
下面具体介绍Test和Event已经解析的项目。
Test
FF:AND逻辑关系。参数为一个,表示条件数目。所谓AND,便是指其所包括的分支条件都满足时该Test才为True。
FE:OR逻辑关系。参数为一个,表示条件数目。所谓OR,便是指其所包括的分支条件任意满足一个时该Test就为True。
FF和FE可以多重嵌套,嵌套的时候,次一级的FF、FE只算成一个条件。
具体还是看上面那个事件,其Test整理下是这样的:
FF:2
        0F:43 1 0
        FE:2
               FF:3
                        1E:1
                        1D:2 B 0
                        1D:2 E 0
               FF:2
                        1E:2
                        0F:9 0 1
可以看出,第一级的FF包括两个条件,为0F和FE;第二级的FE包括两个条件,为两个FF。
00:时间测试。参数为三个,值一表示“计时器序号”,为0时表示战场本身的计时器,为其它值时,由Event项目00来声明(见下文Event的00);值二表示时间,单位为秒;值三表示“对比判断条件”,为0表示<,为1表示≤,为2表示=,为3表示≥,为4表示>。下文的“对比判断条件”,都是同一意义。
如,00:0 12C 3 表示进入战场时间大于等于300秒时满足条件。
01:士气测试。参数为三个,值一表示“战场部队序号”,用Editor打开相应战场,把序号转为十六进制便是;值二表示士气值;值三表示“对比判断条件”。
关于“战场部队序号”,有一点要特别说明:把最下面“护卫二”的序号+1,就表示"Player”,即玩家使用的武将。如姊川之战织田德川侧,护卫二是65,那么66就表示Player。
05:部队击破测试。参数为二个,都表示“战场部队序号”。当由值一表示的武将击破值二表示的武将时满足条件。
06:体力测试。参数为三个,值一表示“战场部队序号”,值二表示体力的百分比,值三表示“对比判断条件”。
08:击破数测试。参数为三个,值一表示“战场部队序号”,值二表示击破数,值三表示“对比判断条件”。
0F:非任务事件测试。参数为三个,值一表示“非任务事件序号”;值二为0表示该事件未发生时满足条件,为1表示该事件已发生时满足条件;值三意义未知,一般为0或1。
什么是“非任务事件序号”呢?以姊川之战织田德川侧为例,前22个事件都是任务事件(上面已经提过,可以根据索引的第二个数看出有多少个任务事件),那么第23个事件其“非任务事件序号”便为0,第24个事件其“非任务事件序号”便为1,以此类推。
10:任务事件测试。参数为三个,值一表示“任务事件序号”;值二为0表示该事件未发生时满足条件,为1表示该事件已发生时满足条件;值三意义未知,一般为0或1。
11:任务状态测试。参数为三个,值一表示“任务序号”;值二表示“任务状态”,0表示任务执行中,1表示任务成功,2表示任务中止;值三意义未知,一般为1。
注意“任务序号”和“任务事件序号”完全是两码事,一个任务至少会包括触发和完成两个事件,大部分任务还会包括失败中止的事件。
13:部队状态测试。参数为四个,值一表示“战场部队序号”,后面三个参数意义未知,但常用的组合只有两种,0 1 1表示值一表示的武将存在且未被击破时满足条件,2 1 0表示值一表示的武将已被击破时满足条件。
17:部队距离测试。参数为五个,值一和值二都表示“战场部队序号”,值三表示距离,值四表示“对比判断条件”,值五意义未知,一般为1。
17这个项目很有些问题,PC版的一些事件bug,如立花和三成的关原毛利小早川神速倒戈,关原东军侧岛津撤退时取人首级于千里之外等,问题都是出在这个17上。目前正尝试修复这些bug。
1D:玩家武将测试。参数为三个,值一意义未知;值二为特殊武将代码,用Editor打开NPC武将,看“模型”或者“招式”的值便是对应的武将(注意不是序号,因为那几个“足轻”被跳过了);值三为0表示玩家不是值二表示的武将时满足条件,为1表示玩家是值二表示的武将时满足条件。

更多相关内容请关注:战国无双2专区

1 2 下一页
友情提示:支持键盘左右键“← →”翻页
游民星空APP
随手浏览游戏攻略
code
    没有任何记录
单机游戏下载
休闲娱乐
综合热点资讯
游民星空联运游戏