Project1

标题: 求一个脚本,能让特定技能100%暴击 [打印本页]

作者: 造小梦    时间: 2019-1-23 18:49
标题: 求一个脚本,能让特定技能100%暴击
如题,望大佬指点
作者: KB.Driver    时间: 2019-1-23 20:07
默认战斗脚本下已测试通过。

RUBY 代码复制
  1. #==============================================================================
  2. # ■ 必定暴击的技能/物品
  3. #------------------------------------------------------------------------------
  4. #  在技能/物品的备注中写<必定暴击>生效。
  5. #  写了备注的话,“允许必杀”为否的技能也会造成必杀。
  6. #==============================================================================
  7.  
  8. class RPG::UsableItem
  9.   REG_ALWAYS_CRITICAL = /<必定暴击>/
  10.   #--------------------------------------------------------------------------
  11.   # ● [追加]必定暴击
  12.   #--------------------------------------------------------------------------
  13.   def always_critical?
  14.     return false if self.damage.recover? # 回复系技能禁止暴击
  15.     self.note =~ REG_ALWAYS_CRITICAL
  16.   end
  17. end
  18.  
  19. class Game_Battler
  20.   #--------------------------------------------------------------------------
  21.   # ● [别名修改]计算技能/物品的必杀几率
  22.   #--------------------------------------------------------------------------
  23.   alias :item_cri_always_critical :item_cri
  24.   def item_cri(user, item)
  25.     return 1 if item.always_critical?
  26.     item_cri_always_critical(user, item)
  27.   end
  28. end

作者: gqxastg    时间: 2019-1-23 20:10
https://rpg.blue/thread-379894-1-4.html
勤用搜索
作者: MCCF    时间: 2019-1-23 20:12
RUBY 代码复制
  1. #encoding:utf-8
  2. # =============================================================================
  3. # 特定技能必定暴击
  4. # =============================================================================
  5. =begin
  6.  
  7.   ----------------------------------------------------------------------------
  8.   介绍:
  9.   ----------------------------------------------------------------------------
  10.   设定某些技能的暴击几率为100%。
  11.  
  12.  
  13.   ----------------------------------------------------------------------------
  14.   使用方法:
  15.   ----------------------------------------------------------------------------
  16.   插入到插件脚本之下,Main之上
  17.  
  18. =end
  19.  
  20. #==============================================================================
  21. # ■ Game_Battler
  22. #------------------------------------------------------------------------------
  23. #  处理战斗者的类。Game_Actor 和 Game_Enemy 类的父类。
  24. #==============================================================================
  25.  
  26. class Game_Battler < Game_BattlerBase
  27.   #--------------------------------------------------------------------------
  28.   # ● 计算技能/物品的必杀几率
  29.   #--------------------------------------------------------------------------
  30.   def item_cri(user, item)
  31.     critical_skill = [80, 83, 84]    # 设定技能ID的数组
  32.     if item.class == RPG::Skill && critical_skill.include?(item.id)
  33.       1
  34.     else
  35.       item.damage.critical ? user.cri * (1 - cev) : 0
  36.     end
  37.   end
  38. end

设定好ID就可以生效了,测试可用。
作者: 造小梦    时间: 2019-1-23 20:16
KB.Driver 发表于 2019-1-23 20:07
默认战斗脚本下已测试通过。

#======================================================================= ...

哇!谢谢大佬!
作者: 造小梦    时间: 2019-1-23 20:18
MCCF 发表于 2019-1-23 20:12
#encoding:utf-8
# =============================================================================
# 特 ...

那么如果我想让技能在XXX状态下才100%暴击呢?
作者: MCCF    时间: 2019-1-23 21:14
造小梦 发表于 2019-1-23 20:18
那么如果我想让技能在XXX状态下才100%暴击呢?

所以你的设定是:角色某状态下某些技能必定暴击,对吧?
作者: 造小梦    时间: 2019-1-23 21:25
MCCF 发表于 2019-1-23 20:12
#encoding:utf-8
# =============================================================================
# 特 ...

嗯嗯,就是这个意思
作者: Silentever    时间: 2019-1-25 06:56
造小梦 发表于 2019-1-23 14:25
嗯嗯,就是这个意思

如果不拘泥于暴击形式,可以在技能伤害公式里加入伤害补正。
比方说状态idX的场合该技能伤害提升50%,写成 *(a.state?(X) ? 1.5 : 1)




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