Project1

标题: 请问如何在BOUNS脚本中不让死亡者收BOUNS影响和再次攻击 [打印本页]

作者: zdb123    时间: 2012-6-16 15:17
标题: 请问如何在BOUNS脚本中不让死亡者收BOUNS影响和再次攻击
如题 请问如何在BOUNS脚本中不让死亡者收BOUNS影响和让受效果者再次攻击
  1. #---------------------------------------------------------------------
  2. # BONUS系统 BY FantasyDR 面粉
  3. class Scene_Battle
  4. alias bonus_Scene_Battle_update_phase4_step1 update_phase4_step1
  5. def update_phase4_step1
  6.    if 1  # 填写Bonus触发条件,这里是一直触发
  7.    
  8.      sid = 92 + rand(1)   # 产生Bonus技能的随机ID,这里是随机1~5号
  9.       
  10.      if  @active_battler != nil
  11.         
  12.    # 添加标示,Bonus释放则不继续后面的步骤,释放完毕则继续
  13.        @bonus_over = {} if @bonus_over == nil
  14.        if @bonus_over[@active_battler.index]
  15.          @bonus_over.delete(@active_battler.index)
  16.        else
  17.          @bonus_over[@active_battler.index] = true
  18.           if sid == 91
  19.             $game_party.gain_gold(rand( 1900 )+100)
  20.             #——声效,可以自己改
  21.             Audio.se_play("Audio/SE/"+"056-Right02",80,100)
  22.             end
  23.           if sid == 92
  24.            recover_sp =(@active_battler.maxsp / 10)
  25.            @active_battler.sp += recover_sp
  26.            @active_battler.damage = recover_sp
  27.            @active_battler.damage_pop = true
  28.           end
  29.             # 如果有技能不能表述的额外效果,代码添加在这里,比如1号技能
  30.          # if sid == 1
  31.           # recover_sp =(@active_battler.maxsp / 10)
  32.           # @active_battler.sp += recover_sp
  33.           # @active_battler.damage = recover_sp
  34.           # @active_battler.damage_pop = true
  35.          # end
  36.       # 产生技能使用效果
  37.          @active_battler.skill_effect(@active_battler,$data_skills[sid])
  38.       # Bonus说明文字
  39. @help_window.set_text(@active_battler.name + " 获得了 "+$data_skills[sid].name, 1)
  40.          
  41.          # 刷新状态窗口
  42.          @status_window.refresh  
  43.          # 设置动画 ID
  44.          @animation1_id = $data_skills[sid].animation1_id
  45.          @animation2_id = $data_skills[sid].animation2_id
  46.          if @animation1_id == 0
  47.            @active_battler.white_flash = true
  48.          else
  49.            @active_battler.animation_id = @animation1_id
  50.            @active_battler.animation_hit = true
  51.          end
  52.          @active_battler.animation_id = @animation2_id
  53.          @active_battler.animation_hit = (@active_battler.damage != "Miss")
  54.          @wait_count = 20
  55.          @active_battler.damage_pop = false
  56.          return
  57.        end
  58.      end
  59.    end
  60.    # 调用原有的方法
  61.    bonus_Scene_Battle_update_phase4_step1
  62. end
  63. end
  64. #-------------------------------------------------------------------------

复制代码
dsu_plus_rewardpost_czw
作者: hys111111    时间: 2012-6-17 08:45
本帖最后由 hys111111 于 2012-6-17 09:55 编辑
  1. #---------------------------------------------------------------------
  2. # BONUS系统 BY FantasyDR 面粉
  3. class Scene_Battle
  4. alias bonus_Scene_Battle_update_phase4_step1 update_phase4_step1
  5. def update_phase4_step1
  6.    if 1  # 填写Bonus触发条件,这里是一直触发
  7.    
  8.      sid = 92 + rand(1)   # 产生Bonus技能的随机ID,这里是随机1~5号
  9.       
  10.      if  @active_battler != nil
  11.              if@active_battler.hp > 0 #hys修改部分
  12.         
  13.    # 添加标示,Bonus释放则不继续后面的步骤,释放完毕则继续
  14.        @bonus_over = {} if @bonus_over == nil
  15.        if @bonus_over[@active_battler.index]
  16.          @bonus_over.delete(@active_battler.index)
  17.        else
  18.          @bonus_over[@active_battler.index] = true
  19.           if sid == 91
  20.             $game_party.gain_gold(rand( 1900 )+100)
  21.             #——声效,可以自己改
  22.             Audio.se_play("Audio/SE/"+"056-Right02",80,100)
  23.             end
  24.           if sid == 92
  25.            recover_sp =(@active_battler.maxsp / 10)
  26.            @active_battler.sp += recover_sp
  27.            @active_battler.damage = recover_sp
  28.            @active_battler.damage_pop = true
  29.           end
  30.             # 如果有技能不能表述的额外效果,代码添加在这里,比如1号技能
  31.          # if sid == 1
  32.           # recover_sp =(@active_battler.maxsp / 10)
  33.           # @active_battler.sp += recover_sp
  34.           # @active_battler.damage = recover_sp
  35.           # @active_battler.damage_pop = true
  36.          # end
  37.       # 产生技能使用效果
  38.          @active_battler.skill_effect(@active_battler,$data_skills[sid])
  39.       # Bonus说明文字
  40. @help_window.set_text(@active_battler.name + " 获得了 "+$data_skills[sid].name, 1)
  41.          
  42.          # 刷新状态窗口
  43.          @status_window.refresh  
  44.          # 设置动画 ID
  45.          @animation1_id = $data_skills[sid].animation1_id
  46.          @animation2_id = $data_skills[sid].animation2_id
  47.          if @animation1_id == 0
  48.            @active_battler.white_flash = true
  49.          else
  50.            @active_battler.animation_id = @animation1_id
  51.            @active_battler.animation_hit = true
  52.          end
  53.          @active_battler.animation_id = @animation2_id
  54.          @active_battler.animation_hit = (@active_battler.damage != "Miss")
  55.          @wait_count = 20
  56.          @active_battler.damage_pop = false
  57.          return
  58.        end
  59.       end
  60.      end
  61.    end
  62.    # 调用原有的方法
  63.    bonus_Scene_Battle_update_phase4_step1
  64. end
  65. end
  66. #-------------------------------------------------------------------------
复制代码
完成
作者: zdb123    时间: 2012-6-17 09:51
hys111111 发表于 2012-6-17 08:45
完成

额 第10行有误




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