- NaytMembre
- Nombre de messages : 4
Age : 28
Distinction : aucune
Date d'inscription : 16/01/2009
[Résolu] Problème avec un script de gestion de clavier
Dim 24 Jan 2010 - 16:23
Salut à tous , j'ai regardé et je pense que je poste dans la bonne section ... ?
Voilà , j'ai un problème avec ce script :
Ce que j'aimerai , c'est savoir comment utiliser ce script ? Quel code mettre pour imiter une condition de touche , mais avec la touche U par exemple ?
Je vous remercie d'avance et bon making .
Voilà , j'ai un problème avec ce script :
- Code:
#-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# Gestion du Clavier
# par TLN et Lordrik, revu par Berka rgss2 (VX)
#--------------------------------------------------------------------------------------------------------------------------------------
# A placer au début de la liste de scripts, complètement. Ne pas utiliser deux scripts de clavier !
#-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
module Win32API::APIS
GAKS=Win32API.new("user32","GetAsyncKeyState",'i','i')
GKS=Win32API.new("user32","GetKeyState",'i','i')
KBDE=Win32API.new('user32','keybd_event','iii','')
end
include Win32API::APIS
module Input
class<<self
Inconnu="Cette touche est inconnue"
TAB_KEY={'clic gauche'=>1,'clic droit'=>2,'clic milieu'=>4,
'sm'=>4,'del'=>8,'tab'=>9,'enter'=>13,'shift'=>16,'ctrl'=>17,'alt'=>18,
'pause'=>19,'caps lock'=>20,'esc'=>27,'space'=>32,'pg up'=>33,'pg down'=>34,
'end'=>35,'home'=>36,'left'=>37,'up'=>38,'right'=>39,'down'=>40,'impr'=>44,
'insert'=>45,'suppr'=>46,'à'=>48,'&'=>49,'é'=>50,'"'=>51,"'"=>52,'('=>53,
'-'=>54,'è'=>55,'_'=>56,'ç'=>57,'a'=>65,'b'=>66,'c'=>67,'d'=>68,'e'=>69,
'f'=>70,'g'=>71,'h'=>72,'i'=>73,'j'=>74,'k'=>75,'l'=>76,'m'=>77,'n'=>78,
'o'=>79,'p'=>80,'q'=>81,'r'=>82,'s'=>83,'t'=>84,'u'=>85,'v'=>86,'w'=>87,
'x'=>88,'y'=>89,'z'=>90,'lwin'=>91,'rwin'=>92,'fn'=>93,'altgr'=>95,'0'=>96,
'1'=>97,'2'=>98,'3'=>99,'4'=>100,'5'=>101,'6'=>102,'7'=>103,'8'=>104,
'9'=>105,'n*'=>106,'+'=>107,'num'=>108,'n-'=>109,'.'=>110,'/'=>111,
'F1'=>112,'F2'=>113,'F3'=>114,'F4'=>115,'F5'=>116,'F6'=>117,'F7'=>118,
'F8'=>119,'F9'=>120,'F10'=>121,'F11'=>122,'F12'=>123,'vernum'=>144,
'verdefil'=>145,'lmaj'=>160,'rmaj'=>161,'lctrl'=>162,'rctrl'=>163,
'lalt'=>164,'ralt'=>165,'$'=>186,'='=>187,','=>188,';'=>190,':'=>191,
'ù'=>192,')'=>219,'*'=>220,'^'=>221,'²'=>222,'!'=>223,'<'=>226}
RS=TAB_KEY.clone
RS.keys.each{|k|RS[k]=[false,false,10]}
Dirs=['left','up','right','down']
alias :in_upd :update
alias :in_trig? :trigger? # Berka: Compatibilité avec touches initiales
alias :in_pres? :press?
alias :in_rep? :repeat?
def press?(n);n.is_a?(Integer)? in_pres?(n): RS[n][0];end
def trigger?(n);n.is_a?(Integer)? in_trig?(n): RS[n][1]==1;end
def dbtrigger?(n);RS[n][1]==2;end
def repeat?(n);n.is_a?(Integer) ? in_rep?(n) : (RS[k][2]%=4;RS[n][2]==0&&RS[n][0]);end
def hold?(n);((RS[n][2]%20)==0)&&RS[n][0];end
def release?(n);RS[k][1]==-1;end
def active?(n);GKS.call(TAB_KEY[k])&1==1;end
def update(*tab)
in_upd()
if !tab.empty?
tab.each{|n|m=RS[n][0];pr=GAKS.call(TAB_KEY[n])!=0
tr=m==pr ? 0 : (pr ?(RS[n][2].between?(1,9)? 2 : 1) : -1)
count=tr>0 ? 0 : [R[n][2]+1,20].min
RS[n]=[pr,tr,count]}
else
TAB_KEY.keys.each{|n|
m=RS[n][0];pr=GAKS.call(TAB_KEY[n])!=0
tr=m==pr ? 0 : (pr ?(RS[n][2].between?(1,9)? 2 : 1) : -1)
count=tr>0 ? 0 : [RS[n][2]+1,20].min
RS[n]=[pr,tr,count]}
end
end
end
end
Ce que j'aimerai , c'est savoir comment utiliser ce script ? Quel code mettre pour imiter une condition de touche , mais avec la touche U par exemple ?
Je vous remercie d'avance et bon making .
Re: [Résolu] Problème avec un script de gestion de clavier
Dim 24 Jan 2010 - 19:30
simplement:
- Code:
if Input.trigger?("u")
# actions
end
- NaytMembre
- Nombre de messages : 4
Age : 28
Distinction : aucune
Date d'inscription : 16/01/2009
Re: [Résolu] Problème avec un script de gestion de clavier
Sam 30 Jan 2010 - 7:32
Désolé pour le retard et merci Berka . Mais je voudrais faire cela dans un évenements . Par exemple :
Si la touche U est pressée : augmenter la variable 01 de 5
Si la touche U est pressée : augmenter la variable 01 de 5
Re: [Résolu] Problème avec un script de gestion de clavier
Sam 30 Jan 2010 - 11:49
- Code:
Input.update
if Input.trigger?("u")
$game_variables[1] += 5
end
dans un évent en processus //
- NaytMembre
- Nombre de messages : 4
Age : 28
Distinction : aucune
Date d'inscription : 16/01/2009
réponse
Jeu 4 Fév 2010 - 3:42
Merci à toi Berka , super !
- Coco'Staffeux retraité
- Nombre de messages : 6578
Age : 30
Localisation : Nord/Douai
Distinction : EL DICTATOR COCO'
Coco-Dieu en puissance
Grand gourou suppléant de la secte des MAGIKARP
Leader charismatique des 2beStaffieux
N°1 du forum
Président, vice-présidents et membres honoraires de la cour suprême du forum
Président de l'association des grosses distinctions CMB
Date d'inscription : 02/07/2008
Re: [Résolu] Problème avec un script de gestion de clavier
Ven 5 Fév 2010 - 17:36
Pas de [résolu] => Avertissement
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|