Day.png);">
Apprendre


Vous êtes
nouveau sur
Oniromancie?

Visite guidée
du site


Découvrir
RPG Maker

RM 95
RM 2000/2003
RM XP
RM VX/VX Ace
RM MV/MZ

Apprendre
RPG Maker

Tutoriels
Guides
Making-of

Dans le
Forum

Section Entraide

Sorties: Star Trek: Glorious Wolf - (...) / Sorties: Dread Mac Farlane - episode 3 / News: Plein d'images cools créées par (...) / Sorties: Star Trek: Glorious Wolf - (...) / Jeux: Final Fantasy 2.0 / Chat

Bienvenue
visiteur !




publicité RPG Maker!

Statistiques

Liste des
membres


Contact

Mentions légales

299 connectés actuellement

29190811 visiteurs
depuis l'ouverture

5862 visiteurs
aujourd'hui



Barre de séparation

Partenaires

Indiexpo

Akademiya RPG Maker

Blog Alioune Fall

Fairy Tail Constellations

Zarok

RPG Maker - La Communauté

Offgame

Le Comptoir Du clickeur

Guelnika & E-magination

Tous nos partenaires

Devenir
partenaire



forums

Index du forum > Entraide > [RESOLU] [Rpg Maker VX] Script Clavier ABS


Narak - posté le 21/06/2013 à 13:40:01 (62 messages postés)

❤ 0

Domaine concerné: Script
Logiciel utilisé: Rpg Maker VX
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 (http://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

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
#===============================================================================
# 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:OWN)
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:OWN, Input::LEFT, Input::RIGHT)



Config - Keys

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
==============================================================================
# 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:ause
  Input::CAPS
  Input::Esc
  Input::LEFT
  Input::UP
  Input::RIGHT
  Input:OWN
  Input::Space
  Input:ageUp
  Input:ageDowm
  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

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#===============================================================================
# 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

viens voir :http://www.rpg-maker.fr/index.php?page=forum&id=22418&deb=1&ancre=967250


Joke - posté le 21/06/2013 à 14:14:28 (5089 messages postés)

❤ 0

Bilouteux fou

Tu as mis un mois pour trouver un script qui empêche d'utiliser les commandes événements, et n'explique rien ?

Input.trigger?(arg) pour détecter dès l'appui
Input.press?(arg) pour détecter pendant l'appui

avec "arg" remplacé par "Input::CEQUETUVEUX" présent dans le script "Config - Keys" (par exemple, Input::LEFT = touche gauche.)

Du coup en événement ça fait :
condition : si script : Input.trigger?(Input::LEFT)

La condition sera validée si on appuie sur gauche.

Mais attention il y a une erreur de copier/coller dans le script, sûrement à cause de la formation du smiley ":D" ( : D )

Input:OWN n'est pas Input:OWN mais :

Portion de code : Tout sélectionner

1
Input::DOWN



Mais plutôt... Utilise un vrai script, comme Input Ultimate 2 de Zeus81 :

http://pastebin.com/LKd9hbDa

C'est bien plus complet et fonctionnel si ça t'intéresse. ^^

biloumaster.fr, mon joli site ouèb tout bô tout frai !


Narak - posté le 21/06/2013 à 14:44:14 (62 messages postés)

❤ 0

La faute lors du copié/collé est bien du aux smileys

Le commande donné

Portion de code : Tout sélectionner

1
Input.trigger?(Input::LEFT)



Me donne une erreur sur la ligne

Portion de code : Tout sélectionner

1
UPDATE = Win32API.new("PRABS.dll", "UpdateInputArray", "lllll", "")



Je crois que je vais utiliser Input Ultimate mais doit-je bien le copier à la suite de

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#==============================================================================
# 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


Dans "Config-Keys"

Et merci d'avoir prit le temps de répondre :)

viens voir :http://www.rpg-maker.fr/index.php?page=forum&id=22418&deb=1&ancre=967250


Joke - posté le 21/06/2013 à 15:00:45 (5089 messages postés)

❤ 0

Bilouteux fou

Euh, ben utilise l'input ultimate, assure toi de bien virer tout ce que tu avais de l'ancien script, comme si tu ne l'avais pas installé, et mets l'input ultimate au dessus de Main, dans Materials.

Lis bien toute les explications au début du script de Zeus.

biloumaster.fr, mon joli site ouèb tout bô tout frai !


Narak - posté le 21/06/2013 à 15:53:03 (62 messages postés)

❤ 0

L'input ultime met tout en désordre l'abs que j'utilise.

Donc j'aimerais avoir des information sur ce que tu voulaits dire :

Citation:

avec "arg" remplacé par "Input::CEQUETUVEUX" présent dans le script "Config - Keys" (par exemple, Input::LEFT = touche gauche.)



viens voir :http://www.rpg-maker.fr/index.php?page=forum&id=22418&deb=1&ancre=967250


Joke - posté le 21/06/2013 à 16:09:39 (5089 messages postés)

❤ 0

Bilouteux fou

Bon, j'ai mal compris, en effet je pensais que tu voulais juste avoir la gestion des appuis touches, mais comme ton script de l'ABS utilise forcément ce script là, tu dois le garder...

Dans ce cas je suis trop naze pour voir comment faire. :D En tout cas c'est pas normal que ça t'empêche de faire l'habituel "condition touche pressée"... Quelle connerie il a bien pu faire, ton script ?

biloumaster.fr, mon joli site ouèb tout bô tout frai !


Narak - posté le 21/06/2013 à 16:18:34 (62 messages postés)

❤ 0

J'ai une hypothèse.

Le script à bien prit en compte toute les touches mais il n'a pas fait les rapport entre les nouvelles et les anciennes.

Toute aide accepté

____________


Merci à XHTMLBoy pour la solution :)

Citation:

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



Et merci d'avoir essayer de m'avoir aider Joke, tu m'avais donné la solution mais j'avais mal comprit :s j'avais juste essayer "Input.trigger?"

Bon weekend :)

viens voir :http://www.rpg-maker.fr/index.php?page=forum&id=22418&deb=1&ancre=967250

Index du forum > Entraide > [RESOLU] [Rpg Maker VX] Script Clavier ABS

repondre up

Suite à de nombreux abus, le post en invités a été désactivé. Veuillez vous inscrire si vous souhaitez participer à la conversation.

Haut de page

Merci de ne pas reproduire le contenu de ce site sans autorisation.
Contacter l'équipe - Mentions légales

Plan du site

Communauté: Accueil | Forum | Chat | Commentaires | News | Flash-news | Screen de la semaine | Sorties | Tests | Gaming-Live | Interviews | Galerie | OST | Blogs | Recherche
Apprendre: Visite guidée | RPG Maker 95 | RPG Maker 2003 | RPG Maker XP | RPG Maker VX | RPG Maker MV | Tutoriels | Guides | Making-of
Télécharger: Programmes | Scripts/Plugins | Ressources graphiques / sonores | Packs de ressources | Midis | Eléments séparés | Sprites
Jeux: Au hasard | Notre sélection | Sélection des membres | Tous les jeux | Jeux complets | Le cimetière | RPG Maker 95 | RPG Maker 2000 | RPG Maker 2003 | RPG Maker XP | RPG Maker VX | RPG Maker VX Ace | RPG Maker MV | Autres | Proposer
Ressources RPG Maker 2000/2003: Chipsets | Charsets | Panoramas | Backdrops | Facesets | Battle anims | Battle charsets | Monstres | Systems | Templates
Ressources RPG Maker XP: Tilesets | Autotiles | Characters | Battlers | Window skins | Icônes | Transitions | Fogs | Templates
Ressources RPG Maker VX: Tilesets | Charsets | Facesets | Systèmes
Ressources RPG Maker MV: Tilesets | Characters | Faces | Systèmes | Title | Battlebacks | Animations | SV/Ennemis
Archives: Palmarès | L'Annuaire | Livre d'or | Le Wiki | Divers