You could use a parallel process common event. Use the if key pressed, initiate action. Set a switch at the same time to makesure if a collision with an enemy will hurt them and turn it off after a wait command. If you need more keys to use here's a keyboard input module.
#==============================================================================
# Keyboard Input Module
#----------------------------------------------------------------------------
# Script by Cybersam
#==============================================================================
module Input
@keys = []
@pressed = []
Mouse_Left = 1
Mouse_Right = 2
Mouse_Middle = 4
Back= 8
Tab = 9
Enter = 13
Shift = 16
Ctrl = 17
Alt = 18
Esc = 27
Space = 32
Numberkeys = {}
Numberkeys[0] = 48 # => 0
Numberkeys[1] = 49 # => 1
Numberkeys[2] = 50 # => 2
Numberkeys[3] = 51 # => 3
Numberkeys[4] = 52 # => 4
Numberkeys[5] = 53 # => 5
Numberkeys[6] = 54 # => 6
Numberkeys[7] = 55 # => 7
Numberkeys[8] = 56 # => 8
Numberkeys[9] = 57 # => 9
Numberpad = {}
Numberpad[0] = 45
Numberpad[1] = 35
Numberpad[2] = 40
Numberpad[3] = 34
Numberpad[4] = 37
Numberpad[5] = 31
Numberpad[6] = 39
Numberpad[7] = 36
Numberpad[8] = 38
Numberpad[9] = 33
Letters = {}
Letters["A"] = 65
Letters["B"] = 66
Letters["C"] = 67
Letters["D"] = 68
Letters["E"] = 69
Letters["F"] = 70
Letters["G"] = 71
Letters["H"] = 72
Letters["I"] = 73
Letters["J"] = 74
Letters["K"] = 75
Letters["L"] = 76
Letters["M"] = 77
Letters["N"] = 78
Letters["O"] = 79
Letters["P"] = 80
Letters["Q"] = 81
Letters["R"] = 82
Letters["S"] = 83
Letters["T"] = 84
Letters["U"] = 85
Letters["V"] = 86
Letters["W"] = 87
Letters["X"] = 88
Letters["Y"] = 89
Letters["Z"] = 90
Fkeys = {}
Fkeys[1] = 112
Fkeys[2] = 113
Fkeys[3] = 114
Fkeys[4] = 115
Fkeys[5] = 116
Fkeys[6] = 117
Fkeys[7] = 118
Fkeys[8] = 119
Fkeys[9] = 120
Fkeys[10] = 121
Fkeys[11] = 122
Fkeys[12] = 123
Collon = 186 # ; :
Equal = 187 # = +
Comma = 188 # , <
Underscore = 189 # - _
Dot = 190 # . >
Backslash = 191 # / ?
Lb = 219 # [ {
Rb = 221 # ] }
Quote = 222 # ' "
#-------------------------------------------------------------------------------
USED_KEYS = [Mouse_Left, Mouse_Right, Mouse_Middle]
#-------------------------------------------------------------------------------
module_function
#--------------------------------------------------------------------------
def triggered?(key)
Win32API.new("user32","GetAsyncKeyState",['i'],'i').call(key) & 0x01 == 1
end
#--------------------------------------------------------------------------
def check(key)
Win32API.new("user32","GetAsyncKeyState",['i'],'i').call(key) & 0x01 == 1
end
#--------------------------------------------------------------------------
def pressed?(key)
return true unless Win32API.new("user32","GetKeyState",['i'],'i').call(key).between?(0, 1)
return false
end
#--------------------------------------------------------------------------
def mouse_update
@used_i = []
for i in USED_KEYS
x = check(i)
if x == true
@used_i.push(i)
end
end
end
#--------------------------------------------------------------------------
def self.C
self.trigger?(C)
end
#--------------------------------------------------------------------------
def self.B
self.trigger?(B)
end
#--------------------------------------------------------------------------
def self.A
self.trigger?(A)
end
#--------------------------------------------------------------------------
def self.Down
self.trigger?(DOWN)
end
#--------------------------------------------------------------------------
def self.Up
self.trigger?(UP)
end
#--------------------------------------------------------------------------
def self.Right
self.trigger?(RIGHT)
end
#--------------------------------------------------------------------------
def self.Left
self.trigger?(LEFT)
end
#--------------------------------------------------------------------------
def self.Anykey
if A or B or C or Down or Up or Right or Left
return true
else
return false
end
end
#--------------------------------------------------------------------------
end
in a conditional branch statement use
Input.pressed?(Key #) The corresponding key number goes with the comments in the script. Just put the script above all the other scripts in the database. Hope this helps.