设为首页收藏本站同能贴吧 切换语言 繁体中文
开启辅助访问 切换到窄版
扫描二维码关注官方公众号
返回列表
+ 发新帖
查看: 115|回复: 0

[转载发布] Control Configuration System - v1.5 (04/07/2017)

[复制链接]
累计送礼:
0 个
累计收礼:
1 个
  • TA的每日心情
    开心
    2026-7-12 04:10
  • 签到天数: 209 天

    连续签到: 2 天

    [LV.7]常住居民III

    9071

    主题

    864

    回帖

    6万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    VIP
    7
    卡币
    58883
    OK点
    16
    推广点
    0
    同能卷
    50
    积分
    68848

    灌水之王

    发表于 2026-8-3 10:15:13 | 显示全部楼层 |阅读模式
    Code:       
    1. #===============================================================================
    2. # * [ACE] Control Configuration System - Manual And Install Notes
    3. #===============================================================================
    4. # * Made by: Sixth (www.rpgmakervxace.net, www.forums.rpgmakerweb.com)
    5. # * Version: 1.5
    6. # * Updated: 04/07/2017
    7. # * Requires: Neon Black's Keyboard Input (or another keyboard script)
    8. #        /--> Shaz's Super Simple Mouse - modified (or another mouse script)
    9. #        \----- Only if you want to enable mouse usage!
    10. #-------------------------------------------------------------------------------
    11. # * < Change Log >
    12. #-------------------------------------------------------------------------------
    13. # * Version 1.0 (03/11/2016)
    14. #   - Initial release.
    15. # * Version 1.1 (04/11/2016)
    16. #   - If you click on an event while you are directly beside it, you expect it
    17. #     to be triggered, right? It didn't before, but that should be fixed.
    18. #     This update is only useful for mouse users.
    19. #     Only the Main Settings and Main Functions scripts were updated.
    20. # * Version 1.2 (14/11/2016)
    21. #   - Now you can save the current key-bind settings from the running game into
    22. #     a file in your project's folder with a single key press.
    23. #     This allows you to set up your new key-bind settings in the game instead
    24. #     of in the script. Once you saved the new settings you made in the game
    25. #     into this file, you can open the file and copy/paste it directly into
    26. #     the Main Settings script of this system.
    27. #     The saved file will be formatted properly, so it is really just a simple
    28. #     copy/paste job to install the new default control settings from it.
    29. #     This feature only works in play-test mode!
    30. # * Version 1.3 (19/11/2016)
    31. #   - Fixed a bug with the popup window. Now it should open and close properly
    32. #     in every situation.
    33. # * Version 1.4 (22/06/2017)
    34. #   - Fixed some font options.
    35. #   - Fixed an aliased method which could cause crashes in some rare cases.
    36. #   - Fixed the direction key update methods. Turns out, it only worked when
    37. #     using Shaz's Super Simple Mouse System script.
    38. # * Version 1.5 (04/07/2017)
    39. #   - Fixed a bug with the clearing of key binds in the menu.
    40. #   - Fixed a bug with setting key binds in the menu (button rules related).
    41. #   - Separated some parts of the code into patches instead to allow for easier
    42. #     compatibility with other input scripts.
    43. #-------------------------------------------------------------------------------
    44. # * < Description >
    45. #-------------------------------------------------------------------------------
    46. # * The most important note about this script is that this is NOT a
    47. #   plug and play script at all! It is more like a developer's tool.
    48. #   While I did change the default input checks, tons of scripts out there uses
    49. #   those input checks still, and if you want this script to function with them,
    50. #   you will need to change the input checks in those scripts as well!
    51. #   Basic scripting knowledge is a must for using this script!
    52. #   Now, onto the features...
    53. # * This script will add a control configuration menu for your game, so that
    54. #   the players can set their own key-binds to what they want to, instead of
    55. #   using some predefined key-binds the game developer forces on them.
    56. #   Nothing is worse than an awful keyboard control in a game, right? :P
    57. # * Ability to:
    58. #   ~ Make expandable settings. You can make as many key-binds as you want!
    59. #     Well, not really, since there is a limit on the number of keys on a
    60. #     keyboard, but you get the idea, right? :D
    61. #   ~ Set which keys are usable on the keyboard for your game.
    62. #   ~ Set more than 1 key for a function.
    63. #     Primary, secondary, tertiary key-binds, and so on, it can be done.
    64. #   ~ Lock specific key-binds to specific functions. These key-binds can not
    65. #     be removed or changed ever by the player.
    66. #   ~ Disable the removal of specific key-binds on specific functions. This
    67. #     means that at least one key-bind must always be set for the function.
    68. #   ~ Set up share-able key-binds to your functions, so that one function can
    69. #     share the same key with other functions (such as "Menu Cursor Up" and
    70. #     "Move Up", for example).
    71. #   ~ Make any kind of structure for your settings. You can nest as many hashes
    72. #     as you want in your settings, categorize them however you want.
    73. #   ~ Set separate key-bind settings for the menu and for the map functions.
    74. #     For example, the "Cursor Up" function does not have to share the key(s)
    75. #     with the "Move Up" function (but it can still be set up that way).
    76. #   ~ Make the settings dependent on the currently logged in Windows user
    77. #     (locally), or make them global for all players.
    78. #   ~ Check the last pressed key manually. Might be useful for some eventing.
    79. #   ~ Display the correct keys for your functions in message boxes in 3
    80. #     different ways (text, icon or custom image).
    81. #   ~ Display your function names in message boxes.
    82. #   ~ Add a command button for the control configuration menu in your main menu.
    83. #   ~ Please your players! :P
    84. # * New things added for Neon Black's Keyboard Input script (requires my patch):
    85. #   ~ A "key released?" check method.
    86. #   ~ Mapped all of the keys found on a regular keyboard.
    87. # * New things added for Shaz's Super Simple Mouse script (requires my patch):
    88. #   ~ A "mouse key pressed?" check method.
    89. #   ~ A "mouse key released?" check method.
    90. #   ~ Changed the "mouse key repeat?" check method to match the timings from
    91. #     Neon Black's Keyboard Input script. Needed for synchronization.
    92. #   ~ Added mouse processing for the number input window.
    93. #   ~ Mouse processing on the save and load scenes has been changed.
    94. #   ~ Triggering an event right next to the player is possible now with the
    95. #     mouse movement function (named as :f_move in the key-bind settings).
    96. #   ~ Added an event command for using custom mouse offsets for event icons
    97. #     and texts.
    98. #   ~ Centered the icon and text vertically for custom event icons and texts.
    99. #   ~ Changed the positioning of event icons/texts when they are too close to
    100. #     the right side of the screen.
    101. #   ~ Fixed the compatibility issues with Zeus81's Fullscreen++ script.
    102. #     The mouse will now correctly track the game window's size, be it in
    103. #     windowed or full-screen mode, and be it in any scale ratios.
    104. #     The mouse will be automatically centered when changing screen and scale
    105. #     modes, as well as when changing scenes with Fullscreen++.
    106. #   ~ Fixed the compatibility issue that happens when using Source's
    107. #     Parallel Process Events Execution Bug Fix script. The mouse movement
    108. #     was forever disabled after triggering an event with that script installed.
    109. #   ~ Certain selectable windows could cause crashes if they are disposed while
    110. #     the mouse is active. Added a safe-check to prevent this.
    111. #   ~ Changed the Mouse_to_Input_Triggers constant in the Mouse module to work
    112. #     with this control configuration system, it is now an instance variable
    113. #     which updates itself when the player swaps the mouse buttons on the PC
    114. #     during the game.
    115. #   ~ Removed the begin/rescue call from a constantly updated method.
    116. #     This might increase performance a little (very little, but still :P).
    117. #   ~ Added compatibility for projects which disable the tilemap drawing
    118. #     completely.
    119. #   ~ Added some settings to enable/disable the mouse cursor on all or on
    120. #     specific scenes. These settings are in the Main Settings script of my
    121. #     Control Configuration System.
    122. #   ~ Added an option to forcibly show the system cursor (of Windows) when the
    123. #     in-game mouse cursor is invisible (when it's disabled with the above
    124. #     mentioned features).
    125. #   ~ Added an option to lock the mouse cursor inside the game's window.
    126. #     This works even in different scale ratios (Fullscreen++ compatibility).
    127. #     You can also set it to lock in full-screen or windowed mode only if you
    128. #     need the mouse locked only in one mode.
    129. #   ~ The in-game mouse button trigger checks will now detect if the mouse
    130. #     buttons are inverted on your PC or not. So, the left and right mouse click
    131. #     functions will also be inverted in the game. The displayed key-binds will
    132. #     also reflect this information.
    133. # * Extra features (which might not be desireable, but ohh well...):
    134. #   ~ Changed the dash button's function, so that it simply toggles between
    135. #     dash and walk modes instead of always needing to press the button for it.
    136. #   ~ Did the same for the debug through feature. Instead of holding down the
    137. #     button for it to activate it, now you can simply toggle between normal
    138. #     collision and debug through modes.
    139. # * Features disabled by this script:
    140. #   ~ Old input checks. This leads us to...
    141. #   ~ Gamepad control. I know. I will try to implement a control mode switch in
    142. #     the future which will use LoneWolf's Gamepad Extender script, but due to
    143. #     lack of compatible (any) gamepad, I can't test anything, so this will have
    144. #     to wait. Adjustable full keyboard control "only" is still better than the
    145. #     default gamepad control + the very limited amount of keys provided, in my
    146. #     opinion, so take it with a grain of salt (not sure if I used this
    147. #     expression in the right sense here :P).
    148. #-------------------------------------------------------------------------------
    149. # * < Instructions >
    150. #-------------------------------------------------------------------------------
    151. # * Refer to the script's header for usage instructions!
    152. #-------------------------------------------------------------------------------
    153. # * < Installation >
    154. #-------------------------------------------------------------------------------
    155. # * IMPORTANT: Backup your project before attempting to install this system!
    156. # * Follow the notes below carefully to install this system! Failing to do that
    157. #   can result in undesirable effects!
    158. # * All scripts of this system go below the Materials section but above Main!
    159. # * The relevant scripts should go in this order:
    160. #   - Zeus81's Fullscreen++ (if used)
    161. #   - Yanfly's Core Engine (if used)
    162. #   - Sixth's Control Configuration System - Main Settings
    163. #   - Neon Black's Keyboard Input System
    164. #   - Shaz's Super Simple Mouse Script (if used)
    165. #   - Sixth's Control Configuration System - Vocab Settings
    166. #   - Sixth's Control Configuration System - Menu Settings
    167. #   - Sixth's Control Configuration System - Default Input Check Methods
    168. #   - Sixth's Control Configuration System - Main Functions
    169. #   - Sixth's Control Configuration System - Menu Code
    170. # * The rest of the scripts used by this system can go anywhere on your list.
    171. # * Depending on what other scripts you use, you might need to change the order
    172. #   of your scripts for this system! I haven't tested this with many scripts,
    173. #   so I can't know for sure. Let me know if you find any other mandatory
    174. #   script placement order for other scripts!
    175. # * Yanfly's Message System should go above these scripts if used!
    176. #-------------------------------------------------------------------------------
    177. # * < Compatibility Info >
    178. #-------------------------------------------------------------------------------
    179. # * Added compatibility for Cidiomar's Input System with the v1.5 update.
    180. #   Now you can use that keyboard script too if you want.
    181. #   Note that Cidiomar's Input System allows mouse clicks to be used without a
    182. #   separate mouse script (you will still need a mouse script if you want to
    183. #   use the mouse cursor itself though).
    184. # * As mentioned above, this system is using Neon Black's Keyboard Input script
    185. #   currently. It is possible to use it with other keyboard scripts, but
    186. #   there is a high chance that extensive modifications would need to be done
    187. #   in the scripts of this system. If the keyboard script you want to use uses
    188. #   symbols for the key identifiers (like Neon Black's), than it can be used
    189. #   without much modification in the real code (although you will still need to
    190. #   change tons of things in the setting area). If it uses some other type of
    191. #   identifiers (such as strings or integers), the real code (non-configuration
    192. #   part) of this system must be changed to match the things from the keyboard
    193. #   script you use.
    194. #   Similarly, if the keyboard script you want to use did not patch it's key
    195. #   press checks into the default input check methods, it will not work with
    196. #   this system!
    197. # * The same applies to the mouse script used for this system as the above
    198. #   mentioned rules for the keyboard script you might use.
    199. #   Although mouse systems are a bit more complicated and each of them might
    200. #   be very different from the other, so regardless of what other mouse script
    201. #   you may want to use (aside from Shaz's), it will need to be edited to work
    202. #   with this control configuration system for sure.
    203. # * Gamepads are disabled for now! Notes about this can be found in the
    204. #   description section a little bit above.
    205. # * Any scripts overwriting the overwritten methods found in the
    206. #   Default Input Check Methods script may or may not be incompatible!
    207. #   The mentioned script must be placed below those scripts, or else this system
    208. #   will not function properly!
    209. #-------------------------------------------------------------------------------
    210. # * < Known Issues >
    211. #-------------------------------------------------------------------------------
    212. # * No known issues.
    213. #-------------------------------------------------------------------------------
    214. # * < Terms of Use >
    215. #-------------------------------------------------------------------------------
    216. # * Free to use for whatever purposes you want.
    217. # * Credit me (Sixth) in your game, pretty please! :p
    218. # * Posting modified versions of this script is allowed as long as you notice me
    219. #   about it with a link to it!
    220. # * The other scripts (not written by me) used in this demo retain their
    221. #   original terms of use stated by their authors!
    222. #===============================================================================
    复制代码


        - Script:
        This system has many scripts, so instead of uploading all of them, lookie below for a handy demo.  


        - Demo:
        Linky: https://drive.google.com/open?id=0B7RAWk4I_tQ3NDJxQlgtdFJDSTA

    - Addons:
      Title Command Addon:
    Spoiler





        The key images found in the "Graphics/Key Images/" folder are made by me. Some keys are not included there (like the mouse buttons, for example)!
        Those are just examples and are not meant to be used in any projects! Kindly make your own to use in your project(s), thanks!
        The default cursor icon is made by me. You can use that if you wish, although it's nothing special, really.

        - Screenshots:
    Spoiler



































    NOTE:
    Some functions you see on these screenshots are not really implemented!
    They are just examples for adding new functions/key-bind settings for your project.




        - Author's Notes:

        Whenever I see a game with bad default key-binds and without any way of changing them, I think...
        "Why didn't they make a control configuration system? It's the 21st century, right? >.>"
        I can't say it was easy to make this system, but I finally finished it, and if I can, certainly those developers with much more resources than I have can too.
        Yet they don't. And I am mad at them! -.-

        In any case, this system will surely cheer your players up, regardless if you got a good default key-bind configuration or not.
        Except if you plan to have gamepad usage in your game. That is not possible with this script, and I am not sure if I will add that in the future or not.
        For now, this will stay as a keyboard + mouse control configuration system.

        If you use this system, I recommend using a script to disable the built-in F1 "Options" key for obvious reasons.
        There are multiple scripts floating out there for this, so finding one shouldn't be hard.

        Read the instructions and setting details carefully in the scripts!
        The first thing I wrote in the script's header is that this is NOT a plug-and-play system!
        Unless you plan to use the default menus and functions only, in which case, you are good to go if you are satisfied with my settings in the script.
        Otherwise, you will have to edit the settings to fit your project's need.

        Scripting knowledge is a must for making this compatible with non-default RPG Maker projects!
        In case you need help in this regard, you can ask me, although I can't promise that I can do the changes for you for free (kinda busy with commissions, sorry).

        Okay, tea time! *-*


    本贴来自国际rpgmaker官方论坛作者:Sixth处,因国际论坛即将永久关站,为了存档多年珍贵资料,署名转载到本论坛存档,由于官方帖子为英文原帖,需要中文翻译请点击论坛顶部切换语言为中文就可以将帖子翻译成中文浏览,方便大家随时查看,原文地址:https://forums.rpgmakerweb.com/threads/control-configuration-system-v1-5-04-07-2017.70517/

    本帖子中包含更多资源

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

    x
    天天去同能,天天有童年!
    回复 送礼论坛版权

    使用道具 举报

    文明发言,和谐互动
    文明发言,和谐互动
    高级模式
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    简体中文
    繁體中文
    English(英语)
    日本語(日语)
    Deutsch(德语)
    Русский язык(俄语)
    بالعربية(阿拉伯语)
    Türkçe(土耳其语)
    Português(葡萄牙语)
    ภาษาไทย(泰国语)
    한어(朝鲜语/韩语)
    Français(法语)
    关闭

    幸运抽奖

    社区每日抽奖来袭,快来试试你是欧皇还是非酋~

    立即查看

    聊天机器人
    Loading...

    QQ|Archiver|手机版|小黑屋|同能RPG制作大师 ( 沪ICP备12027754号-3 )

    GMT+8, 2026-8-17 07:18 , Processed in 0.106102 second(s), 52 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.

    快速回复 返回顶部 返回列表