设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1786|回复: 1
打印 上一主题 下一主题

[已经解决] 武器攻击几率发动特技的脚本,求修复BUG。

[复制链接]

Lv5.捕梦者 (版主)

梦石
20
星屑
1840
在线时间
6925 小时
注册时间
2012-12-14
帖子
11485

短篇十战斗者组别冠军开拓者贵宾短篇九勇士组亚军

跳转到指定楼层
1
发表于 2013-8-19 23:53:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
RUBY 代码复制
  1. #==============================================================================
  2. # 【 武器攻击发动特技 】
  3. #==============================================================================
  4. #  by ->  芯☆淡茹水
  5. #==============================================================================
  6. # ** 使用方法 **
  7. #                  复制该脚本,插入到 main 前。
  8. #==============================================================================
  9. ### 设置 ##
  10. #------------------------------------------------------------------------------
  11. # 攻击时有几率发动特技的武器 ID
  12. WEAPON_ID = [3,4,5]
  13. # 发动的特技 ID,与上面武器 ID 相对应。上面的第一个,对应下面的第一个,,,,
  14. SKILL_ID  = [2, 3, 4]
  15. # 攻击时发动特技的几率百分比  %  。
  16. PERCENT = 70
  17. #==============================================================================
  18. class Scene_Battle
  19.   def update_phase4_step2
  20.     # 如果不是强制行动
  21.     unless @active_battler.current_action.forcing
  22.       # 限制为 [敌人为普通攻击] 或 [我方为普通攻击] 的情况下
  23.       if @active_battler.restriction == 2 or @active_battler.restriction == 3
  24.         # 设置行动为攻击
  25.         @active_battler.current_action.kind = 0
  26.         @active_battler.current_action.basic = 0
  27.       end
  28.       # 限制为 [不能行动] 的情况下
  29.       if @active_battler.restriction == 4
  30.         # 清除行动强制对像的战斗者
  31.         $game_temp.forcing_battler = nil
  32.         # 移至步骤 1
  33.         @phase4_step = 1
  34.         return
  35.       end
  36.     end
  37.     # 清除对像战斗者
  38.     @target_battlers = []
  39.     # 行动种类分支
  40.     case @active_battler.current_action.kind
  41.     when 0  # 基本
  42. #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  43.       # 如果战斗者是角色
  44.       if @active_battler.is_a?(Game_Actor)
  45.          # 如果 WEAPON_ID 数组有战斗者当前的武器ID
  46.         if WEAPON_ID.include?(@active_battler.weapon_id)
  47.           # 随机 100 小于 百分比 的情况下
  48.           if rand(100) < PERCENT
  49.             # 将 i 代入 0 到 WEAPON_ID 的最大个数
  50.             for i in 0...WEAPON_ID.size
  51.               # 如果战斗者的武器 ID 等于 WEAPON_ID[i]
  52.               if @active_battler.weapon_id == WEAPON_ID[i]
  53.                 # 获取与 WEAPON_ID 相对应的特技ID SKILL_ID
  54.                 skill = $data_skills[SKILL_ID[i]]
  55.                 # 帮助窗口显示特技名
  56.                 @help_window.set_text("发动武器特效" , 1)
  57.                 # 获取特技动画
  58.                 @animation1_id = skill.animation1_id
  59.                 @animation2_id = skill.animation2_id
  60.                 # 获取公共事件
  61.                 @common_event_id = skill.common_event_id
  62.                 # 特技有效范围
  63.                 set_target_battlers(skill.scope)
  64.                 # 应用特技效果
  65.                 for target in @target_battlers
  66.                   target.skill_effect(@active_battler, skill)
  67.                 end
  68.               end
  69.             end
  70.             # 其他情况,全部为基本行动类
  71.           else
  72.             make_basic_action_result
  73.           end
  74.         else
  75.           make_basic_action_result
  76.         end
  77.       else
  78.         make_basic_action_result
  79.       end
  80. #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  81.     when 1  # 特技
  82.       make_skill_action_result
  83.     when 2  # 物品
  84.       make_item_action_result
  85.     end
  86.     # 移至步骤 3
  87.     if @phase4_step == 2
  88.       @phase4_step = 3
  89.     end
  90.   end
  91. end
  92. #==============================================================================


这个脚本是可以在攻击中发动武器特效。
但是BUG就在于,连防御时也是可以发动武器特效。
求修复一下,不让在防御时发动武器特效?
应该怎么做?

@芯☆淡茹水

顺便@一下作者吧
大家好,这里是晨露的说。请多多指教。
刚入门RM软件制作,请大家多多帮助我哦。
落雪君的欢乐像素教程,欢迎查阅。

Lv5.捕梦者

梦石
0
星屑
33121
在线时间
5104 小时
注册时间
2012-11-19
帖子
4878

开拓者

2
发表于 2013-8-20 18:14:22 | 只看该作者
已修改,但未测试。理论上没有问题。
  1. #==============================================================================
  2. # 【 武器攻击发动特技 】
  3. #==============================================================================
  4. #  by ->  芯☆淡茹水
  5. #==============================================================================
  6. # ** 使用方法 **
  7. #                  复制该脚本,插入到 main 前。
  8. #==============================================================================
  9. ### 设置 ##
  10. #------------------------------------------------------------------------------
  11. # 攻击时有几率发动特技的武器 ID
  12. WEAPON_ID = [3,4,5]
  13. # 发动的特技 ID,与上面武器 ID 相对应。上面的第一个,对应下面的第一个,,,,
  14. SKILL_ID  = [2, 3, 4]
  15. # 攻击时发动特技的几率百分比  %  。
  16. PERCENT = 70
  17. #==============================================================================
  18. class Scene_Battle
  19.   def update_phase4_step2
  20.     # 如果不是强制行动
  21.     unless @active_battler.current_action.forcing
  22.       # 限制为 [敌人为普通攻击] 或 [我方为普通攻击] 的情况下
  23.       if @active_battler.restriction == 2 or @active_battler.restriction == 3
  24.         # 设置行动为攻击
  25.         @active_battler.current_action.kind = 0
  26.         @active_battler.current_action.basic = 0
  27.       end
  28.       # 限制为 [不能行动] 的情况下
  29.       if @active_battler.restriction == 4
  30.         # 清除行动强制对像的战斗者
  31.         $game_temp.forcing_battler = nil
  32.         # 移至步骤 1
  33.         @phase4_step = 1
  34.         return
  35.       end
  36.     end
  37.     # 清除对像战斗者
  38.     @target_battlers = []
  39.     # 行动种类分支
  40.     case @active_battler.current_action.kind
  41.     when 0  # 基本
  42. #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  43.       # 如果战斗者是角色
  44.       if @active_battler.is_a?(Game_Actor) and
  45.         @active_battler.current_action.basic == 0
  46.          # 如果 WEAPON_ID 数组有战斗者当前的武器ID
  47.         if WEAPON_ID.include?(@active_battler.weapon_id)
  48.           # 随机 100 小于 百分比 的情况下
  49.           if rand(100) < PERCENT
  50.             # 将 i 代入 0 到 WEAPON_ID 的最大个数
  51.             for i in 0...WEAPON_ID.size
  52.               # 如果战斗者的武器 ID 等于 WEAPON_ID[i]
  53.               if @active_battler.weapon_id == WEAPON_ID[i]
  54.                 # 获取与 WEAPON_ID 相对应的特技ID SKILL_ID
  55.                 skill = $data_skills[SKILL_ID[i]]
  56.                 # 帮助窗口显示特技名
  57.                 @help_window.set_text("发动武器特效" , 1)
  58.                 # 获取特技动画
  59.                 @animation1_id = skill.animation1_id
  60.                 @animation2_id = skill.animation2_id
  61.                 # 获取公共事件
  62.                 @common_event_id = skill.common_event_id
  63.                 # 特技有效范围
  64.                 set_target_battlers(skill.scope)
  65.                 # 应用特技效果
  66.                 for target in @target_battlers
  67.                   target.skill_effect(@active_battler, skill)
  68.                 end
  69.               end
  70.             end
  71.             # 其他情况,全部为基本行动类
  72.           else
  73.             make_basic_action_result
  74.           end
  75.         else
  76.           make_basic_action_result
  77.         end
  78.       else
  79.         make_basic_action_result
  80.       end
  81. #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  82.     when 1  # 特技
  83.       make_skill_action_result
  84.     when 2  # 物品
  85.       make_item_action_result
  86.     end
  87.     # 移至步骤 3
  88.     if @phase4_step == 2
  89.       @phase4_step = 3
  90.     end
  91.   end
  92. end
  93. #==============================================================================
复制代码

点评

恩,是自己疏忽了,少了一句:如果攻击者的基本行动类型为攻击. 的条件分歧。  发表于 2013-8-20 18:28
谢谢,原来只是少了一句脚本啊  发表于 2013-8-20 18:22

评分

参与人数 2星屑 +135 收起 理由
弗雷德 + 105 认可答案
美丽晨露 + 30 认可答案

查看全部评分

xp vx va mv  va mz 各类型脚本/插件定制
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-9-29 17:26

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表