设为首页 收藏本站
登录 /立即注册 /找回密码

URPGs

快捷导航
  • 门户Portal
  • 论坛BBS
  • 群组Group
  • 导读Guide
  • 家园Space
  • 工具Tools
  • 广播Follow
  • 期刊Periodical
  • 排行榜Ranklist
  • 社区茶坊
  • pixlr图片编辑
  • 资源列表
  • photobucket
  • RMVA Lite [In English]
  • RM RTP
  • TryRUBY
  • RMXP+RMVX下载[VeryCD]
  • RMVA下载[66RPG]
搜索
  • 本版
  • 帖子
  • 用户
URPGs»论坛 › 技术讨论 › 技术讨论 › 【优化】血量低于某值时自动切换BGM
返回列表 发新帖
查看: 3918|回复: 0

[RMVA 技术讨论] 【优化】血量低于某值时自动切换BGM

[复制链接]
rw木头
rw木头 当前离线
积分
11
查看详细资料 窥视卡 雷达卡
发表于 2014-1-21 13:54:59 | 显示全部楼层 |阅读模式
本帖最后由 rw木头 于 2014-1-21 14:48 编辑

得到6R的M5君的授权后呢本人对他的原创脚本做了一些优(luan)化(gai)

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

[code=ruby]=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[/code]

本帖子中包含更多资源

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

×

评分

参与人数 2银币 +30 经验 +20 收起 理由
水终结者 + 20 塞糖~
Sonic1997 + 30 实用脚本0w0

查看全部评分

回复

使用道具 举报

  • 提升卡
  • 置顶卡
  • 沉默卡
  • 喧嚣卡
  • 变色卡
  • 抢沙发
  • 千斤顶
  • 显身卡
返回列表 发新帖
高级模式
B Color Image Link Quote Code Smilies
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

站点统计|Archiver|手机版|意见反馈[feedback]| URPGs RPG Maker 游戏制作讨论

GMT+8, 2025-5-9 14:30 , Processed in 0.018631 second(s), 10 queries .

Powered by Discuz! X3.5

© 2011-2019 URPGs (Discuz! X3.4 © 2001-2019 Comsenz Inc.)

积分 0, 距离下一级还需 积分
快速回复 返回顶部 返回列表