注册会员 登录
Project1 返回首页

喵呜喵5的树洞 https://rpg.blue/?291206 [收藏] [复制] [分享] [RSS]

日志

【脚本】文字显示速度控制

热度 27已有 18279 次阅读2013-9-7 19:26 |个人分类:脚本

本脚本的使用范例(范例中的代码为旧版的代码,在细节上存在一点问题):

=begin
===============================================================================
  文字显示速度控制 By喵呜喵5
===============================================================================

【说明】

  1、通过一个变量控制显示文字的速度

  2、通过一个按键来快进对话(可能与其他脚本存在冲突)

  3、对话中自由停顿指定时长

【说明】

  关于自由停顿:

  使用转义字符\w[x]对话将停顿x帧,停顿过程中可以按键跳过停顿

  使用转义字符\nw[x]对话将停顿x帧,无法跳过停顿

=end
$m5script ||= {};$m5script[:M5MT20131130] = 20160331
raise '请将逆转裁判式证言脚本放在文字显示速度控制脚本之下' if
  $m5script[:M5SB20141206]
module M5MT20131130
#==============================================================================
#  设定部分
#==============================================================================

  SPE = 1

  # 在这里设置控制对话速度的变量ID

  BUT = :CTRL

  # 在这里设置快进对话的按键

    SWI = 0

    # 当对应ID的开关打开时,不使用快进对话按键的功能

    OFF = false

    # 设置为 true 时,快进对话按键功能将被关闭
    # 当快进对话按键功能与其他脚本发生冲突时,
    # 请尝试将这里设置成 true 并将本脚本放在冲突脚本之下

#==============================================================================
#  设定结束
#==============================================================================
  def self.button_off
    OFF || $game_switches[SWI]
  end
end
class Window_Message
  alias m5_wait_for_one_character wait_for_one_character
  def wait_for_one_character
    [$game_variables[M5MT20131130::SPE], 0].max.times do |i|
      m5_wait_for_one_character
    end
  end
  alias m5_20131130_process_escape_character process_escape_character
  def process_escape_character(code, text, pos)
    case code.upcase
    when 'W'
      [obtain_escape_param(text),0].max.times do |i|
        update_show_fast
        Fiber.yield unless @show_fast || @line_show_fast
      end
    when 'NW'
      ([obtain_escape_param(text),0].max).times { Fiber.yield }
    else
      m5_20131130_process_escape_character(code, text, pos)
    end
  end
  alias m5_20131130_update_show_fast update_show_fast
  def update_show_fast
    m5_20131130_update_show_fast
    return if M5MT20131130.button_off || @show_fast
    @show_fast = Input.press?(M5MT20131130::BUT)
  end
  alias m5_20141218_wait wait
  def wait(duration)
    return m5_20141218_wait(duration) if M5MT20131130.button_off
    duration.times do
      Input.press?(M5MT20131130::BUT) ? break : Fiber.yield
    end
  end
  alias m5_20141218_input_pause input_pause
  def input_pause
    return m5_20141218_input_pause if M5MT20131130.button_off
    self.pause = true
    wait(10)
    Fiber.yield until Input.trigger?(:B) || Input.trigger?(:C)||\
      Input.press?(M5MT20131130::BUT)
    Input.update
    self.pause = false
  end
end
12

鸡蛋
2

鲜花

刚表态过的朋友 (14 人)

发表评论 评论 (26 个评论)

回复 鑫晴 2015-2-18 10:34
貌似不兼容[对话显示姓名]脚本
回复 azike 2015-3-17 21:26
您好,我的問題是我玩的遊戲遇到標點符號都會停頓個約莫一兩秒才會繼續進行,用了您寫的腳本之後ctrl可以快進,但是太快了看不到說什麼QAQ 想請問有辦法讓上面這個語法只快進到這個對話完而不接下一個對話嗎? 或者有辦法一次讓這個對話框的對話全跑出來按下確定後在跑下一個對話框,以上,打擾了抱歉,十分感謝您的分享!
回复 喵呜喵5 2015-3-17 21:41
azike: 您好,我的問題是我玩的遊戲遇到標點符號都會停頓個約莫一兩秒才會繼續進行,用了您寫的腳本之後ctrl可以快進,但是太快了看不到說什麼QAQ 想請問有辦法讓上面這 ...
把这个脚本最后那部分的

alias m5_20141218_input_pause input_pause
  def input_pause
    return m5_20141218_input_pause if M5MT20131130.button_off
    self.pause = true
    wait(10)
    Fiber.yield until Input.trigger?(:B) || Input.trigger?(:C)||\
      Input.press?(M5MT20131130::BUT)
    Input.update
    self.pause = false
  end

这些内容删掉

【注意脚本的结尾有两个end,其中一个end要留下来,只删除上面列出的那个end
回复 azike 2015-3-18 19:36
不知道為什麼,今天放入腳本時一直顯示stack level too deep 不管有沒有刪上面那些內容都一樣,昨天明明不會的,請問是怎麼回事 QAQ
回复 azike 2015-3-18 19:39
剛剛自己誤打誤撞把問題解決了!! 拍謝 跟 感謝 !!
回复 威风镰鼬 2015-11-29 14:35
不会用啊、变量设成2000了,速度还是没变,一下子就把话显示完了。
回复 喵呜喵5 2015-11-29 14:57
威风镰鼬: 不会用啊、变量设成2000了,速度还是没变,一下子就把话显示完了。
你这个2000是在脚本开头设置的?
回复 威风镰鼬 2015-11-29 16:47
是在变量操作设置的。脚本开头那个我知道是变量ID啊。
回复 喵呜喵5 2015-11-29 17:27
威风镰鼬: 是在变量操作设置的。脚本开头那个我知道是变量ID啊。
有插入其他的文字脚本吗?
回复 威风镰鼬 2015-11-29 17:52
喵呜喵5: 有插入其他的文字脚本吗?
木有了,。。
回复 喵呜喵5 2015-11-29 18:44
威风镰鼬: 木有了,。。
范例工程 http://pan.baidu.com/s/1BgK2
回复 威风镰鼬 2015-12-4 18:35
喵呜喵5: 范例工程 http://pan.baidu.com/s/1BgK2
已修复,蟹蟹喵呜!
回复 喵呜喵5 2015-12-4 18:45
威风镰鼬: 已修复,蟹蟹喵呜!
你倒是详细说明一下你哪里用错了啊……
回复 威风镰鼬 2015-12-5 11:56
喵呜喵5: 你倒是详细说明一下你哪里用错了啊……
说来惭愧:只是变量操作没搞好、、
回复 才才不是新手! 2016-1-7 21:55
谢谢,这个脚本很好用
按CTRL能在检查的时候快速跳过剧情,而利用变量控制对话速度这个功能也正是我所需要的……
非常感谢
回复 卡奥尼特 2016-1-31 21:52
我记得你的作品【尸体未命名】是有效果音的(说话带声效,像逆转裁判),能否整合到这个脚本里?
回复 喵呜喵5 2016-1-31 21:57
卡奥尼特: 我记得你的作品【尸体未命名】是有效果音的(说话带声效,像逆转裁判),能否整合到这个脚本里?
http://hikimoki.sakura.ne.jp/rgss3/script_neta.html
RGSS3_メッセージ効果音
回复 卡奥尼特 2016-1-31 22:10
喵呜喵5: http://hikimoki.sakura.ne.jp/rgss3/script_neta.html
RGSS3_メッセージ効果音
這個,只能固定一個效果音……始終都會播放這個效果音,感覺又換不了……
回复 shadowearl1 2016-3-31 12:32
请问大神我即使把指定变量设置为1,文字显示的速度还是非常非常慢……这是为什么呢?设置为0后就变成瞬间显示全部了。
回复 喵呜喵5 2016-3-31 13:22
shadowearl1: 请问大神我即使把指定变量设置为1,文字显示的速度还是非常非常慢……这是为什么呢?设置为0后就变成瞬间显示全部了。 ...
指定变量设置为1之后,运行游戏时1号变量的值是多少?
12下一页

facelist doodle 涂鸦笔

您需要登录后才可以评论 登录 | 注册会员

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

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

GMT+8, 2024-5-6 13:09

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

返回顶部