查看: 1120|回复: 2

[已经解决] 请教一下各位大佬,怎么做到受到某种状态时触发某种音效

[复制链接]
梦石
0
星屑
259
在线时间
74 小时
注册时间
2021-3-3
回帖
14
发表于 2025-4-21 21:48:33 | 显示全部楼层 |阅读模式
悬赏150星屑已解决
就是自己或敌方角色获得x号状态时,触发一次名为y的音效。
求大佬帮忙写个脚本。

最佳答案

查看完整内容

[pre lang="ruby"]class Game_Battler < Game_BattlerBase alias old_add_new_state add_new_state def add_new_state(state_id) old_add_new_state(state_id) $data_states[state_id].note =~ /\/ if $1 != nil f = $1.split(/\*/) Audio.se_play('Audio/SE/' + f[0],(f[1] || 100).to_i,(f[2] || 100).to_i) end end end[/pre] 把这个脚本塞到 插件脚本 里 然后, 在数据库, 要播放SE的状态 ...
梦石
0
星屑
42235
在线时间
6017 小时
注册时间
2006-11-10
回帖
6966
发表于 2025-4-21 21:48:34 | 显示全部楼层
[pre lang="ruby"]class Game_Battler < Game_BattlerBase
  alias old_add_new_state add_new_state
  def add_new_state(state_id)
    old_add_new_state(state_id)
    $data_states[state_id].note =~ /\<SE=(.+?)\>/
    if $1 != nil
      f = $1.split(/\*/)
      Audio.se_play('Audio/SE/' + f[0],(f[1] || 100).to_i,(f[2] || 100).to_i)
    end
  end
end[/pre]

把这个脚本塞到 插件脚本 里
然后, 在数据库, 要播放SE的状态的备注栏里, 写上

<SE=音效名称*100*100>

其中第一个100是音量, 第二个100是音调, 也可以省略写法 <SE=音效名称>  这样写默认音量和音调都是100,

注意, 音效名称不用带后缀, SE要大写, 符号都是半角符号, 写错是会弹出来的
回复

使用道具 举报

梦石
0
星屑
259
在线时间
74 小时
注册时间
2021-3-3
回帖
14
 楼主| 发表于 2025-4-23 19:07:36 | 显示全部楼层
灯笼菜刀王 发表于 2025-4-21 22:33
class Game_Battler < Game_BattlerBase
  alias old_add_new_state add_new_state
  def add_new_state(st ...

非常感谢
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部