Project1

标题: 如何设置一个被动技能 [打印本页]

作者: 苹果星ねこ    时间: 2012-6-10 17:35
标题: 如何设置一个被动技能
本帖最后由 苹果星ねこ 于 2012-6-10 17:42 编辑

一个叫影分身的被动技能
拥有该技能的角色25%可以回避特技魔法攻击
发动后消耗500SP
怎么做
dsu_plus_rewardpost_czw
作者: 54酱    时间: 2012-6-10 17:40
试下修改公共事件以实现此功能...
作者: 明特·布兰马修    时间: 2012-6-10 19:17
如果是主动技能的话就会写脚本
被动技能没有考虑过
主站那个又不是楼主需要的
作者: kangxi0109    时间: 2012-6-10 20:41
本帖最后由 kangxi0109 于 2012-6-12 18:20 编辑

在Game_Battler 3里头,关于● 应用特技效果 的部分,在对应位置做对应修改(以123号技能为例):


  1.       # 第二命中判定
  2.       eva = 8 * self.agi / user.dex + self.eva
  3.       hit = self.damage < 0 ? 100 : 100 - eva * skill.eva_f / 100
  4.       hit = self.cant_evade? ? 100 : hit
  5.       hit_result = (rand(100) < hit)
  6.       # 不确定的特技的情况下设置为有效标志
  7.       effective |= hit < 100
  8.     end
  9. #---------------------------------------------------------添加部分↓
  10. if self.is_a?(Game_Actor) && hit_result == true#对象为角色且命中的场合
  11.   if self.skills.include?(123) && self.sp >= 500#学会123号技能且sp不低于500的场合
  12.    m = rand(4)
  13.      if m == 3
  14.         self.sp -= 500 #消耗sp
  15.         hit_result = false #改为不命中
  16.    end
  17.   end
  18. end
  19. #---------------------------------------------------------
  20.     # 命中的情况下
  21.     if hit_result == true
  22.       # 威力 0 以外的物理攻击的情况下
  23.       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.最后,个人表示自己测试是没有问题的。




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1