じ☆ve冰风 发表于 2026-8-1 17:52:18

Speedy Input.repeat for Menu

Speedy Input.repeat for Menu+2011/12/25

Creator name: Ru/むっくRu (Rutan) | (English Translation by tale)​

Introduction
A script that speeds up the scrolling in the menu. Also it can slow down if you want to.

Features
- Adjustable scrolling speed for menu

For more details, see the item settings in the script. Despite how awful the item setting description, it's short though.

Video

https://www.youtube.com/embed/0fWPcncbZVU

How to Use
Paste this script above Main.

Script link
https://raw.githubusercontent.com/ovate/torigoya-rgss3/main/torigoya_SpeedyInput.rb

                Code:       
# coding: utf-8
#===============================================================================
# ■ Speedy Input.repeat for Menu for RGSS3
#-------------------------------------------------------------------------------
# 2012/01/02 Ru/むっくRu | English translation by tale 2017/02/16
# License - Public Domain, allows commercial use and credit is not necessary
#-------------------------------------------------------------------------------
#Input.repeat? Speeds up the intervals.
#(※Depends on the setting, you can slow down!)
#
#● Following features added
#Input.repeatEx?(key) …… Faster Input.repeat?
#
#● Following features changed
#Input.repeat?(key)   …… Faster than usual
#
#-------------------------------------------------------------------------------
# 【Issues】
#Awful item setting description...
#-------------------------------------------------------------------------------
# 【Changelogs】
# 2012/01/02 Function extended where it can be reflected on the base script upon usage.
# 2011/12/25 Fixed an error that occurred after startup
# 2011/12/21 Released
#-------------------------------------------------------------------------------

#===============================================================================
# ● Item settings
#==============================================================================
module HZM_VXA
module InputRepeatEx
    # First waiting time to second then repeat
    # (Time: Start to finish.)
    WAIT1 = 20
    # Second waiting time after repeat
    # (Time: Inbetween)
    WAIT2 = 1
   
    # Do you want to replace the default Input.repeat with a faster repeat?
    REPLACE_REPEAT_FLAG = true
end
end

#===============================================================================
# ↑   Setup goes here   ↑
# ↓Script down there↓
#===============================================================================

module HZM_VXA
module InputRepeatEx
    LIST = [:DOWN, :LEFT, :RIGHT, :UP, :A, :B, :C, :X, :Y, :Z, :L, :R, :SHIFT, :CTRL, :ALT, :F5, :F6, :F7, :F8, :F9]
end
end
module Input
@hzm_vxa_inputrepeatex_repeatex_cnt= {}
@hzm_vxa_inputrepeatex_repeatex_flag = {}
HZM_VXA::InputRepeatEx::LIST.each do |key|
    @hzm_vxa_inputrepeatex_repeatex_cnt = 0
    @hzm_vxa_inputrepeatex_repeatex_flag = false
end
end

class << Input
#-----------------------------------------------------------------------------
# ● Update
#-----------------------------------------------------------------------------
alias hzm_vxa_inputrepeatex_update update
def update
    hzm_vxa_inputrepeatex_update
    HZM_VXA::InputRepeatEx::LIST.each do |key|
      if trigger?(key)
      @hzm_vxa_inputrepeatex_repeatex_cnt = HZM_VXA::InputRepeatEx::WAIT1
      @hzm_vxa_inputrepeatex_repeatex_flag = true
      elsif press?(key)
      if @hzm_vxa_inputrepeatex_repeatex_cnt <= 0
          @hzm_vxa_inputrepeatex_repeatex_cnt = HZM_VXA::InputRepeatEx::WAIT2
          @hzm_vxa_inputrepeatex_repeatex_flag = true
      else
          @hzm_vxa_inputrepeatex_repeatex_cnt -= 1
          @hzm_vxa_inputrepeatex_repeatex_flag = false
      end
      else
      @hzm_vxa_inputrepeatex_repeatex_cnt = 0
      @hzm_vxa_inputrepeatex_repeatex_flag = false
      end
    end
end
#-----------------------------------------------------------------------------
# ● Speed repeat
#-----------------------------------------------------------------------------
def repeatEx?(key)
    @hzm_vxa_inputrepeatex_repeatex_flag
end
#-----------------------------------------------------------------------------
# ● repeat?(Redefined)
#-----------------------------------------------------------------------------
if HZM_VXA::InputRepeatEx::REPLACE_REPEAT_FLAG
    def repeat?(key)
      repeatEx?(key)
    end
end
end

# When the base script is present, repeatEX is supported
if defined?(HZM_VXA::Input)
module HZM_VXA
    module Input
      def self.wait1
      HZM_VXA::InputRepeatEx::WAIT1
      end
      def self.wait2
      HZM_VXA::InputRepeatEx::WAIT2
      end
    end
end
end


Credit and Thanks
- Original Author: Rutan
- English translation: tale

License - Public Domain, this means commercial use is allow and credit is not necessary

Source
https://torigoya.hatenadiary.jp/entry/20111220/repeat


本贴来自国际rpgmaker官方论坛作者:ovate处,因国际论坛即将永久关站,为了存档多年珍贵资料,署名转载到本论坛存档,由于官方帖子为英文原帖,需要中文翻译请点击论坛顶部切换语言为中文就可以将帖子翻译成中文浏览,方便大家随时查看,原文地址:https://forums.rpgmakerweb.com/threads/speedy-input-repeat-for-menu.74972/
页: [1]
查看完整版本: Speedy Input.repeat for Menu