查看: 9204|回复: 18

[已经解决] 求助~关于VA文字音效脚本修改

[复制链接]
梦石
0
星屑
65
在线时间
24 小时
注册时间
2012-9-10
回帖
10
发表于 2013-6-24 13:08:13 | 显示全部楼层 |阅读模式

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

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

×
给大家添麻烦了= =(鞠躬)
本人想给文字音效添加开关,开关开启的时候有文字音效,关闭则没有……
可以的话还想通过变量调整文字音效的声音…就像《永夜幻想曲》没配音时的文字音效一样…………
无奈,小弟是脚本盲……求各位大神帮帮忙……(脚本是这样添加吗一 一)
[pre lang="ruby" line="1"]#==============================================================================
# ★ RGSS3_メッセージ効果音 Ver1.1
#==============================================================================
=begin

作者:tomoaky
webサイト:ひきも記 (http://hikimoki.sakura.ne.jp/)

文章の表示コマンド実行時、文字の表示と一緒に効果音を鳴らします。

制御文字 \B を使って効果音を再生するかどうかを設定できます。
\B が出てくるたびに切り替わりますが AUTO_SE が true の場合は
最初から効果音が鳴る状態になっています。

おまけ機能として文章の表示速度を変更することができます。
设定了游戏变量(初期设定是8号)的数值越大
显示速度越慢。1 是默认速度最低值。

使用游戏变量(初期设定)
  0008
  
2012.01.22  Ver1.1
  おまけ機能の文章表示速度変更を追加
  
2012.01.21  Ver1.0
  公開

=end

#==============================================================================
# □ 设定项目
#==============================================================================
module TMMESSAGESE
  MESSAGE_SE = RPG::SE.new("Cursor1", 80, 150)    # 再生される効果音
  AUTO_SE = true    # true で自動的に再生、false で制御文字があったときのみ再生
  
  VN_MESSAGE_WAIT = 8   # 文章的显示速度处理游戏变量号码(这个是我改了的,原来是8)
end

#==============================================================================
# ■ Window_Message
#==============================================================================
class Window_Message
  #--------------------------------------------------------------------------
  # ● フラグのクリア
  #--------------------------------------------------------------------------
  alias tmmessagese_window_message_clear_flags clear_flags
  def clear_flags
    tmmessagese_window_message_clear_flags
    @se_flag = TMMESSAGESE::AUTO_SE
  end
  #--------------------------------------------------------------------------
  # ● 一文字出力後のウェイト
  #--------------------------------------------------------------------------
  alias tmessagese_window_message_wait_for_one_character wait_for_one_character
  def wait_for_one_character
    [$game_variables[TMMESSAGESE::VN_MESSAGE_WAIT], 1].max.times do |i|
      tmessagese_window_message_wait_for_one_character
    end
  end
  #--------------------------------------------------------------------------
  # ● 通常的文字处理
  #--------------------------------------------------------------------------
  alias tmmessagese_window_message_process_normal_character process_normal_character
  def process_normal_character(c, pos)
    tmmessagese_window_message_process_normal_character(c, pos)
    TMMESSAGESE::MESSAGE_SE.play if @se_flag
  end
  #--------------------------------------------------------------------------
  # ● 制御文字の処理
  #     code : 制御文字の本体部分(「\C[1]」なら「C」)
  #     text : 描画処理中の文字列バッファ(必要なら破壊的に変更)
  #     pos  : 描画位置 {:x, :y, :new_x, :height}
  #--------------------------------------------------------------------------
  alias tmmessage_window_message_process_escape_character process_escape_character
  def process_escape_character(code, text, pos)
    case code.upcase
    when 'B'
      @se_flag ^= true
    else
      tmmessage_window_message_process_escape_character(code, text, pos)
    end
  end
end

[/pre]
梦石
0
星屑
50
在线时间
95 小时
注册时间
2013-4-10
回帖
74
发表于 2013-6-24 15:47:32 | 显示全部楼层
- -同求个(mark)……
...
回复

使用道具 举报

梦石
0
星屑
70
在线时间
1083 小时
注册时间
2013-3-29
回帖
2158
发表于 2013-6-24 16:31:25 | 显示全部楼层
试试在事件输入脚本"AUTO_SE = true"(应该不行。。。)
变声音在第34行。

点评

true\false (开启\关闭)  发表于 2013-6-24 16:32

坑的进度如上                                                                                                        点击↑
回复

使用道具 举报

梦石
0
星屑
65
在线时间
24 小时
注册时间
2012-9-10
回帖
10
 楼主| 发表于 2013-6-24 18:15:04 | 显示全部楼层
黄濑凉太 发表于 2013-6-24 16:31
试试在事件输入脚本"AUTO_SE = true"(应该不行。。。)
变声音在第34行。

貌似真的不行…另外,我是想通过变量等方式在游戏中改变音效,就是这句话是“叮叮叮”,下句话就“咚咚咚"l了那种……  = =|||
回复

使用道具 举报

梦石
1
星屑
23236
在线时间
9564 小时
注册时间
2012-6-19
回帖
7018

开拓者短篇九导演组冠军

发表于 2013-6-24 21:08:56 | 显示全部楼层
本帖最后由 喵呜喵5 于 2013-6-25 23:26 编辑

[pre lang="ruby" line="1"]=begin
===============================================================================
  ひきも記文字效果音加强 By喵呜喵5
===============================================================================
【说明】
ひきも記的《★ RGSS3_メッセージ効果音 Ver1.1》的修改版
(原脚本:http://hikimoki.sakura.ne.jp/rgss3/script_neta/tmmessagese.rb)
使用的文字效果音分别命名为Cursor0、Cursor1、Cursor2……放到SE文件夹下
接着修改变量的数值,即可实现不同对话使用不同文字效果音,
不能实现一句对话中途修改效果音的效果,因为我懒得去研究转义字符怎么写……

例:
当变量的值为1时,
每显示一个文字将以100的音量、80的音调播放音效“Cursor1”

=end

module TMMESSAGESE

  AUTO_SE = true    # true で自動的に再生、false で制御文字があったときのみ再生
  
  SE_TYPE = 1       #判定使用哪个效果音的变量
  
  VN_MESSAGE_WAIT = 8   # 文章の表示速度として扱うゲーム変数番号
end

#==============================================================================
# ■ Window_Message
#==============================================================================
class Window_Message
  #--------------------------------------------------------------------------
  # ● フラグのクリア
  #--------------------------------------------------------------------------
  alias tmmessagese_window_message_clear_flags clear_flags
  def clear_flags
    tmmessagese_window_message_clear_flags
    @se_flag = TMMESSAGESE::AUTO_SE
    @se_name = "Cursor"+$game_variables[TMMESSAGESE::SE_TYPE].to_s
  end
  #--------------------------------------------------------------------------
  # ● 一文字出力後のウェイト
  #--------------------------------------------------------------------------
  alias tmessagese_window_message_wait_for_one_character wait_for_one_character
  def wait_for_one_character
    [$game_variables[TMMESSAGESE::VN_MESSAGE_WAIT], 1].max.times do |i|
      tmessagese_window_message_wait_for_one_character
    end
  end
  #--------------------------------------------------------------------------
  # ● 通常文字の処理
  #--------------------------------------------------------------------------
  alias tmmessagese_window_message_process_normal_character process_normal_character
  def process_normal_character(c, pos)
    tmmessagese_window_message_process_normal_character(c, pos)
    RPG::SE.new(@se_name, 80, 100).play if @se_flag
  end
  #--------------------------------------------------------------------------
  # ● 制御文字の処理
  #     code : 制御文字の本体部分(「\C[1]」なら「C」)
  #     text : 描画処理中の文字列バッファ(必要なら破壊的に変更)
  #     pos  : 描画位置 {:x, :y, :new_x, :height}
  #--------------------------------------------------------------------------
  alias tmmessage_window_message_process_escape_character process_escape_character
  def process_escape_character(code, text, pos)
    case code.upcase
    when 'B'
      @se_flag ^= true
    else
      tmmessage_window_message_process_escape_character(code, text, pos)
    end
  end
end[/pre]

评分

参与人数 1星屑 +45 收起 理由
j433463 + 45 塞糖

查看全部评分

回复

使用道具 举报

梦石
0
星屑
65
在线时间
24 小时
注册时间
2012-9-10
回帖
10
 楼主| 发表于 2013-6-25 12:09:48 | 显示全部楼层
喵呜喵5 发表于 2013-6-24 21:08
=begin

===============================================================================

谢谢~解决了~不过我该怎么把这个改成【已经解决】咧……= =|||
回复

使用道具 举报

梦石
0
星屑
65
在线时间
24 小时
注册时间
2012-9-10
回帖
10
 楼主| 发表于 2013-6-25 13:17:55 | 显示全部楼层
喵呜喵5 发表于 2013-6-24 21:08
=begin

===============================================================================

敢问……这是怎么回事= =|||
问题.png
回复

使用道具 举报

梦石
1
星屑
23236
在线时间
9564 小时
注册时间
2012-6-19
回帖
7018

开拓者短篇九导演组冠军

发表于 2013-6-25 16:01:33 来自手机 | 显示全部楼层
794895607 发表于 2013-6-25 13:17
敢问……这是怎么回事= =|||

你控制音效的三个变量的数值各是多少?
回复

使用道具 举报

梦石
0
星屑
65
在线时间
24 小时
注册时间
2012-9-10
回帖
10
 楼主| 发表于 2013-6-25 18:07:33 | 显示全部楼层
喵呜喵5 发表于 2013-6-25 16:01
你控制音效的三个变量的数值各是多少?

默认也会出现这种问题……

点评

还是说需要我把其他设置都去掉,只给你留一个选择播放文件,不允许随意调整音量音调?  发表于 2013-6-25 20:12
文件名为0、音量为0这些还没问题,音调为0,播放一个音效的时间不就变成无穷长了?  发表于 2013-6-25 20:11
默认值三个都是0啊喂!  发表于 2013-6-25 20:10
回复

使用道具 举报

梦石
1
星屑
23236
在线时间
9564 小时
注册时间
2012-6-19
回帖
7018

开拓者短篇九导演组冠军

发表于 2013-6-25 20:20:51 | 显示全部楼层
本帖最后由 喵呜喵5 于 2013-6-25 23:24 编辑

错误脚本已删除
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部