Voyageur Lv.10
Age : 32 Inscrit le : 21/08/2008 Messages : 496
| Sujet: [HELP] Script Clavier ABS [Résolu] Jeu 20 Juin 2013 - 20:40 | |
| Bonjour, Je prévient d'avance que j'ai fait plusieurs recherches pendant plus de un mois mais je n'es pas trouvé de réponse (pas pressé) mais maintenant je viens de finir mes examens, donc comme tous les ans je recommence à utiliser ce logiciel pendant cette période. Je suis passé au script PRABS (https://www.youtube.com/watch?v=9pGn985IAuE) qui me semble le plus intéressant pour mon jeux. Mais celui-ci met en place la reconnaissance des touches, je ne peut alors plus utiliser dans les événements "condition : si touche haut appuyer" il n'est alors possible d'éffectuer cette action que par appelle de script. J'en revient à mon problème, que doit-je mettre dans "condition:script: ??????" Il est possible que la solution soit parmi ces scripts - PR ABS:
#=============================================================================== # PRABS #------------------------------------------------------------------------------- # By: PR Coders #===============================================================================
PRCoders.log_script("ABS", 2.0)
#=============================================================================== # Module Input #------------------------------------------------------------------------------- # Credits: PRCoders # poccil #=============================================================================== if PRCoders.check_enabled?("ABS", 2.0) PRCoders.load_script("ABS", 2.0)
module Input #-------------------------------------------------------------------------- # * Váriáveis #-------------------------------------------------------------------------- @keys = Array.new(256) @pressed = Array.new(256) @repeated = Array.new(256) @released = Array.new(256) @dir = Array.new(2) #-------------------------------------------------------------------------- # * Constantes #-------------------------------------------------------------------------- Mouse_Left = 1 Mouse_Right = 2 Mouse_Middle = 4 Back = 8 Tab = 9 Enter = 13 SHIFT = Shift = 16 CTRL = Ctrl = 17 ALT = Alt = 18 Pause = 0x13 CAPS = 0x14 Esc = 0x1B LEFT = 0x25 UP = 0x26 RIGHT = 0x27 DOWN = 0x28 Space = 32 PageUp = 0x21 PageDowm = 0x22 Home = 0x23 End = 0x24 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] = 96 Numberpad[1] = 97 Numberpad[2] = 98 Numberpad[3] = 99 Numberpad[4] = 100 Numberpad[5] = 101 Numberpad[6] = 102 Numberpad[7] = 103 Numberpad[8] = 104 Numberpad[9] = 105 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 = {} F1 = Fkeys[1] = 112 F2 = Fkeys[2] = 113 F3 = Fkeys[3] = 114 F4 = Fkeys[4] = 115 F5 = Fkeys[5] = 116 F6 = Fkeys[6] = 117 F7 = Fkeys[7] = 118 F8 = Fkeys[8] = 119 F9 = Fkeys[9] = 120 F10 = Fkeys[10] = 121 F11 = Fkeys[11] = 122 F12 = Fkeys[12] = 123 Collon = 186 # => \ | Equal = 187 # => = + Comma = 188 # => , < Underscore = 189 # => - _ Dot = 190 # => . > Backslash = 191 # => / ? Lb = 219 Rb = 221 Quote = 222 # => '" #-------------------------------------------------------------------------- # * Constantes originais #-------------------------------------------------------------------------- A = Letters["C"] B = [Letters["X"], Esc] C = [Letters["Z"], Space, Enter] X = Letters["A"] Y = Letters["S"] Z = Letters["D"] L = Letters["Q"] R = Letters["W"] #-------------------------------------------------------------------------- # * Métodos da DLL #-------------------------------------------------------------------------- UPDATE = Win32API.new("PRABS.dll", "UpdateInputArray", "lllll", "") ADDKEY = Win32API.new("PRABS.dll", "InputAddUsedKey", "i", "") #-------------------------------------------------------------------------- # * Adiciona uma tecla para ser atualizada #-------------------------------------------------------------------------- def self.add_key(key) if (key.is_a?(Array)) for k in key self.add_key(k) end return end ADDKEY.call(key) end #-------------------------------------------------------------------------- # * Reseta as teclas atualizadas #-------------------------------------------------------------------------- def self.clear Win32API.new("PRABS.dll", "ClearUsedKeys", "", "").call() end #-------------------------------------------------------------------------- # * Reseta as teclas atualizadas #-------------------------------------------------------------------------- def self.setup_direction_keys(up, down, left, right) self.add_key(up) self.add_key(down) self.add_key(left) self.add_key(right) Win32API.new("PRABS.dll", "SetupDirectionKeys", "iiii", "").call(up, down, left, right) end #-------------------------------------------------------------------------- # * Atualização #-------------------------------------------------------------------------- def self.update UPDATE.call(@keys.__id__, @pressed.__id__, @repeated.__id__, @released.__id__, @dir.__id__) end #-------------------------------------------------------------------------- # * Trigger? #-------------------------------------------------------------------------- def self.trigger?(key) if (key.is_a?(Array)) return key.any? { |k| self.trigger?(k) } end return @keys[key] end #-------------------------------------------------------------------------- # * Press? #-------------------------------------------------------------------------- def self.press?(key) if (key.is_a?(Array)) return key.any? { |k| self.press?(k) } end return @pressed[key] end #-------------------------------------------------------------------------- # * Repeat? #-------------------------------------------------------------------------- def self.repeat?(key) if (key.is_a?(Array)) return key.any? { |k| self.repeat?(k) } end return @repeated[key] end #-------------------------------------------------------------------------- # * Release? #-------------------------------------------------------------------------- def self.release?(key) if (key.is_a?(Array)) return key.any? { |k| self.release?(k) } end return @released[key] end #-------------------------------------------------------------------------- # * Dir4 #-------------------------------------------------------------------------- def self.dir4 return @dir[0] end
#-------------------------------------------------------------------------- # * Dir8 #-------------------------------------------------------------------------- def self.dir8 return @dir[1] end
self.clear end
# Adicionando as teclas mais utilizadas ao sistema
Input.add_key(Input::DOWN) Input.add_key(Input::UP) Input.add_key(Input::LEFT) Input.add_key(Input::RIGHT)
Input.add_key(Input::A) Input.add_key(Input::B) Input.add_key(Input::C) Input.add_key(Input::X) Input.add_key(Input::Y) Input.add_key(Input::Z) Input.add_key(Input::L) Input.add_key(Input::R)
Input.add_key(Input::CTRL) Input.add_key(Input::SHIFT) Input.add_key(Input::ALT)
Input.setup_direction_keys(Input::UP, Input::DOWN, Input::LEFT, Input::RIGHT)
- Config - Keys:
============================================================================== # PRABS::CONFIG::BUTTONS #==============================================================================
module PRABS::CONFIG::BUTTONS
# Dodge Key ESQUIVAR = Input::X # Right Hand RIGHT_HAND = Input::Y # Left Hand LEFT_HAND = Input::Z
end
=begin
#============================================================================== # Lista de teclas #==============================================================================
# Algumas teclas Input::Mouse_Left Input::Mouse_Right Input::Mouse_Middle Input::Back Input::Tab Input::Enter Input::SHIFTShift Input::CTRLCtrl Input::ALTAlt Input::Pause Input::CAPS Input::Esc Input::LEFT Input::UP Input::RIGHT Input::DOWN Input::Space Input::PageUp Input::PageDowm Input::Home Input::End
# Numerkeys: Os números acima das letras Input::Numberkeys[0] Input::Numberkeys[1] Input::Numberkeys[2] Input::Numberkeys[3] Input::Numberkeys[4] Input::Numberkeys[5] Input::Numberkeys[6] Input::Numberkeys[7] Input::Numberkeys[8] Input::Numberkeys[9] # Numer pad: Os números do lado das setas Input::Numberpad[0] Input::Numberpad[1] Input::Numberpad[2] Input::Numberpad[3] Input::Numberpad[4] Input::Numberpad[5] Input::Numberpad[6] Input::Numberpad[7] Input::Numberpad[8] Input::Numberpad[9]
# Letras do teclado Input::Letters["A"] Input::Letters["B"] Input::Letters["C"] Input::Letters["D"] Input::Letters["E"] Input::Letters["F"] Input::Letters["G"] Input::Letters["H"] Input::Letters["I"] Input::Letters["J"] Input::Letters["K"] Input::Letters["L"] Input::Letters["M"] Input::Letters["N"] Input::Letters["O"] Input::Letters["P"] Input::Letters["Q"] Input::Letters["R"] Input::Letters["S"] Input::Letters["T"] Input::Letters["U"] Input::Letters["V"] Input::Letters["W"] Input::Letters["X"] Input::Letters["Y"] Input::Letters["Z"] # Teclas especiais do jogo Input::A # Tecla "C" Input::B # Teclas "X" e Esc Input::C # Teclas "Z", Barra de Espaço e Enter Input::X # Tecla "A" Input::Y # Tecla "S" Input::Z # Tecla "D" Input::L # Tecla "Q" Input::R # Tecla "W"
=end
- Config - Hotkeys:
#=============================================================================== # Config - Hotkeys #===============================================================================
module PRABS::CONFIG # Hotkeys HOTKEYS[0] = Input::Numberkeys[1] HOTKEYS[1] = Input::Numberkeys[2] HOTKEYS[2] = Input::Numberkeys[3] HOTKEYS[3] = Input::Numberkeys[4] HOTKEYS[4] = Input::Numberkeys[5] HOTKEYS[5] = Input::Numberkeys[6] HOTKEYS[6] = Input::Numberkeys[7] HOTKEYS[7] = Input::Numberkeys[8] end
Comme je disais, je suis arrivé à mes vacances et j'aimerais bien pouvoir avancer ^^' Merci, d'avance
Dernière édition par narak1 le Ven 21 Juin 2013 - 19:07, édité 1 fois |
|
Citadin Lv.7
Inscrit le : 15/03/2011 Messages : 167
| Sujet: Re: [HELP] Script Clavier ABS [Résolu] Ven 21 Juin 2013 - 18:11 | |
| Tu as le choix dans la liste de ces touches : "Keys" (dans les scripts que tu as postés) Et tu fais une condition Si, Script > Input.press?(Une touche) tu peux aussi utiliser Input.trigger?(une touche) (qui vérifie si la touche vient d'être enfoncée), Input.repeat?(Une touche) qui vérifie la pression successive ou Input.release?(Une touche) qui vérifie si la touche vient d'être relâchée. Un Exemple qui vérifie que la touche G est enfoncée : Si Script > Input.press?(Input::Letters["G"]) Afficher message : Ahaha |
|
Voyageur Lv.10
Age : 32 Inscrit le : 21/08/2008 Messages : 496
| Sujet: Re: [HELP] Script Clavier ABS [Résolu] Ven 21 Juin 2013 - 18:55 | |
| Sa marche!! Je te vénére:cheers: |
|
Citadin Lv.7
Inscrit le : 15/03/2011 Messages : 167
| Sujet: Re: [HELP] Script Clavier ABS [Résolu] Ven 21 Juin 2013 - 22:14 | |
| |
|
Age : 29 Inscrit le : 20/09/2010 Messages : 4421
| Sujet: Re: [HELP] Script Clavier ABS [Résolu] Ven 21 Juin 2013 - 23:22 | |
| |
|
| Sujet: Re: [HELP] Script Clavier ABS [Résolu] | |
| |
|