Project1

标题: 【已解决】如何让某些技能在某些状态下提高成功率 [打印本页]

作者: 奉命在先    时间: 2018-5-12 22:58
标题: 【已解决】如何让某些技能在某些状态下提高成功率
本帖最后由 奉命在先 于 2018-5-13 08:51 编辑

虽然按照下面这两个脚本代码下 鼓捣出了自己要的效果 但是一次只能判定一个技能id 很麻烦 试了在 if item.is_a?(RPG::Skill) && item.id == 后面用[1,2,3]或者[1..3]这样写 都没有卵用  要么完全不判定,要么就只判定第一个技能ID
本来是想在某个状态(或者先制攻击的情况)下 让一些平时成功率很低的技能100%命中
物理攻击技能其实可以通过状态里的添加物理命中率来提升成功率  但是魔法攻击就不行了 因为没有添加魔法命中率的选项

https://rpg.blue/forum.php?mod=viewthread&tid=397315

https://rpg.blue/forum.php?mod=viewthread&tid=377047


我暂时鼓捣出的这个目前好像没啥问题,如果只需要个别技能这种效果的可以拿去用  如果改成if item.is_a?(RPG::Skill) && item.id = [1,2,3]  虽然1/2/3号技能都可以判定 但是再用时会跳错
RUBY 代码复制
  1. class Game_Battler < Game_BattlerBase
  2. #================================================
  3.  
  4.  
  5. #================================================
  6.   def item_hit(user, item)
  7.     rate = item.success_rate * 0.01
  8.     rate *= user.hit if item.physical?
  9.     if item.is_a?(RPG::Skill) && item.id == 194 and user.state?(6)#194号技能在6号状态下成功率为100
  10.       rate = 100#大概是成功率 可以自己改
  11.       return rate
  12.      end
  13.     if item.is_a?(RPG::Skill) && item.id == 195 and user.state?(6)#195号技能在6号状态下成功率为100
  14.       rate = 100#大概是成功率 可以自己改
  15.       return rate
  16.     end
  17.     return rate                           
  18.   end
  19. end



根据2楼的提示改的 暂时没什么问题,有需要的拿去用,我自己只是测试了在队伍只有一个人的情况下第一回合的判定,不保证多个队友或者后面几回合会不会出问题。
RUBY 代码复制
  1. class Game_Battler < Game_BattlerBase
  2. #================================================
  3.  
  4. #================================================
  5.   def item_hit(user, item)
  6.     rate = item.success_rate * 0.01
  7.     rate *= user.hit if item.physical?
  8.     if item.is_a?(RPG::Skill) && [194,195,196].include?(item.id) and user.state?(6)#194/195/196号技能在6号状态下成功率100,可以在[]内自行追加技能编号
  9.       rate = 100#大概是成功率 可以自己改
  10.       return rate
  11.     end
  12.     return rate                           
  13.   end
  14. end

作者: 梦想家大魔王    时间: 2018-5-13 00:12
我记得ruby中判断一个数组中是否包含某个值,是用"[1, 2, 3].include?(item.id)"这样的语法格式。
作者: 骷髅岛遗老    时间: 2018-5-19 02:05
其实我想顺路问一下这个“失败”是指直接发动无效这回合白费还是另有一套公式
作者: guoxiaomi    时间: 2018-5-19 09:10
应该可以直接改$data_skills吧,行动前缓存一个备份,然后直接改了,行动后改回来




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