» 您尚未 登录   注册 | 社区银行 | 社区婚姻 | 社区成就 | 帮助 | 社区 | 无图版


火花天龙剑 -> 火炎之纹章 -> 火花学园 -> 关于吸血系武器的问题
 XML   RSS 2.0   WAP 

本页主题: 关于吸血系武器的问题 加为IE收藏 | 收藏主题 | 上一主题 | 下一主题
Mind07



头衔:游人游人
该用户目前不在线
级别: 注册会员
编号: 87382
精华: 0
发帖: 49
威望: 0 点
配偶: 单身
火 花 币: 578 HHB
注册时间:2008-03-08
最后登陆:2019-07-26
查看作者资料 发送短消息 引用回复这个帖子
关于吸血系武器的问题

在GBA三作中吸血系武器的确好用,于是造新武器总会想到吸血系,但自己改出来的吸血系总是有问题的——持有者连续吸血后HP会爆掉,先变问号再变无限,此时持有者一旦被攻击命中就必死无疑,但原有的吸血术和吸血剑是没有这种问题的,这时为什么?又怎么解决?
[楼 主] | Posted:2009-06-25 21:40| 顶端
黑化L

该用户目前不在线
级别: 火花会员
编号: 99372
精华: 1
发帖: 163
威望: 5 点
配偶: 单身
火 花 币: 12854 HHB
注册时间:2009-05-17
最后登陆:2010-11-11
查看作者资料 发送短消息 引用回复这个帖子


因为武器的动画。你把拥有吸血武器的动画设为吸血的动画。

或者自己做个新的魔法

case 0x85:
                switch (word1 & 0xFF)
                {
                    case 0x48:
                          playSound((short) word1 >> 8);
                          break;
                    case 0x1A:
                    case 0x08:
                          enemy.setHitFlags(0x09);
                          if (enemy.getHealth() > enemy.getTargetHealth())
                                enemy.setHealth(--enemy.getHealth());
                          break;
                    case 0x1F:
                          playHitSound();
                          break;
                    default:
                          if ((word1 & 0xFF) > 0x13)
                                processCommand((byte) word1)
                          break;
                }
                (* (int *) 0x0203FFFC) += 4;
                break;

蓝色的08就是判定该动画为吸血动画。然后在1F指令后留足够的时间来扣血。

[1 楼] | Posted:2009-06-25 22:55| 顶端
Mind07



头衔:游人游人
该用户目前不在线
级别: 注册会员
编号: 87382
精华: 0
发帖: 49
威望: 0 点
配偶: 单身
火 花 币: 578 HHB
注册时间:2008-03-08
最后登陆:2019-07-26
查看作者资料 发送短消息 引用回复这个帖子


那是不是只要动画留够扣血的时间就没有问题?
[2 楼] | Posted:2009-06-25 22:56| 顶端
黑化L

该用户目前不在线
级别: 火花会员
编号: 99372
精华: 1
发帖: 163
威望: 5 点
配偶: 单身
火 花 币: 12854 HHB
注册时间:2009-05-17
最后登陆:2010-11-11
查看作者资料 发送短消息 引用回复这个帖子


不是。前提是要有08指令进行判定。

判定生效后才能吸血。如果判定成功,但又不留足够的时间,在吸血数量过多时,也就是耗时间较长时就会出现和战斗流程中下一阶段的程序运行冲突,然后轻则画面混乱,重则卡死。

[3 楼] | Posted:2009-06-25 23:02| 顶端
Mind07



头衔:游人游人
该用户目前不在线
级别: 注册会员
编号: 87382
精华: 0
发帖: 49
威望: 0 点
配偶: 单身
火 花 币: 578 HHB
注册时间:2008-03-08
最后登陆:2019-07-26
查看作者资料 发送短消息 引用回复这个帖子


那么麻烦啊……
但还是不知道为什么会HP超出上限,即使是关了动画

[4 楼] | Posted:2009-06-25 23:07| 顶端
黑化L

该用户目前不在线
级别: 火花会员
编号: 99372
精华: 1
发帖: 163
威望: 5 点
配偶: 单身
火 花 币: 12854 HHB
注册时间:2009-05-17
最后登陆:2010-11-11
查看作者资料 发送短消息 引用回复这个帖子


enemy.setHitFlags(0x09);
                if (enemy.getHealth() > enemy.getTargetHealth())
                    enemy.setHealth(--enemy.getHealth());

你真的有仔细看这段东西吗? = =


没有08指令,系统只能根据武器的吸血属性进行吸血,但是没法控制吸血数量。所以,这段程序是某种关键的计算,而不是只在开启动画时才会调用。

[5 楼] | Posted:2009-06-25 23:16| 顶端
tysxych



该用户目前不在线
级别: 火花会员
编号: 51383
精华: 0
发帖: 131
威望: 0 点
配偶: 单身
火 花 币: 24038 HHB
注册时间:2006-03-14
最后登陆:2018-07-08
查看作者资料 发送短消息 引用回复这个帖子


请问L那一段程序是用于自制魔法动画的脚本么?
[6 楼] | Posted:2009-06-26 12:37| 顶端

火花天龙剑 -> 火花学园




Powered by PHPWind v3.0.1 Code © 2003-05 PHPWind
辽ICP备05016763号
Gzip enabled

You can contact us