este script faz com que voce possa usar todos os botoes do teclado.
aki está:
metade do script::
a outra metade:::
CREDITOS:
MR MO POR CRIAR
ZMARCELO POR DISPONIBILIZAR
aki está:
metade do script::
- Spoiler:
Código:
#===============================================================================
# ** Input Script v2 - This script was first created by Cybersam and she
# deserves most of the credit, all I did was add a few
# functions. (Astro_Mech says)
#-------------------------------------------------------------------------------
# Author Cybersam
# Version 2.0
# Date 11-04-06
# Edit Astro_mech and Mr.Mo
#===============================================================================
SDK.log("Input", "Astro_mech and Mr.Mo", "2.0", " 13-04-06")
#-------------------------------------------------------------------------------
# Begin SDK Enabled Check
#-------------------------------------------------------------------------------
if SDK.state('Input')
module Input
#--------------------------------------------------------------------------
# * Variable Setup
#--------------------------------------------------------------------------
@keys = []
@pressed = []
Mouse_Left = 1
Mouse_Right = 2
Mouse_Middle = 4
Back= 8
Tab = 9
Enter = 13
Shift = 16
Ctrl = 17
Alt = 18
Esc = 0x1B
LT = 0x25
UPs = 0x26
RT = 0x27
DN = 0x28
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] = 12
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 # => '"
State = Win32API.new('user32','GetKeyState',['i'],'i')
Key = Win32API.new('user32','GetAsyncKeyState',['i'],'i')
#-------------------------------------------------------------------------------
USED_KEYS = [Mouse_Left, Mouse_Right, Mouse_Middle]
#-------------------------------------------------------------------------------
module_function
#--------------------------------------------------------------------------
def Input.getstate(key)
return true unless State.call(key).between?(0, 1)
return false
end
#--------------------------------------------------------------------------
def Input.testkey(key)
Key.call(key) & 0x01 == 1
end
#--------------------------------------------------------------------------
def Input.update
@keys = []
@keys.push(Input::Mouse_Left) if Input.testkey(Input::Mouse_Left)
@keys.push(Input::Mouse_Right) if Input.testkey(Input::Mouse_Right)
@keys.push(Input::Back) if Input.testkey(Input::Back)
@keys.push(Input::Tab) if Input.testkey(Input::Tab)
@keys.push(Input::Enter) if Input.testkey(Input::Enter)
@keys.push(Input::Shift) if Input.testkey(Input::Shift)
@keys.push(Input::Ctrl) if Input.testkey(Input::Ctrl)
@keys.push(Input::Alt) if Input.testkey(Input::Alt)
@keys.push(Input::Esc) if Input.testkey(Input::Esc)
for key in Input::Letters.values
@keys.push(key) if Input.testkey(key)
end
for key in Input::Numberkeys.values
@keys.push(key) if Input.testkey(key)
end
for key in Input::Numberpad.values
@keys.push(key) if Input.testkey(key)
end
for key in Input::Fkeys.values
@keys.push(key) if Input.testkey(key)
end
@keys.push(Input::Collon) if Input.testkey(Input::Collon)
@keys.push(Input::Equal) if Input.testkey(Input::Equal)
@keys.push(Input::Comma) if Input.testkey(Input::Comma)
@keys.push(Input::Underscore) if Input.testkey(Input::Underscore)
@keys.push(Input::Dot) if Input.testkey(Input::Dot)
@keys.push(Input::Backslash) if Input.testkey(Input::Backslash)
@keys.push(Input::Lb) if Input.testkey(Input::Lb)
@keys.push(Input::Rb) if Input.testkey(Input::Rb)
@keys.push(Input::Quote) if Input.testkey(Input::Quote)
@keys.push(Input::Space) if Input.testkey(Input::Space)
@keys.push(Input::LT) if Input.testkey(Input::LT)
@keys.push(Input::UPs) if Input.testkey(Input::UPs)
@keys.push(Input::RT) if Input.testkey(Input::RT)
@keys.push(Input::DN) if Input.testkey(Input::DN)
@pressed = []
@pressed.push(Input::Space) if Input.getstate(Input::Space)
@pressed.push(Input::Mouse_Left) if Input.getstate(Input::Mouse_Left)
@pressed.push(Input::Mouse_Right) if Input.getstate(Input::Mouse_Right)
@pressed.push(Input::Back) if Input.getstate(Input::Back)
@pressed.push(Input::Tab) if Input.getstate(Input::Tab)
@pressed.push(Input::Enter) if Input.getstate(Input::Enter)
@pressed.push(Input::Shift) if Input.getstate(Input::Shift)
@pressed.push(Input::Ctrl) if Input.getstate(Input::Ctrl)
@pressed.push(Input::Alt) if Input.getstate(Input::Alt)
@pressed.push(Input::Esc) if Input.getstate(Input::Esc)
@pressed.push(Input::LT) if Input.getstate(Input::LT)
@pressed.push(Input::UPs) if Input.getstate(Input::UPs)
@pressed.push(Input::RT) if Input.getstate(Input::RT)
@pressed.push(Input::DN) if Input.getstate(Input::DN)
for key in Input::Numberkeys.values
@pressed.push(key) if Input.getstate(key)
end
for key in Input::Numberpad.values
@pressed.push(key) if Input.getstate(key)
end
for key in Input::Letters.values
@pressed.push(key) if Input.getstate(key)
end
for key in Input::Fkeys.values
@pressed.push(key) if Input.getstate(key)
end
@pressed.push(Input::Collon) if Input.getstate(Input::Collon)
@pressed.push(Input::Equal) if Input.getstate(Input::Equal)
@pressed.push(Input::Comma) if Input.getstate(Input::Comma)
@pressed.push(Input::Underscore) if Input.getstate(Input::Underscore)
@pressed.push(Input::Dot) if Input.getstate(Input::Dot)
@pressed.push(Input::Backslash) if Input.getstate(Input::Backslash)
@pressed.push(Input::Lb) if Input.getstate(Input::Lb)
@pressed.push(Input::Rb) if Input.getstate(Input::Rb)
@pressed.push(Input::Quote) if Input.getstate(Input::Quote)
end
#--------------------------------------------------------------------------
def Input.triggerd?(key)
return true if @keys.include?(key)
return false
end
#--------------------------------------------------------------------------
def Input.pressed?(key)
return true if @pressed.include?(key)
return false
end
#--------------------------------------------------------------------------
# * 4 Diraction
#--------------------------------------------------------------------------
def Input.dir4
return 2 if Input.pressed?(Input::DN)
return 4 if Input.pressed?(Input::LT)
return 6 if Input.pressed?(Input::RT)
return 8 if Input.pressed?(Input::UPs)
return 0
end
para usalo
vc coloca definir teclas e escolhe uma variavel:
depois ponha
condição
variavel(que vc escolheu) = X
onde X representa alguma tecla do teclado.
estas::
Mouse_Left = 1
Mouse_Right = 2
Mouse_Middle = 4
Back= 8
Tab = 9
Enter = 13
Shift = 16
Ctrl = 17
Alt = 18
Space = 32
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[0] = 45
Numberpad[1] = 35
Numberpad[2] = 40
Numberpad[3] = 34
Numberpad[4] = 37
Numberpad[5] = 12
Numberpad[6] = 39
Numberpad[7] = 36
Numberpad[8] = 38
Numberpad[9] = 33
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[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
até mais
qualquer dúvida pergunte
a outra metade:::
- Spoiler:
Código:
#--------------------------------------------------------------------------
# * Trigger (key)
#--------------------------------------------------------------------------
def trigger?(key)
keys = []
case key
when Input::DOWN
keys.push(Input::DN)
when Input::UP
keys.push(Input::UPs)
when Input::LEFT
keys.push(Input::LT)
when Input::RIGHT
keys.push(Input::RT)
when Input::C
keys.push(Input::Space, Input::Enter)
when Input::B
keys.push(Input::Esc, Input::Numberpad[0])
when Input::X
keys.push(Input::Letters["A"])
when Input::L
keys.push(Input::Letters["Q"])
when Input::R
keys.push(Input::Letters["W"])
when Input::Y
keys.push(Input::Letters["R"])
when Input::F5
keys.push(Input::Fkeys[5])
when Input::F6
keys.push(Input::Fkeys[6])
when Input::F7
keys.push(Input::Fkeys[7])
when Input::F8
keys.push(Input::Fkeys[8])
when Input::F9
keys.push(Input::Fkeys[9])
when Input::SHIFT
keys.push(Input::Shift)
when Input::CTRL
keys.push(Input::Ctrl)
when Input::ALT
keys.push(Input::Alt)
else
keys.push(key)
end
for k in keys
if Input.triggerd?(k)
return true
end
end
return false
end
#--------------------------------------------------------------------------
# * Repeat (key)
#--------------------------------------------------------------------------
def repeat?(key)
keys = []
case key
when Input::DOWN
keys.push(Input::DN)
when Input::UP
keys.push(Input::UPs)
when Input::LEFT
keys.push(Input::LT)
when Input::RIGHT
keys.push(Input::RT)
when Input::C
keys.push(Input::Space, Input::Enter)
when Input::B
keys.push(Input::Esc, Input::Numberpad[0])
when Input::X
keys.push(Input::Letters["A"])
when Input::L
keys.push(Input::Letters["Q"])
when Input::R
keys.push(Input::Letters["W"])
when Input::Y
keys.push(Input::Letters["R"])
when Input::F5
keys.push(Input::Fkeys[5])
when Input::F6
keys.push(Input::Fkeys[6])
when Input::F7
keys.push(Input::Fkeys[7])
when Input::F8
keys.push(Input::Fkeys[8])
when Input::F9
keys.push(Input::Fkeys[9])
when Input::SHIFT
keys.push(Input::Shift)
when Input::CTRL
keys.push(Input::Ctrl)
when Input::ALT
keys.push(Input::Alt)
else
keys.push(key)
end
for k in keys
if Input.triggerd?(k)
return true
end
end
return false
end
#--------------------------------------------------------------------------
# * Press (key)
#--------------------------------------------------------------------------
def press?(key)
keys = []
case key
when Input::DOWN
keys.push(Input::DN)
when Input::UP
keys.push(Input::UPs)
when Input::LEFT
keys.push(Input::LT)
when Input::RIGHT
keys.push(Input::RT)
when Input::C
keys.push(Input::Space, Input::Enter)
when Input::B
keys.push(Input::Esc, Input::Numberpad[0])
when Input::X
keys.push(Input::Letters["A"])
when Input::L
keys.push(Input::Letters["Q"])
when Input::R
keys.push(Input::Letters["W"])
when Input::Y
keys.push(Input::Letters["R"])
when Input::F5
keys.push(Input::Fkeys[5])
when Input::F6
keys.push(Input::Fkeys[6])
when Input::F7
keys.push(Input::Fkeys[7])
when Input::F8
keys.push(Input::Fkeys[8])
when Input::F9
keys.push(Input::Fkeys[9])
when Input::SHIFT
keys.push(Input::Shift)
when Input::CTRL
keys.push(Input::Ctrl)
when Input::ALT
keys.push(Input::Alt)
else
keys.push(key)
end
for k in keys
if Input.pressed?(k)
return true
end
end
return false
end
#--------------------------------------------------------------------------
# * Check (key)
#--------------------------------------------------------------------------
def check(key)
Win32API.new("user32","GetAsyncKeyState",['i'],'i').call(key) & 0x01 == 1 # key 0
end
#--------------------------------------------------------------------------
# * Mouse Update
#--------------------------------------------------------------------------
def mouse_update
@used_i = []
for i in USED_KEYS
x = check(i)
if x == true
@used_i.push(i)
end
end
end
#--------------------------------------------------------------------------
# * Short Write C
#--------------------------------------------------------------------------
def Input.C
Input.trigger?(C)
end
#--------------------------------------------------------------------------
# * Short Write B
#--------------------------------------------------------------------------
def Input.B
Input.trigger?(B)
end
#--------------------------------------------------------------------------
# * Short Write A
#--------------------------------------------------------------------------
def Input.A
Input.trigger?(A)
end
#--------------------------------------------------------------------------
# * Short Write Down
#--------------------------------------------------------------------------
def Input.Down
Input.trigger?(DOWN)
end
#--------------------------------------------------------------------------
# * Short Write Up
#--------------------------------------------------------------------------
def Input.Up
Input.trigger?(UP)
end
#--------------------------------------------------------------------------
# * Short Write Right
#--------------------------------------------------------------------------
def Input.Right
Input.trigger?(RIGHT)
end
#--------------------------------------------------------------------------
# * Short Write Left
#--------------------------------------------------------------------------
def Input.Left
Input.trigger?(LEFT)
end
#--------------------------------------------------------------------------
# * Anykey pressed? ( A or B or C or Down or Up or Right or Left )
#--------------------------------------------------------------------------
def Input.Anykey
if A or B or C or Down or Up or Right or Left
return true
else
return false
end
end
end
end
#-------------------------------------------------------------------------------
# End SDK Enabled Check
#-------------------------------------------------------------------------------
CREDITOS:
MR MO POR CRIAR
ZMARCELO POR DISPONIBILIZAR