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

Project1

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

[已经解决] 请问如何在BOUNS脚本中不让死亡者收BOUNS影响和再次攻击

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
37 小时
注册时间
2009-10-4
帖子
45
跳转到指定楼层
1
发表于 2012-6-16 15:17:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如题 请问如何在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. #-------------------------------------------------------------------------

复制代码

Lv3.寻梦者

双子人

梦石
0
星屑
3190
在线时间
3618 小时
注册时间
2009-4-4
帖子
4154

开拓者

2
发表于 2012-6-17 08:45:23 | 只看该作者
本帖最后由 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. #-------------------------------------------------------------------------
复制代码
完成
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
37 小时
注册时间
2009-10-4
帖子
45
3
 楼主| 发表于 2012-6-17 09:51:50 | 只看该作者
hys111111 发表于 2012-6-17 08:45
完成

额 第10行有误

点评

好了 谢谢!  发表于 2012-6-17 10:05
修复  发表于 2012-6-17 09:55
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-30 05:44

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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