Project1

标题: 普通攻击的问题 [打印本页]

作者: fjm    时间: 2015-11-29 15:25
标题: 普通攻击的问题
怎样使普通物理攻击出现技能效果,例如普通物理攻击敌人,会随机普通物理攻击或出技能1,2,3中的一种,像敌人行动时出招时有概率出所选招式.因为后面领悟强力技能后,以前的招式都不用了,感觉有点浪费,所以这么想的
作者: cmmd1    时间: 2015-11-29 15:55
本帖最后由 cmmd1 于 2015-11-29 15:58 编辑

我只知道数据库武器的状态效果和属性。要不你在武器设置上加一些效果当做技能好了。
我发现武器设置和技能最大的区别就是群体和单体吧?其他区别很小。你可以使用动画来描述武器的技能,比如混乱。
技能,比如说火法秒对方。这里只是出现了火焰的动画,和对方动画+伤害。武器设置可以做到普通攻击也是这样的效果啊。
作者: 无忧谷主幻    时间: 2015-11-29 16:59
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 = 100
  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. #==============================================================================

作者: fjm    时间: 2015-11-29 18:43
cmmd1 发表于 2015-11-29 15:55
我只知道数据库武器的状态效果和属性。要不你在武器设置上加一些效果当做技能好了。
我发现武器设置和技能 ...

恩,这个可以尝试下
作者: fjm    时间: 2015-11-29 18:45
无忧谷主幻 发表于 2015-11-29 16:59
#==============================================================================
# 【 武器攻击发动特 ...

恩,这个一个武器对应一个技能,可不可以改成1个武器包含多个技能,随机出技能




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