RMRK is retiring.
Registration is disabled. The site will remain online, but eventually become a read-only archive. More information.

RMRK.net has nothing to do with Blockchains, Cryptocurrency or NFTs. We have been around since the early 2000s, but there is a new group using the RMRK name that deals with those things. We have nothing to do with them.
NFTs are a scam, and if somebody is trying to persuade you to buy or invest in crypto/blockchain/NFT content, please turn them down and save your money. See this video for more information.
[RMVX][FUCKIN' RESOLVED] Control Issues

0 Members and 1 Guest are viewing this topic.

*
Rep:
Level 98
2010 Best Veteran2014 Best Use of Avatar and Signature Space2014 King of RMRK2014 Favorite Staff Member2014 Best Counsel2014 Best Writer2014 Most Mature Member2014 Best IRC Chatterbox2013 Favorite Staff MemberSecret Santa 2013 ParticipantFor the great victory in the Breakfast War.Secret Santa 2012 Participant2011 Best Writer2011 Best Counsel2010 Funniest Member2010 Best Writer
I assure you, before I start this, my keyboard has NO problems with ANYTHING else using the arrow keys.

Needless to say, when running -any- version of RPG Maker, and only RPG Maker, upon launching the game the character controlled automatically starts walking up. The only key that it responds to is down, in which the character walks left until it's released and continues upward again. I've started multiple new projects to test this, ones with -NO- events on them, NO extra scripts, nothing. Keyboard has been unplugged and replugged about twenty times to test this.

Solutions?
« Last Edit: June 24, 2010, 01:30:50 AM by Anski »
you awoke in a burning paperhouse
from the infinite fields of dreamless sleep

*
? ? ? ? ? ? ? ? ? The nice kind of alien~
Rep:
Level 92
Martian - Occasionally kind
Disable Gamepad HIDs in the device manager.
Alternatively try using this script: http://paste-bin.com/view/a84fb1d3 (RMXP only)
« Last Edit: June 23, 2010, 10:25:01 AM by Zeriab »

*
Rep:
Level 98
2010 Best Veteran2014 Best Use of Avatar and Signature Space2014 King of RMRK2014 Favorite Staff Member2014 Best Counsel2014 Best Writer2014 Most Mature Member2014 Best IRC Chatterbox2013 Favorite Staff MemberSecret Santa 2013 ParticipantFor the great victory in the Breakfast War.Secret Santa 2012 Participant2011 Best Writer2011 Best Counsel2010 Funniest Member2010 Best Writer
you awoke in a burning paperhouse
from the infinite fields of dreamless sleep

*
? ? ? ? ? ? ? ? ? The nice kind of alien~
Rep:
Level 92
Martian - Occasionally kind
Here is a VX version of the script: http://paste-bin.com/view/5fa9f97f

*
Rep:
Level 98
2010 Best Veteran2014 Best Use of Avatar and Signature Space2014 King of RMRK2014 Favorite Staff Member2014 Best Counsel2014 Best Writer2014 Most Mature Member2014 Best IRC Chatterbox2013 Favorite Staff MemberSecret Santa 2013 ParticipantFor the great victory in the Breakfast War.Secret Santa 2012 Participant2011 Best Writer2011 Best Counsel2010 Funniest Member2010 Best Writer
Getting a syntax error on line 12.
you awoke in a burning paperhouse
from the infinite fields of dreamless sleep

*
? ? ? ? ? ? ? ? ? The nice kind of alien~
Rep:
Level 92
Martian - Occasionally kind
View Raw or you'll get garbage along when copying.
You can also try copy from here if you'll still get garbage.

Code: [Select]
module Utility
  #############
  # DLL STUFF #
  #############
  READ_REGISTRY    = Win32API.new('advapi32',  'RegGetValue',
                                  %w(l p p l p p p), 'l')
 
  HKEY_CURRENT_USER = 1-0x80000000
 
  ##
  # Read controls from registry
  #
  def self.read_controls
    hkey = HKEY_CURRENT_USER
    subkey = 'Software\Enterbrain\RGSS2'
    value = 'ButtonAssign'
    type = 0x00000008 # Binary
    buftype = "\0" * 5
    buffer_size = 256
    buffer = "\0" * buffer_size
    size = [buffer_size-1].pack("L")
    res = READ_REGISTRY.call(hkey, subkey, value, type, buftype, buffer, size)
    size = size.unpack("L")
    return buffer[0...size[0]].unpack("c*")
  end
 
  def self.read_launchinfullscreen
    read_dword('LaunchInFullScreen') == 1
  end
 
  def self.read_waitforvsync
    read_dword('WaitForVsync') == 1
  end
 
  def self.read_musicplaying
    read_dword('PlayMusic') == 1
  end
 
  def self.read_soundplaying
    read_dword('PlaySound') == 1
  end
 
  ##
  # Reading a given dword
  #
  def self.read_dword(value)
    hkey = HKEY_CURRENT_USER
    subkey = 'Software\Enterbrain\RGSS2'
    type = 0x00000008 # Binary
    buftype = "\0" * 5
    buffer_size = 256
    buffer = "\0" * buffer_size
    size = [buffer_size-1].pack("L")
    res = READ_REGISTRY.call(hkey, subkey, value, type, buftype, buffer, size)
    size = size.unpack("L")
    return buffer[0...size[0]].unpack("L")[0]
  end
end

module Input
  VK_RETURN   = 0x0D # ENTER
  VK_SHIFT    = 0x10
  VK_CONTROL  = 0x11 # CTRL
  VK_MENU     = 0x12 # ALT
  VK_ESCAPE   = 0x1B # ESC
  VK_SPACE    = 0x20 # SPACEBAR
  VK_PRIOR    = 0x21 # PAGE UP
  VK_NEXT     = 0x22 # PAGE DOWN
  VK_LEFT     = 0x25 # LEFT ARROW
  VK_UP       = 0x26 # UP ARROW
  VK_RIGHT    = 0x27 # RIGHT ARROW
  VK_DOWN     = 0x28 # DOWN ARROW
  VK_A        = 0x41
  VK_B        = 0x42
  VK_C        = 0x43
  VK_D        = 0x44
  VK_Q        = 0x51
  VK_S        = 0x53
  VK_V        = 0x56
  VK_W        = 0x57
  VK_X        = 0x58
  VK_Z        = 0x5A
  VK_NUMPAD0  = 0x60 # Num0
  VK_F5       = 0x74
  VK_F6       = 0x75
  VK_F7       = 0x76
  VK_F8       = 0x77
  VK_F9       = 0x78
 
  KEYBOARD_TRIGGERS = [VK_RETURN, VK_SHIFT, VK_CONTROL, VK_MENU, VK_ESCAPE,
      VK_SPACE, VK_PRIOR, VK_NEXT, VK_LEFT, VK_UP, VK_DOWN, VK_RIGHT,
      VK_A, VK_B, VK_C, VK_D, VK_Q, VK_S, VK_V, VK_W, VK_X, VK_Z,
      VK_NUMPAD0, VK_F5, VK_F6, VK_F7, VK_F8, VK_F9]
     
  BUTTONS = Utility.read_controls
  BUTTON_MAPPING = {
      VK_RETURN => BUTTONS[11],
      VK_SHIFT => [BUTTONS[14], SHIFT],
      VK_CONTROL => CTRL,
      VK_MENU => ALT,
      VK_ESCAPE => BUTTONS[12],
      VK_SPACE => BUTTONS[10],
      VK_PRIOR => L,
      VK_NEXT => R,
      VK_LEFT => LEFT,
      VK_UP => UP,
      VK_DOWN => DOWN,
      VK_RIGHT => RIGHT,
      VK_A => BUTTONS[20],
      VK_B => BUTTONS[19],
      VK_C => BUTTONS[17],
      VK_D => BUTTONS[22],
      VK_Q => BUTTONS[23],
      VK_S => BUTTONS[21],
      VK_V => BUTTONS[18],
      VK_W => BUTTONS[24],
      VK_X => BUTTONS[16],
      VK_Z => BUTTONS[15],
      VK_NUMPAD0 => BUTTONS[13],
      VK_F5 => F5,
      VK_F6 => F6,
      VK_F7 => F7,
      VK_F8 => F8,
      VK_F9 => F9
  }
     
  ASYNC_KEY = Win32API.new('user32', 'GetAsyncKeyState', 'i', 'i') # Trigger
  KEY_STATE = Win32API.new('user32', 'GetKeyState',      'i', 'i') # Press
 
  # Frames to wait between each repeat
  REPEAT_WAIT = 6
  # Frames to wait from the first repeat to the following repeats
  REPEAT_START_WAIT = 24
 
  # Initialize button presses and triggers
  class << self
    @@button_presses = {}
    @@button_presses.default = 0
    @@button_trigger = {}
    @@button_trigger.default = false
  end
 
  # module functions
  module_function
 
  def update_trigger(state, trigger)
    @@button_trigger[trigger] |= (state == 1)
  end
 
  def update_triggers
    @@button_trigger.clear
    # Check for clicks
    for trigger in KEYBOARD_TRIGGERS
      # Gets key state for presses
      state = KEY_STATE.call(trigger)
      async = ASYNC_KEY.call(trigger) & 1
      if BUTTON_MAPPING[trigger].is_a?(Array)
        for button in BUTTON_MAPPING[trigger]
          next if button == 0
          update_press(state, button)
          update_trigger(async, button)
        end
      else
        next if BUTTON_MAPPING[trigger] == 0
        update_press(state, BUTTON_MAPPING[trigger])
        update_trigger(async, BUTTON_MAPPING[trigger])
      end
    end
  end
 
  def update_press(state, trigger)
    # If 0 or 1
    if state == 0 || state == 1
      if @@button_presses[trigger] > 0
        @@button_presses[trigger] *= -1
      else
        @@button_presses[trigger] = 0
      end
    else
      if @@button_presses[trigger] > 0
        @@button_presses[trigger] += 1
      else
        @@button_presses[trigger] = 1
      end
    end
  end
 
 
  ##
  # Overrides
  #
  def update
    update_triggers
  end
 
  def trigger?(num)
    return @@button_trigger[num]
  end
  def press?(num)
    return @@button_presses[num] >= 1
  end
  def repeat?(num)
    if @@button_presses[num] <= 0
      return false
    elsif @@button_presses[num] == 1
      return true
    elsif @@button_presses[num] > REPEAT_START_WAIT
      return @@button_presses[num] % REPEAT_WAIT == 1
    end
  end
 
  def dir4
    if press?(LEFT)
      return LEFT
    elsif press?(RIGHT)
      return RIGHT
    elsif press?(DOWN)
      return DOWN
    elsif press?(UP)
      return UP
    else
      return 0
    end
  end
end

*
Rep:
Level 98
2010 Best Veteran2014 Best Use of Avatar and Signature Space2014 King of RMRK2014 Favorite Staff Member2014 Best Counsel2014 Best Writer2014 Most Mature Member2014 Best IRC Chatterbox2013 Favorite Staff MemberSecret Santa 2013 ParticipantFor the great victory in the Breakfast War.Secret Santa 2012 Participant2011 Best Writer2011 Best Counsel2010 Funniest Member2010 Best Writer
I love you.

I love you so much.
you awoke in a burning paperhouse
from the infinite fields of dreamless sleep

********
Hungry
Rep:
Level 96
Mawbeast
2013 Best ArtistParticipant - GIAW 11Secret Santa 2013 ParticipantFor the great victory in the Breakfast War.2012 Best Game Creator (Non-RM Programs)~Bronze - GIAW 9Project of the Month winner for December 2009Project of the Month winner for August 20082011 Best Game Creator (Non RM)Gold - GIAW Halloween
wtf is this bullshit now it's happening to me.

FCF3a A+ C- D H- M P+ R T W- Z- Sf RLCT a cmn+++ d++ e++ f h+++ iw+++ j+ p sf+
Follow my project: MBlok | Find me on: Bandcamp | Twitter | Patreon