ffta2吧 关注:2,540贴子:83,944
  • 23回复贴,共1

打造不一样的FFTA2 no.4——ROM修改之技能篇

只看楼主收藏回复

打造不一样的FFTA2教学篇又来了,唉,本来打算上周六能写完就发了的,可是计划没有变化快,上周领导扔了一堆活过来,几张电气图纸要十一之前搞定,楼主就只好没日没夜白天晚上连轴转了,总算昨天都赶完了,于是马不停蹄开始补完咱在这欠下的债吧(不是风流债呀),闲话不多说了,我们直接进正题。


IP属地:辽宁1楼2014-09-29 21:56回复
    汇总帖——【国庆献礼】打造不一样的FFTA2
    http://tieba.baidu.com/p/3298813667
    网盘地址
    http://pan.baidu.com/s/1ntMDiBJ


    IP属地:辽宁2楼2014-09-29 21:58
    回复
      从本期开始,我们正式进入本讲座的重量级环节——游戏ROM修改,在这里我们用到的工具是UltraEdit。
      UltraEdit这个软件不用多介绍,这个软件很有名,网上安装教程使用教程多的是,而且我们基本也就用一个功能,ctrl+G,转到地址命令。记住这个命令,在今后的ROM修改过程中,这个命令会比你按鼠标次数还多的....


      IP属地:辽宁3楼2014-09-29 22:00
      回复
        今天给大家说的是ROM修改里对技能的修改,想必天幻的技能静态修改帖子大家也都看过了
        http://bbs.ffsky.com/showtopic-1717708.aspx
        该帖开篇就提到了代码,之前在动态修改人物初始化相关篇幅里提到过,每个技能都有一个标志代码,在静态修改中,这个代码同样有至关重要,就是记录每个技能在ROM中所处的位置,那么以BUS_V3中文ROM为例,
        用UltraEdit打开游戏rom,转到地址0x4744854(记得在UE里ctrl+G,这个0x是必须输入的),从这个位置开始,我们会看到如下图所示的代码串,在这里我将数据整个抄下来了...
        图片来自:ralulas的百度相册

        请无视0-F和0-3吧....忘记打上颜色了
        你可能要问了,0x4744854这个地址怎么来的呢,记住下面的公式,嗯,写个文本文件记下来吧
        0x4743B88+代码*34h 34h是技能代码的长度
        上面这个技能就是黑魔道士的火炎术,4743B88h+3F*34h就是0x4744854,至于3F,不多说了。
        我将主要讲解如下图所示从00到23位置,这些是技能的主体。
        图片来自:ralulas的百度相册


        IP属地:辽宁通过百度相册上传4楼2014-09-29 22:12
        回复
          先说明一下,文中所说默认值就是该位置填00的情况,简称默认,另外,所有位置的数值均为16进制,下不赘述。
          00-0F:
          53 B8 01 08 1E 00 14 00 00 00 00 00 04 05 01 00
          第00、01位,
          53 B8,对不起,含义未知,猜测是说明代码,没什么具体用途。
          第02位,
          01,此位置代表技能属性,默认是无属性(注1),此处可填01-08,比如填01,该技能就是火属性,会触发火弱点、火吸收等效果,以及禁火法则。
          01 火 02 风 03 地 04 水 05 冰 06 雷 07 圣 08 暗
          注1:默认值时,若第七位也为默认值,则技能造成伤害的属性会随武器的属性变化。
          第03位,
          08,此位置代表技能需要的魔法值,默认不消耗,填写具体数值,则技能使用后会消耗对应数值的魔法。
          第04、05位 ,
          1E 00,含义未知。
          第06位,
          14,此位置代表技能威力,默认是威力随武器变化,填写具体数值,则技能威力固定为对应数值。此处威力是20,即14h。
          第07位 ,
          00,含义未知。


          IP属地:辽宁5楼2014-09-29 22:20
          收起回复
            第08位,
            00,此位置代表装备限制,默认是无限制,填入特定数字代表需要装
            备特定装备才能使用技能。常用的有:80任意武器,82刀剑,13大炮,87神兽槽满(我靠有个乱入的)等等,请自行查找技能获取。
            第09位,
            00,含义未知,应该也是某种限制,未测试。
            第A位,
            00,此位置代表部分特殊限制,比如天气、特定buff,目标种族等。常用的有:(别问我什么意思,这里几个都是抄的,需要用的话请自己去实验吧)
            01 水中 02 自然地形 03 人工地形 04 生命地形 05 无机地形
            06 晴天 07 雨天 08 雪天 09 雾天 0B 魔炮蓄力状态下
            第0B、0C、0D、0E位放在一起讲,有关联:
            第B位,
            00,此位置代表作用的目标范围,默认是根据第CDE位进行选择。有具体数值时,技能目标范围属于特殊范围模式,下面几位在特定特殊范围模式下数值无效,建议在无效时输入默认值00,防止出现bug。
            第C位,
            04,此位置代表技能射程,比如04就是火炎术射程是4格。
            第D位 ,
            05,此位置代表技能格子总数,只有3种,01单格,05五格(黑魔法),0D十三格(召唤术)。
            第E位 ,
            01,此位置代表技能的高度,即与选定格间高度差小于等于该数值且处于技能格子数(第D位给出或特殊范围)内的角色都会成为目标。默认值时,只作用于与选定格或施法者(特殊范围给定)同一高度的目标。
            以下列出几个常用特殊目标范围的代码:
            01 贯通直线,CD位无效,E位有效(与施法者高度差)
            02 正面直线,C位有效(技能射程),D位无效,E位有效
            03 未知,没试出来...
            04 自身周围4格,CD位无效,E位有效
            05 全体,CDE均无效
            06 "T"字型,CD位无效,E位有效
            07 随武器,CDE均无效
            08 自己,C位无效,DE位有效
            后面的数字暂时未测试出新模式
            第F位,
            00,此位置为特殊模式代码,默认是技能为普通技能,此位置说几个有意义的代码,如下:
            02 选择单个技能,施放技能后附加普通攻击,即魔法爆击。
            08 逆转道具的效果,即道具逆转。
            09 选择两个技能,分别进行施放,即连续魔法。
            使用02、08、09三个效果时,03h-20h位置的代码全部失效,因为是从该技能转到另外一个技能,只会计算被转到的技能的属性、消耗和效果,记得把上文提到的那些知道含义的位置都归零哦,不知道含义的别动,免得出bug。当然此位置还有其他作用,比如复活,比如投掷物品,比如魔兽使的操纵目标,具体代码具体技能看吧,这里不多提了。


            IP属地:辽宁7楼2014-09-29 22:33
            收起回复
              10-1F:
              0F 01 01 01 00 00 00 00 00 00 00 00 00 00 00 00
              在这里,4位代码组成一个效果,也就是在一个技能里同时可存在4个效果。接下来单独以一组代码进行讲解:
              第1位 ,
              0F,此位置为作用目标代码,0F就代表任意角色,0B代表友方角色,18代表敌方角色等等。 以下是几个常用的目标代码,其他代码请解析rom自行尝试:
              0A 自己
              0B 友方角色
              0F 所有角色
              18 敌方角色
              20 除自己以外的所有角色
              21 所有生物,即不是不死系
              25 所有不死系
              第2位,
              01,此位置为功能代码,01代表HP伤害,03代表MP回复,11代表HP回复等等。由于功能代码过多,以下不一一列举,可解析rom自行尝试,另外天幻帖子上写了一部分。
              第3位,
              01,此位置为命中代码,为第2位所示功能提供命中条件,比如火炎术中此位置为01,代表火炎术是普通命中,而在斗士的爆裂击中此位置为03,代表命中减半。 以下是几个常用的目标代码,其他代码请解析rom自行尝试:
              01 1倍命中
              02 2倍命中
              03 0.5倍命中
              07 是计算抗性的命中
              09 是必中
              0C 代表前一个效果命中则该效果命中
              23 代表目标是濒死时能够命中
              第4位,
              01,此位置为数值或效果代码,为第2位所示功能提供效果,比如火炎术中此位置为01,代表火炎术是计算结果的一倍伤害,爆裂击中此位置为02,代表伤害倍率是二倍。 以下是几个常用的目标代码,其他代码请解析rom自行尝试:
              01 1倍数值
              02 2倍数值
              03 3倍数值
              04 0.5倍数值
              05 0.25倍数值
              0F 自身损失生命值
              15 固定数值,等于威力
              31 前一个效果的数值
              33 前一个效果1/4的数值
              在此举几个效果串联的例子
              比如,0F 01 01 01 0F 40 0C 00,这列数表示对目标造成1倍伤害,命中为普通命中,如果对目标造成了伤害,则会为目标附加毒的效果。
              再比如,0F 01 01 01 0F 40 0F 00,这列数表示对目标造成1倍伤害,命中为普通命中,如果对目标造成了伤害,则有几率为目标附加毒的效果,该几率计算抗性。
              第三个例子,0F 01 01 01 0A 01 0C 33,这列数表示对目标造成1倍伤害,命中为普通命中,如果对目标造成了伤害,则会反弹1/4给自己。
              在此有一个需要注意的地方,比如0F 01 01 01 0A 01 0C 05,从字面上理解对目标造成伤害,如果命中则对自己再造成1/4的伤害,但实际这么写是不会出现反伤的,而必须采用第三个例子的写法才行。我的理解是在0C不能用于前后都有独立数值计算的命中连接,用0C连接时,后面的数值必须依附于前一个数值的计算结果。
              另一个需要注意的地方:
              53 B8 00 08 02 00 14 00 00 00 00 08 00 05 01 00
              0B 11 09 01 0B 30 0C 00
              上面是条1h-18h的代码,通过阅读我们知道这是说以自己为中心,对自己和周围4格的单位进行生命恢复并且附加蓄力效果(30,弓箭手的效果,下次行动时普通攻击伤害提高),但这串代码在游戏中如果自己身边有友方角色,就不能为自己附加蓄力效果了,为何?
              因为代码是对每个角色依次执行的,自己是第一目标,再对自己执行后,又为其他角色执行,即在获得蓄力后又进行了其他行动,所以蓄力效果被取消了。
              这时有人会说,在后面添加一个0A 30 0C 00,在执行结束后为自己再附加一次蓄力,很不幸,游戏的机制又一次戏耍了我们,授予状态效果在同一次行动中只能为一个目标执行一次,而你之前已经授予,之后又被其他动作给用了,在这次行动里就再也加不上了。
              谨以以上几个例子作为引导,希望大家能够抛砖引玉,做出自己满意的技能效果。


              IP属地:辽宁8楼2014-09-29 22:37
              回复
                20-23:
                AA 5D 08 21
                接下来本帖的重头戏,也是天幻帖子没有的部分,是4位数字的说明, 以上4位数代表标示位,比如上面这组,我们把它变成2进制,就是:
                1010 1010 0101 1101 0000 1000 0010 0001
                ( AA: 1010 1010 )(5D: 0101 1101 )(08:0000 1000 )(21: 0010 0001)
                一共是32个位置,目前我只解析出其中的10个位置,分别是:
                第2位,技能是否会触发目标的R技能,1代表不会触发R技能,0代表会触发R技能
                第5位,第一处大家会关心的,技能是物理计算还是魔法计算,1代表魔法计算,0代表物理计算
                第7位,目标范围能否包括自己,1代表能,0代表不能
                第12位,是否会触发R技能魔法返,1代表会触发,0代表不会触发
                第15位,被沉默时是否禁止使用,1代表沉默无效,0代表沉默有效
                第16位,也是很多人关心的,能否被魔法爆击和连续魔法选择,1代表能,0代表不能
                第21位,另一个关心的,是否可选空格拓展范围,1代表能,就是像黑魔法那样能选空格然后用范围蹭目标,0代表不能。
                第22位,令反击无效且额外造成伤害,1能(武术宗师,交叉反击,一说你就明白了)。0不能。
                第27位,与目标近身时是否会触发反击,1会触发,0不会触发。
                第28位,站位与伤害的关系,1有关,即站位不同造成伤害也不同,0无关。
                剩下的标志位没一一比对测试了,魔法回避的标志位我没试出来,因为试出BUG了...其他的应该还有精神统一、属性强化之类的S技能是否有效等一堆标志位,我就没太多去尝试了,感觉这几个差不多够用了。
                目前的解析只有前24h有具体的功能作用,后面的数字未发现具体代表什么,如果大家发现了什么新的东西,可以互相交流一下。
                最后说一下,从天幻上我们知道技能是编号为27的应急处理开始的,那01到26的技能是干什么用的呢?是消耗品的效果!消耗品共19个,道具逆转19个,38个技能转成16进制是多少?26h,这下你懂了吧。


                IP属地:辽宁9楼2014-09-29 22:45
                收起回复
                  嗯,下期讲职业修改,只能在十一期间抽空写啦,不过黄金周期间我保证把剩下的所有东西都写完,那么我们十一见咯。
                  最后再提一句,我在慢慢整理技能代码的含义(龟速整理中),整理一部分后会传到网盘上去的,到时候会在汇总帖说的,不过我可不敢保证会填满这个史前巨坑哦
                  ==============To Be Continued=============


                  IP属地:辽宁10楼2014-09-29 22:50
                  回复
                    加油


                    11楼2014-09-30 07:07
                    回复
                      感谢@ycy3489 的提醒,神兽技能忘记贴地址了,神兽技能是从0x474BF5C开始的


                      IP属地:辽宁12楼2014-09-30 18:26
                      回复
                        求教:里魔法师的死神,想改成正常命中,但是自身会受到目标当前血量的伤害。是否可行?


                        IP属地:上海14楼2014-11-12 22:54
                        回复
                          楼主快来原谅我好久不上没给加精


                          16楼2014-12-20 20:40
                          收起回复
                            求助,技能的代码列表excel文件可否再上传下,或者帮发至邮箱419004731@qq.com,感激不尽!


                            IP属地:北京18楼2015-03-30 12:50
                            收起回复
                              楼主网盘资源已经全部失效了,可以再发一次吗


                              IP属地:江苏20楼2024-12-26 19:43
                              回复