查看: 2830|回复: 1

[RMVA发布] 【优化】血量低于某值时切换BGM

[复制链接]
梦石
0
星屑
50
在线时间
91 小时
注册时间
2012-3-3
回帖
56
发表于 2014-1-21 13:45:42 | 显示全部楼层 |阅读模式

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

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

×
得到M5君(@喵呜喵5 )的授权后呢本人对他的原创脚本做了一些优(luan)化(gai){:2_270:}
原脚本在这里
http://rpg.blue/home.php?mod=space&uid=291206&do=blog&id=12121

改动以及说明放在脚本注释中了,脚本比较简单就不发范例了。

[pre lang="ruby" line="1"]=begin

===============================================================================
  危急时切换BGM By喵呜喵5
===============================================================================
【说明】
  战斗中队伍总HP小于一定比率时自动切换战斗BGM
  
  
===============================================================================
  2014年1月21日由木头优化
  优化内容:
    1.修改了可以不改变BGM名
    2.增加了可改变音量大小和音调
===============================================================================
=end

module M5ChanBgm
#==============================================================================
#  设定部分
#==============================================================================

  #这里设置HP的比率,当队伍的HP总百分比小于这个比率时切换BGM
  DANGER = 95
  
  #这里设置切换的BGM,不需要加路径名,可以不加后缀名,留空""切换BGM
  BGM = ""
  
  #音量的改变定量(1~100),0为不改变
  VOL = 0
  #音量的改变量(-100~+100),0为不改变
  CVOL = 0
  
  #音调的改变定量(50~150),0为不改变
  PITCH = 0
  #音调的改变量(-50~+50),0为不改变
  CPITCH = 10
  
  
#==============================================================================
#  设定结束
#==============================================================================
end


class Game_Troop < Game_Unit
  def bgm_name
    if M5ChanBgm::BGM == ""
      return $data_system.battle_bgm.name
    else
      return M5ChanBgm::BGM
    end
  end
  
  def bgm_vol
    if M5ChanBgm::VOL
      return $data_system.battle_bgm.volume
    else
      return M5ChanBgm::VOL
    end
  end
  
  def bgm_pitch
    if M5ChanBgm::PITCH
      return $data_system.battle_bgm.pitch
    else
      return M5ChanBgm::PITCH
    end
  end

  def change_bgm   
    hp = 0
    mhp = 0
    @pos = 0 if !@pos
    @danger = false if @danger == nil   
    $game_party.battle_members.each do |actor|
      hp += actor.hp
      mhp += actor.mhp
    end
    if hp.to_f / mhp < (M5ChanBgm::DANGER * 0.01)
      if !@danger
        @pos = Audio.bgm_pos
        Audio.bgm_play("Audio/BGM/"+bgm_name,bgm_vol + M5ChanBgm::CVOL, bgm_pitch + M5ChanBgm::CPITCH )
        @danger = true
      end
    else
      if @danger
        $game_system.battle_bgm.play(@pos)
        @danger = false
      end
    end
  end

  alias m5_setup_battle_event setup_battle_event
  def setup_battle_event
    change_bgm
    m5_setup_battle_event  
  end  
end[/pre]

职业の水客

梦石
2
星屑
16976
在线时间
7495 小时
注册时间
2010-6-16
回帖
3461

极短27评委MZ评测员极短26评委开拓者

发表于 2014-1-30 19:26:45 | 显示全部楼层
很好用的脚本额 可以营造一些紧张的氛围了 赞一个

点评

哈哈哈,什么时候才能写出我自己的脚本呢  发表于 2014-1-31 09:45
一个看图的地方
群爆炸重建后状态:论坛老人最多(只剩下了活跃的老人),技术力很强(依旧不变)的编程灌水群:901540785
专门讨论RM相关的Q群:56875149
PS:第一个群不是专门讨论RM的,第二个才是哦。
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部