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

[转载发布] GE Game Adapter

[复制链接]
累计送礼:
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-2 17:23:55 | 显示全部楼层 |阅读模式
    This script works with Gamepad Extender by Lone Wolf to make the default scripts work well with a controller. It does not break things for keyboard users, so players using whatever they desire should be able to play with optimal controls.


        To use this script, copy and paste it into your game under materials and above main, but Gamepad Extender must also be in the game under materials and above GE Game Adapter. You can get it here: http://forums.rpgmakerweb.com/index.php?/topic/1284-gamepad-extender-v11-2202015


    Spoiler: 1.1
                    Code:       
    1. #==============================================================================
    2. # Gamepad Extender Game Adapter
    3. # by Jono99
    4. #------------------------------------------------------------------------------
    5. # This allows the game commands to be handled in a way more friendly to controller
    6. # input. Based off Gamepad Extender by Lone Wolf and requires Gamepad Extender
    7. # in order to function.
    8. # Link to download Gamepad Extender: http://forums.rpgmakerweb.com/index.php?/topic/1284-gamepad-extender-v11-2202015/
    9. #------------------------------------------------------------------------------
    10. # Changelog
    11. # 1.0.0: Initial release
    12. # 1.0.1: Fixed bug where the save menu would not accept input from the analogue stick and the dpad's input would be duplicated (only occured when MenuInput was set to 2)
    13. #==============================================================================
    14. module GEGAOptions
    15.   # Use the Start button instead of the B button to pause the game
    16.   StartForPause = true
    17.   # Determine what input device is used for the menus.
    18.   # 0 for just the dpad
    19.   # 1 for just the left analogue stick
    20.   # 2 for both
    21.   MenuInput = 2
    22.   # Determine what input device is used for moving around the map.
    23.   # 0 for just the dpad
    24.   # 1 for just the left analogue stick
    25.   # 2 for both
    26.   MoveInput = 2
    27. end
    28. #==============================================================================
    29. # DO NOT EDIT UNLESS YOU KNOW WHAT YOU ARE DOING!
    30. #==============================================================================
    31. if defined?(WolfPad) == nil
    32.   msgbox("WARNING: GamePad Extender is either missing or executes sometime after this. To avoid issues, GE Game Adapter will not execute!")
    33. elsif GEGAOptions::StartForPause.class != TrueClass
    34.   msgbox("WARNING: StartForPause doesn't have a valid value. It must be true or false. To avoid issues, GE Game Adapter will not execute!")
    35. elsif GEGAOptions::MenuInput.class != Fixnum || GEGAOptions::MenuInput > 2
    36.   msgbox("WARNING: MenuInput doesn't have a valid value. It must be 0, 1, or 2. To avoid issues, GE Game Adapter will not execute!")
    37. elsif GEGAOptions::MoveInput.class != Fixnum || GEGAOptions::MoveInput > 2
    38.   msgbox("WARNING: MoveInput doesn't have a valid value. It must be 0, 1, or 2. To avoid issues, GE Game Adapter will not execute!")
    39. else
    40.   module WolfPad
    41.     def self.dird4(p_i = 0)
    42.       if press?(:UP, p_i)
    43.        8
    44.       elsif press?(:RIGHT, p_i)
    45.        6
    46.       elsif press?(:LEFT, p_i)
    47.        4
    48.       elsif press?(:DOWN, p_i)
    49.        2
    50.       else
    51.        0
    52.       end
    53.     end
    54.     def self.dird8(p_i = 0)
    55.       if press?(:UP, p_i) and press?(:LEFT, p_i)
    56.        7
    57.       elsif press?(:UP, p_i) and press?(:RIGHT, p_i)
    58.        9
    59.       elsif press?(:DOWN, p_i) and press?(:LEFT, p_i)
    60.        1
    61.       elsif press?(:DOWN, p_i) and press?(:RIGHT, p_i)
    62.        3
    63.      else
    64.        dird4(p_i)
    65.       end
    66.     end
    67.   end
    68.   class Game_Player
    69.     #--------------------------------------------------------------------------
    70.     # * Determine if Dashing
    71.     #--------------------------------------------------------------------------
    72.     def dash?
    73.       return false if @move_route_forcing
    74.       return false if $game_map.disable_dash?
    75.       return false if vehicle
    76.       return Input.press?(PadConfig.dash)
    77.     end
    78.     #--------------------------------------------------------------------------
    79.     # * Processing of Movement via Input from Directional Buttons
    80.     #--------------------------------------------------------------------------
    81.     def move_by_input
    82.       return if !movable? || $game_map.interpreter.running?
    83.       if WolfPad.plugged_in? == false
    84.         gega_move_by_input_input(Input.dir4)
    85.       else
    86.         gega_move_by_input_input(WolfPad.dird4) if GEGAOptions::MoveInput == 0 || GEGAOptions::MoveInput == 2
    87.         gega_move_by_input_input(WolfPad.lstick4) if GEGAOptions::MoveInput > 0
    88.       end
    89.     end
    90.     def gega_move_by_input_input(dir4)
    91.       move_straight(dir4) if dir4 > 0
    92.     end
    93.     #--------------------------------------------------------------------------
    94.     # * Processing When Not Moving
    95.     #     last_moving : Was it moving previously?
    96.     #--------------------------------------------------------------------------
    97.     def update_nonmoving(last_moving)
    98.       return if $game_map.interpreter.running?
    99.       if last_moving
    100.         $game_party.on_player_walk
    101.         return if check_touch_event
    102.       end
    103.       if movable? && Input.trigger?(PadConfig.confirm)
    104.         return if get_on_off_vehicle
    105.         return if check_action_event
    106.       end
    107.       update_encounter if last_moving
    108.     end
    109.   end
    110.   class Window_Selectable
    111.     #--------------------------------------------------------------------------
    112.     # * Cursor Movement Processing
    113.     #--------------------------------------------------------------------------
    114.     def process_cursor_move
    115.       return unless cursor_movable?
    116.       last_index = @index
    117.       if WolfPad.plugged_in?
    118.         gega_process_cursor_move_input(:UP, :DOWN, :LEFT, :RIGHT) if GEGAOptions::MenuInput == 0 || GEGAOptions::MenuInput == 2
    119.         gega_process_cursor_move_input(:L_UP, :L_DOWN, :L_LEFT, :L_RIGHT) if GEGAOptions::MenuInput > 0
    120.       else
    121.         gega_process_cursor_move_input(:UP, :DOWN, :LEFT, :RIGHT)
    122.       end
    123.       cursor_pagedown   if !handle?(:pagedown) && Input.trigger?(PadConfig.page_down)
    124.       cursor_pageup     if !handle?(:pageup)   && Input.trigger?(PadConfig.page_up)
    125.       Sound.play_cursor if @index != last_index
    126.     end
    127.     def gega_process_cursor_move_input(up, down, left, right)
    128.       cursor_down (Input.trigger?(down)) if Input.repeat?(down)
    129.       cursor_up   (Input.trigger?(up))    if Input.repeat?(up)
    130.       cursor_right(Input.trigger?(right)) if Input.repeat?(right)
    131.       cursor_left (Input.trigger?(left))  if Input.repeat?(left)
    132.     end
    133.     #--------------------------------------------------------------------------
    134.     # * Handling Processing for OK and Cancel Etc.
    135.     #--------------------------------------------------------------------------
    136.     def process_handling
    137.       return unless open? && active
    138.       return process_ok       if ok_enabled?        && Input.trigger?(PadConfig.confirm)
    139.       return process_cancel   if cancel_enabled?    && Input.trigger?(PadConfig.cancel)
    140.       return process_pagedown if handle?(:pagedown) && Input.trigger?(PadConfig.page_down)
    141.       return process_pageup   if handle?(:pageup)   && Input.trigger?(PadConfig.page_up)
    142.     end
    143.   end
    144.   class Window_ShopNumber
    145.     #--------------------------------------------------------------------------
    146.     # * Update Quantity
    147.     #--------------------------------------------------------------------------
    148.     def update_number
    149.       if WolfPad.plugged_in?
    150.         gega_update_number_input(:RIGHT, :LEFT, :UP, :DOWN) if GEGAOptions::MenuInput == 0 || GEGAOptions::MenuInput == 2
    151.         gega_update_number_input(:L_RIGHT, :L_LEFT, :L_UP, :L_DOWN) if GEGAOptions::MenuInput > 0
    152.       else
    153.         gega_update_number_input(:RIGHT, :LEFT, :UP, :DOWN)
    154.       end
    155.     end
    156.   end
    157.   def gega_update_number_input(right, left, up, down)
    158.     change_number(1)   if Input.repeat?(right)
    159.     change_number(-1)  if Input.repeat?(left)
    160.     change_number(10)  if Input.repeat?(up)
    161.     change_number(-10) if Input.repeat?(down)
    162.   end
    163.   class Window_NameInput
    164.     #--------------------------------------------------------------------------
    165.     # * Handling Processing for OK and Cancel Etc.
    166.     #--------------------------------------------------------------------------
    167.     def process_handling
    168.       return unless open? && active
    169.       process_jump if Input.trigger?(:A) && WolfPad.plugged_in? == false
    170.       process_back if Input.repeat?(PadConfig.cancel)
    171.       process_ok   if Input.trigger?(PadConfig.confirm)
    172.     end
    173.   end
    174.   class Window_NumberInput
    175.     #--------------------------------------------------------------------------
    176.     # * Cursor Movement Processing
    177.     #--------------------------------------------------------------------------
    178.     def process_cursor_move
    179.       return unless active
    180.       last_index = @index
    181.       if WolfPad.plugged_in?
    182.         gega_process_cursor_move_input(:LEFT, :RIGHT) if GEGAOptions::MenuInput == 0 || GEGAOptions::MenuInput == 2
    183.         gega_process_cursor_move_input(:L_LEFT, :L_RIGHT) if GEGAOptions::MenuInput > 0
    184.       else
    185.         gega_process_cursor_move_input(:LEFT, :RIGHT)
    186.       end
    187.       Sound.play_cursor if @index != last_index
    188.     end
    189.     def gega_process_cursor_move_input(left, right)
    190.       cursor_right(Input.trigger?(right)) if Input.repeat?(right)
    191.       cursor_left (Input.trigger?(left))  if Input.repeat?(left)
    192.     end
    193.     #--------------------------------------------------------------------------
    194.     # * Change Processing for Digits
    195.     #--------------------------------------------------------------------------
    196.     def process_digit_change
    197.       return unless active
    198.       if WolfPad.plugged_in?
    199.         gega_process_digit_change_input(:UP, :DOWN) if GEGAOptions::MenuInput == 0 || GEGAOptions::MenuInput == 2
    200.         gega_process_digit_change_input(:L_UP, :L_DOWN) if GEGAOptions::MenuInput > 0
    201.       else
    202.         gega_process_digit_change_input(:UP, :DOWN)
    203.       end
    204.     end
    205.     def gega_process_digit_change_input(up, down)
    206.       if Input.repeat?(up) || Input.repeat?(down)
    207.         Sound.play_cursor
    208.         place = 10 ** (@digits_max - 1 - @index)
    209.         n = @number / place % 10
    210.         @number -= n * place
    211.         n = (n + 1) % 10 if Input.repeat?(up)
    212.         n = (n + 9) % 10 if Input.repeat?(down)
    213.         @number += n * place
    214.         refresh
    215.       end
    216.     end
    217.     #--------------------------------------------------------------------------
    218.     # * Handling Processing for OK and Cancel
    219.     #--------------------------------------------------------------------------
    220.     def process_handling
    221.       return unless active
    222.       return process_ok     if Input.trigger?(PadConfig.confirm)
    223.       return process_cancel if Input.trigger?(PadConfig.cancel)
    224.     end
    225.   end
    226.   class Window_Message
    227.     #--------------------------------------------------------------------------
    228.     # * Update Fast Forward Flag
    229.     #--------------------------------------------------------------------------
    230.     def update_show_fast
    231.       @show_fast = true if Input.trigger?(PadConfig.confirm)
    232.     end
    233.     #--------------------------------------------------------------------------
    234.     # * Input Pause Processing
    235.     #--------------------------------------------------------------------------
    236.     def input_pause
    237.       self.pause = true
    238.       wait(10)
    239.       Fiber.yield until Input.trigger?(PadConfig.cancel) || Input.trigger?(PadConfig.confirm)
    240.       Input.update
    241.       self.pause = false
    242.     end
    243.   end
    244.   class Window_ScrollText
    245.     #--------------------------------------------------------------------------
    246.     # * Determine if Fast Forward
    247.     #--------------------------------------------------------------------------
    248.     def show_fast?
    249.       !$game_message.scroll_no_fast && (Input.press?(PadConfig.dash) || Input.press?(PadConfig.confirm))
    250.     end
    251.   end
    252.   class Scene_Map
    253.     #--------------------------------------------------------------------------
    254.     # * Determine if Menu is Called due to Cancel Button
    255.     #--------------------------------------------------------------------------
    256.     def update_call_menu
    257.       if $game_system.menu_disabled || $game_map.interpreter.running?
    258.         @menu_calling = false
    259.       else
    260.         if WolfPad.plugged_in? && GEGAOptions::StartForPause
    261.           @menu_calling ||= Input.trigger?(:START)
    262.         else
    263.           @menu_calling ||= Input.trigger?(:B)
    264.         end
    265.         call_menu if @menu_calling && !$game_player.moving?
    266.       end
    267.     end
    268.   end
    269.   class Scene_File
    270.     #--------------------------------------------------------------------------
    271.     # * Update Save File Selection
    272.     #--------------------------------------------------------------------------
    273.     def update_savefile_selection
    274.       return on_savefile_ok     if Input.trigger?(PadConfig.confirm)
    275.       return on_savefile_cancel if Input.trigger?(PadConfig.cancel)
    276.       update_cursor
    277.     end
    278.     #--------------------------------------------------------------------------
    279.     # * Update Cursor
    280.     #--------------------------------------------------------------------------
    281.     def update_cursor
    282.       last_index = @index
    283.       if WolfPad.plugged_in?
    284.         gega_update_cursor_input(:UP, :DOWN) if GEGAOptions::MenuInput == 0 || GEGAOptions::MenuInput == 2
    285.         gega_update_cursor_input(:L_UP, :L_DOWN) if GEGAOptions::MenuInput > 0
    286.       else
    287.         gega_update_cursor_input(:UP, :DOWN)
    288.       end
    289.       cursor_pagedown   if Input.trigger?(PadConfig.page_down)
    290.       cursor_pageup     if Input.trigger?(PadConfig.page_up)
    291.       if @index != last_index
    292.         Sound.play_cursor
    293.         @savefile_windows[last_index].selected = false
    294.         @savefile_windows[@index].selected = true
    295.       end
    296.     end
    297.   end
    298.   def gega_update_cursor_input(up, down)
    299.     cursor_down (Input.trigger?(down))  if Input.repeat?(down)
    300.     cursor_up   (Input.trigger?(up))    if Input.repeat?(up)
    301.   end
    302.   class Scene_Gameover
    303.     #--------------------------------------------------------------------------
    304.     # * Frame Update
    305.     #--------------------------------------------------------------------------
    306.     def update
    307.       super
    308.       goto_title if Input.trigger?(PadConfig.confirm)
    309.     end
    310.   end
    311. end
    复制代码


    Spoiler: 1.2
                    Code:       
    1. #==============================================================================
    2. # Gamepad Extender Game Adapter
    3. # by Jono99
    4. #------------------------------------------------------------------------------
    5. # This allows the game commands to be handled in a way more friendly to controller
    6. # input. Based off Gamepad Extender by Lone Wolf and requires Gamepad Extender
    7. # in order to function.
    8. # Link to download Gamepad Extender: http://forums.rpgmakerweb.com/index.php?/topic/1284-gamepad-extender-v11-2202015/
    9. #------------------------------------------------------------------------------
    10. # Changelog
    11. # 1.0.0: Initial release
    12. # 1.0.1: Fixed bug where the save menu would not accept input from the analogue stick and the dpad's input would be duplicated (only occured when MenuInput was set to 2)
    13. # 1.0.2: Removed checks to see if values in GEGAOptions are acceptable values (they caused a problem where the script would not run in StartForPause was set to false)
    14. #==============================================================================
    15. module GEGAOptions
    16.   # Use the Start button instead of the B button to pause the game
    17.   StartForPause = true
    18.   # Determine what input device is used for the menus.
    19.   # 0 for just the dpad
    20.   # 1 for just the left analogue stick
    21.   # 2 for both
    22.   MenuInput = 2
    23.   # Determine what input device is used for moving around the map.
    24.   # 0 for just the dpad
    25.   # 1 for just the left analogue stick
    26.   # 2 for both
    27.   MoveInput = 2
    28. end
    29. #==============================================================================
    30. # DO NOT EDIT UNLESS YOU KNOW WHAT YOU ARE DOING!
    31. #==============================================================================
    32. if defined?(WolfPad) == nil
    33.   msgbox("WARNING: GamePad Extender is either missing or executes sometime after this. To avoid issues, GE Game Adapter will not execute!")
    34. else
    35.   module WolfPad
    36.     def self.dird4(p_i = 0)
    37.       if press?(:UP, p_i)
    38.        8
    39.       elsif press?(:RIGHT, p_i)
    40.        6
    41.       elsif press?(:LEFT, p_i)
    42.        4
    43.       elsif press?(:DOWN, p_i)
    44.        2
    45.       else
    46.        0
    47.       end
    48.     end
    49.     def self.dird8(p_i = 0)
    50.       if press?(:UP, p_i) and press?(:LEFT, p_i)
    51.        7
    52.       elsif press?(:UP, p_i) and press?(:RIGHT, p_i)
    53.        9
    54.       elsif press?(:DOWN, p_i) and press?(:LEFT, p_i)
    55.        1
    56.       elsif press?(:DOWN, p_i) and press?(:RIGHT, p_i)
    57.        3
    58.      else
    59.        dird4(p_i)
    60.       end
    61.     end
    62.   end
    63.   class Game_Player
    64.     #--------------------------------------------------------------------------
    65.     # * Determine if Dashing
    66.     #--------------------------------------------------------------------------
    67.     def dash?
    68.       return false if @move_route_forcing
    69.       return false if $game_map.disable_dash?
    70.       return false if vehicle
    71.       return Input.press?(PadConfig.dash)
    72.     end
    73.     #--------------------------------------------------------------------------
    74.     # * Processing of Movement via Input from Directional Buttons
    75.     #--------------------------------------------------------------------------
    76.     def move_by_input
    77.       return if !movable? || $game_map.interpreter.running?
    78.       if WolfPad.plugged_in? == false
    79.         gega_move_by_input_input(Input.dir4)
    80.       else
    81.         gega_move_by_input_input(WolfPad.dird4) if GEGAOptions::MoveInput == 0 || GEGAOptions::MoveInput == 2
    82.         gega_move_by_input_input(WolfPad.lstick4) if GEGAOptions::MoveInput > 0
    83.       end
    84.     end
    85.     def gega_move_by_input_input(dir4)
    86.       move_straight(dir4) if dir4 > 0
    87.     end
    88.     #--------------------------------------------------------------------------
    89.     # * Processing When Not Moving
    90.     #     last_moving : Was it moving previously?
    91.     #--------------------------------------------------------------------------
    92.     def update_nonmoving(last_moving)
    93.       return if $game_map.interpreter.running?
    94.       if last_moving
    95.         $game_party.on_player_walk
    96.         return if check_touch_event
    97.       end
    98.       if movable? && Input.trigger?(PadConfig.confirm)
    99.         return if get_on_off_vehicle
    100.         return if check_action_event
    101.       end
    102.       update_encounter if last_moving
    103.     end
    104.   end
    105.   class Window_Selectable
    106.     #--------------------------------------------------------------------------
    107.     # * Cursor Movement Processing
    108.     #--------------------------------------------------------------------------
    109.     def process_cursor_move
    110.       return unless cursor_movable?
    111.       last_index = @index
    112.       if WolfPad.plugged_in?
    113.         gega_process_cursor_move_input(:UP, :DOWN, :LEFT, :RIGHT) if GEGAOptions::MenuInput == 0 || GEGAOptions::MenuInput == 2
    114.         gega_process_cursor_move_input(:L_UP, :L_DOWN, :L_LEFT, :L_RIGHT) if GEGAOptions::MenuInput > 0
    115.       else
    116.         gega_process_cursor_move_input(:UP, :DOWN, :LEFT, :RIGHT)
    117.       end
    118.       cursor_pagedown   if !handle?(:pagedown) && Input.trigger?(PadConfig.page_down)
    119.       cursor_pageup     if !handle?(:pageup)   && Input.trigger?(PadConfig.page_up)
    120.       Sound.play_cursor if @index != last_index
    121.     end
    122.     def gega_process_cursor_move_input(up, down, left, right)
    123.       cursor_down (Input.trigger?(down)) if Input.repeat?(down)
    124.       cursor_up   (Input.trigger?(up))    if Input.repeat?(up)
    125.       cursor_right(Input.trigger?(right)) if Input.repeat?(right)
    126.       cursor_left (Input.trigger?(left))  if Input.repeat?(left)
    127.     end
    128.     #--------------------------------------------------------------------------
    129.     # * Handling Processing for OK and Cancel Etc.
    130.     #--------------------------------------------------------------------------
    131.     def process_handling
    132.       return unless open? && active
    133.       return process_ok       if ok_enabled?        && Input.trigger?(PadConfig.confirm)
    134.       return process_cancel   if cancel_enabled?    && Input.trigger?(PadConfig.cancel)
    135.       return process_pagedown if handle?(:pagedown) && Input.trigger?(PadConfig.page_down)
    136.       return process_pageup   if handle?(:pageup)   && Input.trigger?(PadConfig.page_up)
    137.     end
    138.   end
    139.   class Window_ShopNumber
    140.     #--------------------------------------------------------------------------
    141.     # * Update Quantity
    142.     #--------------------------------------------------------------------------
    143.     def update_number
    144.       if WolfPad.plugged_in?
    145.         gega_update_number_input(:RIGHT, :LEFT, :UP, :DOWN) if GEGAOptions::MenuInput == 0 || GEGAOptions::MenuInput == 2
    146.         gega_update_number_input(:L_RIGHT, :L_LEFT, :L_UP, :L_DOWN) if GEGAOptions::MenuInput > 0
    147.       else
    148.         gega_update_number_input(:RIGHT, :LEFT, :UP, :DOWN)
    149.       end
    150.     end
    151.   end
    152.   def gega_update_number_input(right, left, up, down)
    153.     change_number(1)   if Input.repeat?(right)
    154.     change_number(-1)  if Input.repeat?(left)
    155.     change_number(10)  if Input.repeat?(up)
    156.     change_number(-10) if Input.repeat?(down)
    157.   end
    158.   class Window_NameInput
    159.     #--------------------------------------------------------------------------
    160.     # * Handling Processing for OK and Cancel Etc.
    161.     #--------------------------------------------------------------------------
    162.     def process_handling
    163.       return unless open? && active
    164.       process_jump if Input.trigger?(:A) && WolfPad.plugged_in? == false
    165.       process_back if Input.repeat?(PadConfig.cancel)
    166.       process_ok   if Input.trigger?(PadConfig.confirm)
    167.     end
    168.   end
    169.   class Window_NumberInput
    170.     #--------------------------------------------------------------------------
    171.     # * Cursor Movement Processing
    172.     #--------------------------------------------------------------------------
    173.     def process_cursor_move
    174.       return unless active
    175.       last_index = @index
    176.       if WolfPad.plugged_in?
    177.         gega_process_cursor_move_input(:LEFT, :RIGHT) if GEGAOptions::MenuInput == 0 || GEGAOptions::MenuInput == 2
    178.         gega_process_cursor_move_input(:L_LEFT, :L_RIGHT) if GEGAOptions::MenuInput > 0
    179.       else
    180.         gega_process_cursor_move_input(:LEFT, :RIGHT)
    181.       end
    182.       Sound.play_cursor if @index != last_index
    183.     end
    184.     def gega_process_cursor_move_input(left, right)
    185.       cursor_right(Input.trigger?(right)) if Input.repeat?(right)
    186.       cursor_left (Input.trigger?(left))  if Input.repeat?(left)
    187.     end
    188.     #--------------------------------------------------------------------------
    189.     # * Change Processing for Digits
    190.     #--------------------------------------------------------------------------
    191.     def process_digit_change
    192.       return unless active
    193.       if WolfPad.plugged_in?
    194.         gega_process_digit_change_input(:UP, :DOWN) if GEGAOptions::MenuInput == 0 || GEGAOptions::MenuInput == 2
    195.         gega_process_digit_change_input(:L_UP, :L_DOWN) if GEGAOptions::MenuInput > 0
    196.       else
    197.         gega_process_digit_change_input(:UP, :DOWN)
    198.       end
    199.     end
    200.     def gega_process_digit_change_input(up, down)
    201.       if Input.repeat?(up) || Input.repeat?(down)
    202.         Sound.play_cursor
    203.         place = 10 ** (@digits_max - 1 - @index)
    204.         n = @number / place % 10
    205.         @number -= n * place
    206.         n = (n + 1) % 10 if Input.repeat?(up)
    207.         n = (n + 9) % 10 if Input.repeat?(down)
    208.         @number += n * place
    209.         refresh
    210.       end
    211.     end
    212.     #--------------------------------------------------------------------------
    213.     # * Handling Processing for OK and Cancel
    214.     #--------------------------------------------------------------------------
    215.     def process_handling
    216.       return unless active
    217.       return process_ok     if Input.trigger?(PadConfig.confirm)
    218.       return process_cancel if Input.trigger?(PadConfig.cancel)
    219.     end
    220.   end
    221.   class Window_Message
    222.     #--------------------------------------------------------------------------
    223.     # * Update Fast Forward Flag
    224.     #--------------------------------------------------------------------------
    225.     def update_show_fast
    226.       @show_fast = true if Input.trigger?(PadConfig.confirm)
    227.     end
    228.     #--------------------------------------------------------------------------
    229.     # * Input Pause Processing
    230.     #--------------------------------------------------------------------------
    231.     def input_pause
    232.       self.pause = true
    233.       wait(10)
    234.       Fiber.yield until Input.trigger?(PadConfig.cancel) || Input.trigger?(PadConfig.confirm)
    235.       Input.update
    236.       self.pause = false
    237.     end
    238.   end
    239.   class Window_ScrollText
    240.     #--------------------------------------------------------------------------
    241.     # * Determine if Fast Forward
    242.     #--------------------------------------------------------------------------
    243.     def show_fast?
    244.       !$game_message.scroll_no_fast && (Input.press?(PadConfig.dash) || Input.press?(PadConfig.confirm))
    245.     end
    246.   end
    247.   class Scene_Map
    248.     #--------------------------------------------------------------------------
    249.     # * Determine if Menu is Called due to Cancel Button
    250.     #--------------------------------------------------------------------------
    251.     def update_call_menu
    252.       if $game_system.menu_disabled || $game_map.interpreter.running?
    253.         @menu_calling = false
    254.       else
    255.         if WolfPad.plugged_in? && GEGAOptions::StartForPause
    256.           @menu_calling ||= Input.trigger?(:START)
    257.         else
    258.           @menu_calling ||= Input.trigger?(:B)
    259.         end
    260.         call_menu if @menu_calling && !$game_player.moving?
    261.       end
    262.     end
    263.   end
    264.   class Scene_File
    265.     #--------------------------------------------------------------------------
    266.     # * Update Save File Selection
    267.     #--------------------------------------------------------------------------
    268.     def update_savefile_selection
    269.       return on_savefile_ok     if Input.trigger?(PadConfig.confirm)
    270.       return on_savefile_cancel if Input.trigger?(PadConfig.cancel)
    271.       update_cursor
    272.     end
    273.     #--------------------------------------------------------------------------
    274.     # * Update Cursor
    275.     #--------------------------------------------------------------------------
    276.     def update_cursor
    277.       last_index = @index
    278.       if WolfPad.plugged_in?
    279.         gega_update_cursor_input(:UP, :DOWN) if GEGAOptions::MenuInput == 0 || GEGAOptions::MenuInput == 2
    280.         gega_update_cursor_input(:L_UP, :L_DOWN) if GEGAOptions::MenuInput > 0
    281.       else
    282.         gega_update_cursor_input(:UP, :DOWN)
    283.       end
    284.       cursor_pagedown   if Input.trigger?(PadConfig.page_down)
    285.       cursor_pageup     if Input.trigger?(PadConfig.page_up)
    286.       if @index != last_index
    287.         Sound.play_cursor
    288.         @savefile_windows[last_index].selected = false
    289.         @savefile_windows[@index].selected = true
    290.       end
    291.     end
    292.   end
    293.   def gega_update_cursor_input(up, down)
    294.     cursor_down (Input.trigger?(down))  if Input.repeat?(down)
    295.     cursor_up   (Input.trigger?(up))    if Input.repeat?(up)
    296.   end
    297.   class Scene_Gameover
    298.     #--------------------------------------------------------------------------
    299.     # * Frame Update
    300.     #--------------------------------------------------------------------------
    301.     def update
    302.       super
    303.       goto_title if Input.trigger?(PadConfig.confirm)
    304.     end
    305.   end
    306. end
    复制代码


    There are also scripts out there that will overwrite this script. For this reason, I am taking requests for extension scripts that will add this functionality back in when another script overwrites it (one for GubiD's Tactical Battle System is in the works right now). If you find a script that doesn't work with the base version, post about it in this thread detailing what script conflicts with GE Game Adapter and provide a link to the script, but please test this in a brand new project before posting. I will check the script myself and create an extension script if I encounter the problem or message you telling you that I could not find any conflict.

    Spoiler: Sapphire Action System IV - Khas
                    Code:       
    1. #==============================================================================
    2. # Gamepad Extender Game Adapter - Sapphire Action System IV
    3. # by Jono99
    4. #------------------------------------------------------------------------------
    5. # This allows the game commands in SASIV by Khas Arcthunder to be handled in a
    6. # more controller friendly way. It also adds the ability to scroll backwards
    7. # through your skills
    8. #
    9. # Based off of Gamepad Extender by Lone Wolf, GE Game Adapter by Jono99 and
    10. # SASIV by Khas Arcthunder and requires all of the above scripts to function.
    11. #
    12. # It is also recommended that you have the scripts laid out in a specific order:
    13. # Gamepad Extender, GE Game Adapter, SASIV then GEGA - SASIV (this script).
    14. #
    15. # WARNING: This script changes the select skill key for keyboard users. It is
    16. # changed from D to Q and W to scroll back and forth.
    17. #
    18. # Link to download Gamepad Extender: http://forums.rpgmakerweb.com/index.php?/topic/1284-gamepad-extender-v11-2202015/
    19. # Link to download GE Game Adapter: http://forums.rpgmakerweb.com/index.php?/topic/69589-ge-game-adapter/
    20. # Link to download Sapphire Action System IV: http://www.mediafire.com/file/1exy8cl0np2ycts/Sapphire+Action+System+IV+v4.4en.rar
    21. #==============================================================================
    22. # NOTE: This script forces StartForPause to true to avoid problems with other
    23. # settings.
    24. module GEGASAS4Options
    25.   # The button that you press to attack
    26.   AttackButton = :X
    27.   # The button that casts a skill
    28.   CastButton = :B
    29. end
    30. if defined?(WolfPad) == nil
    31.   msgbox("WARNING: GamePad Extender is either missing or executes sometime after this. To avoid issues, GEGA - SASIV will not execute!")
    32. elsif defined?(GEGAOptions) == nil
    33.   msgbox("WARNING: GE Game Adapter is either missing or executes sometime after this. To avoid issues, GEGA - SASIV will not execute!")
    34. elsif defined?(Sapphire_Core) == nil
    35.   msgbox("WARNING: Sapphire Action System IV is either missing or executes sometime after this. To avoid issues, GEGA - SASIV will not execute!")
    36. else
    37.   module PadConfig
    38.     def self.dash
    39.       WolfPad.plugged_in? ? :Y : :A
    40.     end
    41.   end
    42.   class Game_Player
    43.     def move_by_input
    44.       return if !movable? || $game_map.interpreter.running?
    45.       gegasas4_dir8 = 0
    46.       if WolfPad.plugged_in?
    47.         if GEGAOptions::MoveInput == 0
    48.           gegasas4_dir8 = WolfPad.dird8
    49.         elsif GEGAOptions::MoveInput == 1
    50.           gegasas4_dir8 = WolfPad.lstick8
    51.         elsif GEGAOptions::MoveInput == 2
    52.           gegasas4_dir8 = WolfPad.dird8
    53.           gegasas4_dir8 = WolfPad.lstick8 if gegasas4_dir8 == 0
    54.         end
    55.       else
    56.         gegasas4_dir8 = Input.dir8
    57.       end
    58.       case gegasas4_dir8
    59.         when 1; move_dpixel(4,2)
    60.         when 2; move_pixel(2,true)
    61.         when 3; move_dpixel(6,2)
    62.         when 4; move_pixel(4,true)
    63.         when 6; move_pixel(6,true)
    64.         when 7; move_dpixel(4,8)
    65.         when 8; move_pixel(8,true)
    66.         when 9; move_dpixel(6,8)
    67.       end
    68.     end
    69.   end
    70.   class Game_Map
    71.     def update_action_system
    72.       if WolfPad.plugged_in?
    73.         gegasas4_update_action_system_input(GEGASAS4Options::AttackButton, GEGASAS4Options::CastButton)
    74.       else
    75.         gegasas4_update_action_system_input(Input::X, Input::Y)
    76.       end
    77.     end
    78.     def gegasas4_update_action_system_input(abutton, cbutton)
    79.       if Input.trigger?(abutton)
    80.         $game_player.attack
    81.       elsif Input.trigger?(cbutton)
    82.         $game_player.cast_skill
    83.       elsif Input.trigger?(PadConfig.page_down)
    84.         $game_player.next_skill
    85.       elsif Input.trigger?(PadConfig.page_up)
    86.         $game_player.prev_skill
    87.       end
    88.     end
    89.   end
    90.   class Game_Player
    91.     def prev_skill
    92.       unless @current_skill[1].nil?
    93.         @current_skill[1] = nil
    94.       end
    95.       skills = $game_party.members[0].skills
    96.       if skills.empty?
    97.         @current_skill = [nil,nil]
    98.       else
    99.         ns = 0
    100.         unless @current_skill[0].nil?
    101.           max = skills.size-1
    102.           for id in 0..max
    103.             ns = (id == 0 ? max : id - 1) if skills[id] == @current_skill[0]
    104.           end
    105.         end
    106.         skills[ns].set_recover
    107.         @current_skill = [skills[ns],skills[ns].particle]
    108.         $game_map.sas_hud.refresh_base
    109.       end
    110.     end
    111.   end
    112. end
    复制代码


    Spoiler: Khas Pixel Movement - Khas
                    Code:       
    1. #==============================================================================
    2. # Gamepad Extender Game Adapter - Khas Pixel Movement
    3. # by Jono99
    4. #------------------------------------------------------------------------------
    5. # This allows the Khas Pixel Movement by Khas Arcthunder to be comfortable for
    6. # controller users.
    7. #
    8. # Based off of Gamepad Extender by Lone Wolf, GE Game Adapter by Jono99 and
    9. # Khas Pixel Movement by Khas Arcthunder and requires all of the above scripts
    10. # to function.
    11. #
    12. # Link to download Gamepad Extender: http://forums.rpgmakerweb.com/index.php?/topic/1284-gamepad-extender-v11-2202015/
    13. # Link to download GE Game Adapter: http://forums.rpgmakerweb.com/index.php?/topic/69589-ge-game-adapter/
    14. # Link to download Khas Pixel Movement: http://www.mediafire.com/file/x5pxqmvw59be3zh/%5BACE%5D%5BEN%5D+Khas+Pixel+Movement+1.2.rar
    15. #==============================================================================
    16. if defined?(WolfPad) == nil
    17.   msgbox("WARNING: GamePad Extender is either missing or executes sometime after this. To avoid issues, GEGA - Khas Pixel movement will not execute!")
    18. elsif defined?(GEGAOptions) == nil
    19.   msgbox("WARNING: GE Game Adapter is either missing or executes sometime after this. To avoid issues, GEGA - Khas Pixel movement will not execute!")
    20. elsif defined?(Pixel_Core) == nil
    21.   msgbox("WARNING: Khas Pixel Movement is either missing or executes sometime after this. To avoid issues, GEGA - Khas Pixel movement will not execute!")
    22. else
    23.   class Game_Player
    24.     def pixel_move_by_input
    25.       return if !movable? || $game_map.interpreter.running?
    26.       gegakpm_dir8 = 0
    27.       if WolfPad.plugged_in?
    28.         if GEGAOptions::MoveInput == 0
    29.           gegakpm_dir8 = WolfPad.dird8
    30.         elsif GEGAOptions::MoveInput == 1
    31.           gegakpm_dir8 = WolfPad.lstick8
    32.         elsif GEGAOptions::MoveInput == 2
    33.           gegakpm_dir8 = WolfPad.lstick8
    34.           gegakpm_dir8 = WolfPad.dird8 if gegakpm_dir8 == 5
    35.         end
    36.       else
    37.         gegakpm_dir8 = Input.dir8
    38.       end
    39.       case gegakpm_dir8
    40.         when 1; move_dpixel(4,2)
    41.         when 2; move_pixel(2,true)
    42.         when 3; move_dpixel(6,2)
    43.         when 4; move_pixel(4,true)
    44.         when 6; move_pixel(6,true)
    45.         when 7; move_dpixel(4,8)
    46.         when 8; move_pixel(8,true)
    47.         when 9; move_dpixel(6,8)
    48.       end
    49.     end
    50.   end
    51. end
    复制代码


    Spoiler: Arc Engine - Khas
                    Code:       
    1. #==============================================================================
    2. # Gamepad Extender Game Adapter - Arc Engine
    3. # by Jono99
    4. #------------------------------------------------------------------------------
    5. # This allows the game commands in Arc Engine by Khas Arcthunder to be handled
    6. # in a more controller friendly way.
    7. #
    8. # Based off of Gamepad Extender by Lone Wolf, GE Game Adapter by Jono99 and
    9. # Arc Engine by Khas Arcthunder and requires all of the above scripts to function.
    10. #
    11. # It is reommended that you do not have a controller plugged in until you reach
    12. # the title screen while testing as the menu that pops up before that does not
    13. # play nice with controllers.
    14. #
    15. # It is also recommended that you have the scripts laid out in a specific order:
    16. # Gamepad Extender, GE Game Adapter, Arc Engine then GEGA - Arc Engine (this script).
    17. #
    18. # Link to download Gamepad Extender: http://forums.rpgmakerweb.com/index.php?/topic/1284-gamepad-extender-v11-2202015/
    19. # Link to download GE Game Adapter:
    20. # Link to download Arc Engine: http://www.mediafire.com/?b1x1b18637b1wk2
    21. #==============================================================================
    22. module GEGAACOptions
    23.   def self.jump
    24.     WolfPad.plugged_in? ? :A : :X
    25.   end
    26.   EventInteract = :C
    27. end
    28. module PadConfig
    29.   def self.dash
    30.     WolfPad.plugged_in? ? :L2 : :A
    31.   end
    32. end
    33. if defined?(WolfPad) == nil
    34.   msgbox("WARNING: GamePad Extender is either missing or executes sometime after this. To avoid issues, GEGA Arc Engine will not execute!")
    35. elsif defined?(GEGAOptions) == nil
    36.   msgbox("WARNING: GE Game Adapter is either missing or executes sometime after this. To avoid issues, GEGA Arc Engine will not execute!")
    37. elsif defined?(Arc_Core) == nil
    38.   msgbox("WARNING: Arc Engine is either missing or executes sometime after this. To avoid issues, GEGA Arc Engine will not execute!")
    39. else
    40.   # Put GEGA - Arc Engine code here
    41.   class Game_Player
    42.     def gegaac_groundpound_input(down)
    43.       if Input.trigger?(down)
    44.         if !jump_enabled? && !@groundpound
    45.           stop
    46.           apply_yforce(-Jump_Impulse)
    47.           @groundpound = true
    48.         end
    49.       end
    50.     end
    51.     def arc_update
    52.       try_event if Input.trigger?(GEGAACOptions::EventInteract)
    53.       @wait_c -= 1 if @wait_c > 0
    54.       unless @grab_stair
    55.         if WolfPad.plugged_in?
    56.           gegaac_groundpound_input(:DOWN) if GEGAOptions::MoveInput == 0 || GEGAOptions::MoveInput == 2
    57.           gegaac_groundpound_input(:L_DOWN) if GEGAOptions::MoveInput > 0
    58.         else
    59.           gegaac_groundpound_input(:DOWN)
    60.         end
    61.         @vy += Gravity
    62.         @vy -= Air_Resistance*@vy*@vy/(@wg*Meter_Size) if @vy > Insignificant
    63.       end
    64.       if @tx != nil
    65.         @tx > 0 ? @tx -= 1 : reset_vx
    66.       end
    67.       if @ty != nil
    68.         @ty > 0 ? @ty -= 1 : reset_vy
    69.       end
    70.       if @move_route_forcing
    71.         arc_move
    72.         check_move_route
    73.       else
    74.         update_arcinput
    75.         arc_move
    76.         check_ungrab
    77.       end
    78.       kill if @ay > $game_map.y_limit
    79.       if @vx.abs > Insignificant
    80.         et = event_below_type
    81.         if (@grab_stair || surface_below? || et == 0x01)
    82.           refresh_animation
    83.         elsif et == 0x02
    84.           @pattern = 1
    85.         else
    86.           @pattern = 0
    87.         end
    88.       elsif @grab_stair && @vy.abs > Insignificant
    89.         stair_animation
    90.       else
    91.         @pattern = 1 unless @move_route_forcing
    92.         @atimer = 13
    93.       end
    94.     end
    95.     def update_arcinput
    96.       return if $game_map.interpreter.running? || $game_message.busy? || $game_message.visible
    97.       if WolfPad.plugged_in?
    98.         if GEGAOptions::MoveInput == 0 || GEGAOptions::MoveInput == 2
    99.           try_grab if Input.trigger?(:UP)
    100.         end
    101.         if GEGAOptions::MoveInput > 0
    102.           try_grab if Input.trigger?(:L_UP)
    103.         end
    104.       else
    105.         try_grab if Input.trigger?(:UP)
    106.       end
    107.       if @grab_stair
    108.         gegaac_dir8 = 0
    109.         if WolfPad.plugged_in?
    110.           if GEGAOptions::MoveInput == 0
    111.             gegaac_dir8 = WolfPad.dird8
    112.           elsif GEGAOptions::MoveInput == 1
    113.             gegaac_dir8 = WolfPad.lstick8
    114.           elsif GEGAOptions::MoveInput == 2
    115.             gegaac_dir8 = WolfPad.dird8
    116.             gegaac_dir8 = WolfPad.lstick8 if gegaac_dir8 == 0
    117.           end
    118.         else
    119.           gegaac_dir8 = Input.dir8
    120.         end
    121.         case gegaac_dir8
    122.         when 1
    123.           move_x(-Stair_Speed)
    124.           move_y(Stair_Speed)
    125.         when 2
    126.           reset_vx
    127.           move_y(Stair_Speed)
    128.         when 3
    129.           move_x(Stair_Speed)
    130.           move_y(Stair_Speed)
    131.         when 4
    132.           move_x(-Stair_Speed)
    133.           reset_vy
    134.         when 6
    135.           move_x(Stair_Speed)
    136.           reset_vy
    137.         when 7
    138.           move_x(-Stair_Speed)
    139.           move_y(-Stair_Speed)
    140.         when 8
    141.           reset_vx
    142.           move_y(-Stair_Speed)
    143.         when 9
    144.           move_x(Stair_Speed)
    145.           move_y(-Stair_Speed)
    146.         else
    147.           reset_vx
    148.           reset_vy
    149.         end
    150.         if Input.trigger?(:X)
    151.           apply_yforce(Jump_Impulse)
    152.           Arc_Sound.jump
    153.           @grab_stair = false
    154.           set_direction(@vx > 0 ? 6 : 4)
    155.         end
    156.       else
    157.         gegaac_dir4 = 0
    158.         if WolfPad.plugged_in?
    159.           if GEGAOptions::MoveInput == 0
    160.             gegaac_dir4 = WolfPad.dird4
    161.           elsif GEGAOptions::MoveInput == 1
    162.             gegaac_dir4 = WolfPad.lstick4
    163.           elsif GEGAOptions::MoveInput == 2
    164.             gegaac_dir4 = WolfPad.dird4
    165.             gegaac_dir4 = WolfPad.lstick4 if gegaac_dir4 == 0
    166.           end
    167.         else
    168.           gegaac_dir4 = Input.dir4
    169.         end
    170.         case gegaac_dir4
    171.         when 4
    172.           @vx -= @key_acc
    173.           set_direction(4)
    174.           @deny_resistance = false
    175.           r = (Input.press?(PadConfig.dash) ? Running_Resistance : Body_Resistance)
    176.         when 6
    177.           @vx += @key_acc
    178.           set_direction(6)
    179.           @deny_resistance = false
    180.           r = (Input.press?(PadConfig.dash) ? Running_Resistance : Body_Resistance)
    181.         else
    182.           r = (@wallkick ? Body_Resistance : Stop_Resistance)
    183.         end
    184.         if Input.trigger?(GEGAACOptions.jump)
    185.           if jump_enabled?
    186.             apply_yforce(Jump_Impulse + Jump_RBonus*@vx.abs)
    187.             Arc_Sound.jump
    188.           elsif wkick_left?
    189.             stop
    190.             @wk_pos = [@ax,@ay]
    191.             @wallkick = true
    192.             @deny_resistance = true
    193.             apply_xforce(WKick_XImpulse)
    194.             apply_yforce(WKick_YImpulse)
    195.             Arc_Sound.jump
    196.           elsif wkick_right?
    197.             stop
    198.             @wk_pos = [@ax,@ay]
    199.             @wallkick = true
    200.             @deny_resistance = true
    201.             apply_xforce(-WKick_XImpulse)
    202.             apply_yforce(WKick_YImpulse)
    203.             Arc_Sound.jump
    204.           end
    205.         end
    206.         if @deny_resistance
    207.           @deny_resistance = false
    208.         else
    209.           if @vx.abs > Insignificant
    210.             rb = r*@vx*@vx/@res_coef
    211.             @vx += (@vx > 0 ? -rb : rb)
    212.           end
    213.         end
    214.       end
    215.     end
    216.   end
    217. end
    复制代码


    Spoiler: FPLE - MGC
                    Code:       
    1. #==============================================================================
    2. # GEGA - FPLE
    3. # by Jono99
    4. #------------------------------------------------------------------------------
    5. # This allows the movement to work when using GE Game Adapter by Jono99 and FPLE
    6. # by MGC.
    7. #
    8. # This script is based off of Gamepad Extender by Lone Wolf, GE Game Adapter by
    9. # Jono99 and FPLE by MGC and requires all three scripts in order to function.
    10. #
    11. # It is recommended that you have the scripts inserted in this order:
    12. # Gamepad Extender, GE Game Adapter, FPLE then GEGA - FPLE (this script)
    13. # (The placement of the FPLE Addons shouldn't matter.)
    14. #
    15. # Link to download Gamepad Extender: http://forums.rpgmakerweb.com/index.php?/topic/1284-gamepad-extender-v11-2202015/
    16. # Link to download GE Game Adapter: http://forums.rpgmakerweb.com/index.php?/topic/69589-ge-game-adapter/
    17. # Link to download FPLE: http://www.rgss-factory.net/2013/09/10/ace-fple-ace-first-person-labyrinth-explorer/
    18. #==============================================================================
    19. module GEGAFPLEOptions
    20.   # false: Left and right turn while LB and RB strafe.
    21.   # true: LB and RB turn while left and right strafe.
    22.   AlternateControlStyle = false
    23. end
    24. #==============================================================================
    25. # DO NOT EDIT UNLESS YOU KNOW WHAT YOU ARE DOING!
    26. #==============================================================================
    27. if defined?(WolfPad) == nil
    28.   msgbox("WARNING: Gamepad Extender is either missing or executes sometime after this. To avoid issues, GEGA - FPLE will not execute!")
    29. elsif defined?(GEGAOptions) == nil
    30.   msgbox("WARNING: GE Game Adapter is either missing or executes sometime after this. To avoid issues, GEGA - FPLE will not execute!")
    31. elsif defined?(FPLE) == nil
    32.   msgbox("WARNING: FPLE is either missing or executes sometime after this. To avoid issues, GEGA - FPLE will not execute!")
    33. else
    34.   class Game_Player
    35.     #--------------------------------------------------------------------------
    36.     # * Processing of Movement via input from the Directional Buttons
    37.     #--------------------------------------------------------------------------
    38.     def move_by_input
    39.       if $game_system.fple
    40.         if !movable? || $game_map.interpreter.running? then return end
    41.         if Input.press?(PadConfig.page_up)
    42.           gegafple_on_lb
    43.         elsif Input.press?(PadConfig.page_down)
    44.           gegafple_on_rb
    45.         else
    46.           gegafple_dir4 = 0
    47.           if WolfPad.plugged_in?
    48.             if GEGAOptions::MoveInput == 0
    49.               gegafple_dir4 = WolfPad.dird4
    50.             elsif GEGAOptions::MoveInput == 1
    51.               gegafple_dir4 = WolfPad.lstick4
    52.             elsif GEGAOptions::MoveInput == 2
    53.               gegafple_dir4 = WolfPad.lstick4
    54.               gegafple_dir4 = WolfPad.dird4 if gegafple_dir4 == 0 || gegafple_dir4 == 5
    55.             end
    56.           else
    57.             gegafple_dir4 = Input.dir4
    58.           end
    59.           case gegafple_dir4
    60.           when 2; go_backward
    61.           when 4; gegafple_on_left
    62.           when 6; gegafple_on_right
    63.           when 8; go_forward
    64.           end
    65.         end
    66.       else
    67.         move_by_input_fple_game_player
    68.       end
    69.     end
    70.     def gegafple_on_left
    71.       WolfPad.plugged_in? && GEGAFPLEOptions::AlternateControlStyle ? strafe_left : turn_left_90
    72.     end
    73.     def gegafple_on_right
    74.       WolfPad.plugged_in? && GEGAFPLEOptions::AlternateControlStyle ? strafe_right : turn_right_90
    75.     end
    76.     def gegafple_on_lb
    77.       WolfPad.plugged_in? && GEGAFPLEOptions::AlternateControlStyle ? turn_left_90 : strafe_left
    78.     end
    79.     def gegafple_on_rb
    80.       WolfPad.plugged_in? && GEGAFPLEOptions::AlternateControlStyle ? turn_right_90 : strafe_right
    81.     end
    82.   end
    83. end
    复制代码


    Spoiler:  ISO - MGC
                    Code:       
    1. #==============================================================================
    2. # GEGA - ISO
    3. # by Jono99
    4. #------------------------------------------------------------------------------
    5. # This allows the movement to work when using GE Game Adapter by Jono99 and ISO
    6. # by MGC.
    7. #
    8. # This script is based off of Gamepad Extender by Lone Wolf, GE Game Adapter by
    9. # Jono99 and ISO by MGC and requires all three scripts in order to function.
    10. #
    11. # It is recommended that you have the scripts inserted in this order:
    12. # Gamepad Extender, GE Game Adapter, ISO then GEGA - ISO (this script)
    13. #
    14. # Link to download Gamepad Extender: http://forums.rpgmakerweb.com/index.php?/topic/1284-gamepad-extender-v11-2202015/
    15. # Link to download GE Game Adapter: http://forums.rpgmakerweb.com/index.php?/topic/69589-ge-game-adapter/
    16. # Link to download ISO: http://www.rgss-factory.net/2012/04/07/xpvxace-mgc-iso-engine/
    17. #==============================================================================
    18. module GEGAISOOptions
    19.   # If true, up, right, down and left will move you up-right, down-right,
    20.   # down-left, and up-left respectively.
    21.   # If false, up, down, left and right will do nothing on their own and will
    22.   # instead require multiple directions to be pressed.
    23.   SideDirections = false
    24. end
    25. #==============================================================================
    26. # DO NOT EDIT UNLESS YOU KNOW WHAT YOU ARE DOING!
    27. #==============================================================================
    28. if defined?(WolfPad) == nil
    29.   msgbox("WARNING: Gamepad Extender is either missing or executes sometime after this. To avoid issues, GEGA - ISO will not execute!")
    30. elsif defined?(GEGAOptions) == nil
    31.   msgbox("WARNING: GE Game Adapter is either missing or executes sometime after this. To avoid issues, GEGA - ISO will not execute!")
    32. elsif defined?(MGC_ISO_Map) == nil
    33.   msgbox("WARNING: ISO is either missing or executes sometime after this. To avoid issues, GEGA - ISO will not execute!")
    34. else
    35.   class Game_Player
    36.     #--------------------------------------------------------------------------
    37.     # * Déplacements du joueur
    38.     #--------------------------------------------------------------------------
    39.     def update_directions
    40.       if WolfPad.plugged_in?
    41.         if GEGAOptions::MoveInput == 0
    42.           dir_value = WolfPad.dird8
    43.         elsif GEGAOptions::MoveInput == 1
    44.           dir_value = WolfPad.lstick8
    45.         elsif GEGAOptions::MoveInput == 2
    46.           dir_value = WolfPad.lstick8
    47.           dir_value = WolfPad.dird8 if dir_value == 0 || dir_value == 5
    48.         end
    49.       else
    50.         dir_value = Input.dir8
    51.       end
    52.       if @move_with_parent && dir_value > 0  && dir_value != 5
    53.         restore_moves
    54.         start_emancipate
    55.       end
    56.       case dir_value
    57.       when 1
    58.         move_straight(2)
    59.       when 2
    60.         move_straight(2) if GEGAISOOptions::SideDirections || !WolfPad.plugged_in?
    61.       when 3
    62.         move_straight(6)
    63.       when 4
    64.         move_straight(4) if GEGAISOOptions::SideDirections || !WolfPad.plugged_in?
    65.       when 7
    66.         move_straight(4)
    67.       when 6
    68.         move_straight(6) if GEGAISOOptions::SideDirections || !WolfPad.plugged_in?
    69.       when 8
    70.         move_straight(8) if GEGAISOOptions::SideDirections || !WolfPad.plugged_in?
    71.       when 9
    72.         move_straight(8)
    73.       end
    74.     end
    75.   end
    76. end
    复制代码


    Spoiler: Layy meta - MGC
                    Code:       
    1. #==============================================================================
    2. # GEGA - Layy Meta
    3. # by Jono99
    4. #------------------------------------------------------------------------------
    5. # This allows the map rotation to work when using GE Game Adapter by Jono99 and
    6. # Layy by MGC.
    7. #
    8. # This script is based off of Gamepad Extender by Lone Wolf, GE Game Adapter by
    9. # Jono99 and Layy Meta by MGC and requires all three scripts in order to function.
    10. #
    11. # It is recommended that you have the scripts inserted in this order:
    12. # Gamepad Extender, GE Game Adapter, Layy Meta then GEGA - Layy (this script)
    13. #
    14. # Link to download Gamepad Extender: http://forums.rpgmakerweb.com/index.php?/topic/1284-gamepad-extender-v11-2202015/
    15. # Link to download GE Game Adapter: http://forums.rpgmakerweb.com/index.php?/topic/69589-ge-game-adapter/
    16. # Link to download Layy Meta: http://www.rgss-factory.net/2013/07/27/ace-layy-meta-engine-editor-3d-isometric-maps/
    17. #==============================================================================
    18. #==============================================================================
    19. # DO NOT EDIT UNLESS YOU KNOW WHAT YOU ARE DOING!
    20. #==============================================================================
    21. if defined?(WolfPad) == nil
    22.   msgbox("WARNING: Gamepad Extender is either missing or executes sometime after this. To avoid issues, GEGA - Layy will not execute!")
    23. elsif defined?(GEGAOptions) == nil
    24.   msgbox("WARNING: GE Game Adapter is either missing or executes sometime after this. To avoid issues, GEGA - Layy will not execute!")
    25. elsif defined?(Layy_Meta) == nil
    26.   msgbox("WARNING: Layy Meta is either missing or executes sometime after this. To avoid issues, GEGA - Layy will not execute!")
    27. else
    28.   module Layy_Meta
    29.     #--------------------------------------------------------------------------
    30.     # * Frame Update
    31.     #--------------------------------------------------------------------------
    32.     def self.update_input
    33.       if Input.trigger?(PadConfig.page_up)
    34.         rotate_by(90, 15)
    35.       elsif Input.trigger?(PadConfig.page_down)
    36.         rotate_by(-90, 15)
    37.       end
    38.     end
    39.   end
    40. end
    复制代码


    Spoiler: Mode7 Rotation Airship - MGC
    For the record, Mode7 itself doesn't require any sort of extension to work with GE Game Adapter. If you're just using Mode7 on its own without the Rotation Airship, you don't need this GEGA Extension.
                    Code:       
    1. #==============================================================================
    2. # GEGA - Mode 7 Rotation Airship
    3. # by Jono99
    4. #------------------------------------------------------------------------------
    5. # This allows the map rotation to work when using GE Game Adapter by Jono99 and
    6. # the Rotation Airship extention for Mode 7 by MGC.
    7. #
    8. # This script is based off of Gamepad Extender by Lone Wolf, GE Game Adapter by
    9. # Jono99, Mode 7 by MGC and Mode 7 addon Rotation Airship by MGC and requires
    10. # all three scripts in order to function.
    11. #
    12. # It is recommended that you have the scripts inserted in this order:
    13. # Gamepad Extender, GE Game Adapter, Mode 7 and its addons,
    14. # then GEGA - Mode 7 Rot Air (this script)
    15. #
    16. # Link to download Gamepad Extender: http://forums.rpgmakerweb.com/index.php?/topic/1284-gamepad-extender-v11-2202015/
    17. # Link to download GE Game Adapter: http://forums.rpgmakerweb.com/index.php?/topic/69589-ge-game-adapter/
    18. # Link to download Mode 7 (addons included): http://www.rgss-factory.net/2012/12/10/ace-mode-7-ace-v-1-3-addon-map-rotation-airship/
    19. #==============================================================================
    20. #==============================================================================
    21. # DO NOT EDIT UNLESS YOU KNOW WHAT YOU ARE DOING!
    22. #==============================================================================
    23. class Game_Player
    24.   attr_reader :already_aliased_mgc_m7a_addon_airship_rotation
    25. end
    26. if defined?(WolfPad) == nil
    27.   msgbox("WARNING: Gamepad Extender is either missing or executes sometime after this. To avoid issues, GEGA - Mode 7 Rot Air will not execute!")
    28. elsif defined?(GEGAOptions) == nil
    29.   msgbox("WARNING: GE Game Adapter is either missing or executes sometime after this. To avoid issues, GEGA - Mode 7 Rot Air will not execute!")
    30. else
    31.   class Game_Player
    32.     #--------------------------------------------------------------------------
    33.     # * Processing of Movement via Input from Directional Buttons
    34.     #--------------------------------------------------------------------------
    35.     def move_by_input
    36.       unless MGC.mode7_active && in_airship?
    37.         move_by_input_mgc_m7a_addon_airship_rotation
    38.         return
    39.       end
    40.       @moving = false
    41.       return if !movable? || $game_map.interpreter.running? || MGC.effect?
    42.       @direction = 8
    43.       if WolfPad.plugged_in?
    44.         gega_mode_7_rot_air_move_by_input_input(:UP, :DOWN, :LEFT, :RIGHT) if GEGAOptions::MoveInput == 0 || GEGAOptions::MoveInput == 2
    45.         gega_mode_7_rot_air_move_by_input_input(:L_UP, :L_DOWN, :L_LEFT, :L_RIGHT) if GEGAOptions::MoveInput > 0
    46.       else
    47.         gega_mode_7_rot_air_move_by_input_input(:UP, :DOWN, :LEFT, :RIGHT)
    48.       end
    49.     end
    50.     def gega_mode_7_rot_air_move_by_input_input(up, down, left, right)
    51.       if Input.press?(left)
    52.         rotate_left
    53.       elsif Input.press?(right)
    54.         rotate_right
    55.       end
    56.       if Input.press?(up)
    57.         move_forward_m7a
    58.       elsif Input.press?(down)
    59.         move_back_m7a
    60.       end
    61.     end
    62.   end
    63. end
    复制代码




    本贴来自国际rpgmaker官方论坛作者:Jono99处,因国际论坛即将永久关站,为了存档多年珍贵资料,署名转载到本论坛存档,由于官方帖子为英文原帖,需要中文翻译请点击论坛顶部切换语言为中文就可以将帖子翻译成中文浏览,方便大家随时查看,原文地址:https://forums.rpgmakerweb.com/threads/ge-game-adapter.69589/
    天天去同能,天天有童年!
    回复 送礼论坛版权

    使用道具 举报

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

    本版积分规则

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

    幸运抽奖

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

    立即查看

    聊天机器人
    Loading...

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

    GMT+8, 2026-8-17 09:25 , Processed in 0.113634 second(s), 54 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.

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