赞 | 6 |
VIP | 20 |
好人卡 | 126 |
积分 | 108 |
经验 | 33282 |
最后登录 | 2024-12-2 |
在线时间 | 1611 小时 |
Lv4.逐梦者
- 梦石
- 8
- 星屑
- 2804
- 在线时间
- 1611 小时
- 注册时间
- 2010-10-22
- 帖子
- 1059
|
本帖最后由 kangxi0109 于 2012-6-12 18:20 编辑
在Game_Battler 3里头,关于● 应用特技效果 的部分,在对应位置做对应修改(以123号技能为例):
- # 第二命中判定
- eva = 8 * self.agi / user.dex + self.eva
- hit = self.damage < 0 ? 100 : 100 - eva * skill.eva_f / 100
- hit = self.cant_evade? ? 100 : hit
- hit_result = (rand(100) < hit)
- # 不确定的特技的情况下设置为有效标志
- effective |= hit < 100
- end
- #---------------------------------------------------------添加部分↓
- if self.is_a?(Game_Actor) && hit_result == true#对象为角色且命中的场合
- if self.skills.include?(123) && self.sp >= 500#学会123号技能且sp不低于500的场合
- m = rand(4)
- if m == 3
- self.sp -= 500 #消耗sp
- hit_result = false #改为不命中
- end
- end
- end
- #---------------------------------------------------------
- # 命中的情况下
- if hit_result == true
- # 威力 0 以外的物理攻击的情况下
- if skill.power != 0 and skill.atk_f > 0
复制代码 判断是否有效的测试方法:
1.先将m= rand(3) 这里改为 m = 3 ,然后测试。如果脚本有效那么敌人的所有对己方的特技都会MISS;
2.再将m= rand(3) 这里改为 m = 1 ,然后测试。如果脚本有效那么敌人的所有对己方的特技基本都会命中。
3.如果上面的测试没有效果,那就说明在你的其他脚本出现了覆盖Game_Battler 3脚本的部分。
4.如果没有效果且查明没有覆盖,那就是你没有将脚本放在指定的位置上,又或者是复制错误。
5.最后,个人表示自己测试是没有问题的。 |
|