Page 1 sur 1

[R] Question _switch _EndSwitch

Posté : dim. 28 mars 2010 16:38
par Tazbox
Salut. J'utilise se script qui me permet d'enchainer une série de touche en appuyant sur une touche.

Code : Tout sélectionner

Opt('SendKeyDelay', 1)
Opt('SendKeyDownDelay', 1)
Opt('MouseClickDownDelay', 1)

HotKeySet("{F11}","cast")
HotKeySet("^{PGDN}","_switch")
HotKeySet("^{PGUP}","_EndSwitch")

Dim $test=0
While 1
    Sleep(100)
WEnd


Func cast()

If $test=0 Then
    Send("=")
    Send(")")
    Send("à")
    Send("ç")
    Send("è")
    Send("-")
Else
    Send("=")
    Send(")")
    Send("_")
    Send("ç")
    Send("è")
    Send("-")
EndIf
EndFunc

Func _switch()

$test=1
EndFunc

Func _EndSwitch()

$test=0
EndFunc
 
Avec se scripte quand j'appuie sur f11 ca m'exécute les touches
=)àçè-
.
J'ai ajouter les fonctions Switch et EndSwitch pour passer d'une combinaison de touches à une autre, grâce à un raccourcis clavier. Donc quand je fais ctrl+ page bas la touches f11 m'exécute les touches
=)_çè-
, si je fais ctrl + page haut la touche f11 m'exécute la 1ere combinaison de touche, c'est à dire
=)àçè-
.

J'aimerais savoir si c'est possible d'ajouter une 3eme combinaison de touche à un raccourci clavier, comme j'ai fais pour ctrl+pgup et ctrl+phdn.

Voila je sais pas si j'ai été claire, je vous remercie d'avance pour votre aide.

Re: [..] Question _switch _EndSwitch

Posté : dim. 28 mars 2010 17:16
par funkey

Code : Tout sélectionner

Opt('SendKeyDelay', 1)
Opt('SendKeyDownDelay', 1)
Opt('MouseClickDownDelay', 1)

HotKeySet("{F11}", "cast")
HotKeySet("^{PGDN}", "_switch")
HotKeySet("^{PGUP}", "_EndSwitch")

Global  $test = 0

While 1
    Sleep(100)
WEnd


Func cast()

    If $test = 0 Then
        Send("=)àçè-")
    ElseIf $test = 1 Then
        Send("=)_çè-")
    ElseIf $test = 2 Then
        Send("=)_çèr")
    EndIf
EndFunc   ;==>cast

Func _switch()
    If $test < 2 Then $test += 1
EndFunc   ;==>_switch

Func _EndSwitch()
    if $test > 0 Then $test -= 0
EndFunc   ;==>_EndSwitch

Re: [..] Question _switch _EndSwitch

Posté : dim. 28 mars 2010 18:14
par Tazbox
Merci pour ton aide funkey.

J'ai test se scripte, mais il y a un problème quand je le test, le ctrl+pgup ne donne rien, je peux switch deux fois avec ctrl+pgdn, mais en suite je reste bloquer sur la dernière combinaison de touches.

Aussi ce qui m'intéresse vraiment, c'est de pouvoir ajouter un 3eme switch pour une 3eme combinaison de touche. J'aimerais arriver à un résultat ou j'aurais 3 raccourcis différent pour 3 combinaison de touche différente. Mais je sais pas si c'est possible.

Re: [..] Question _switch _EndSwitch

Posté : lun. 29 mars 2010 08:54
par Tazbox
Up svp, depuis hier je fais des test mais je n'y arrive pas.

Si ce n'ai pas possible de faire 3 switch sur 3 touche différente, j'aimerais dans se cas basculer d'une combinaison de touche à l'autre avec le meme raccourci et basculer vers une autre combinaison de touche avec un 2eme racourcis.

Par exemple ctrl+pgdn pour switch entre $test 1 et $test 2. Ctrl+pgup pour switch sur $test 0. Donc Ctrl+pgup me servirait uniquement pour passer sur $test 0 et ctrl+pgdn pour jongler entre $test 1 et $test 2.

J'ai testé différentes chose grace au code de funkey mais j'y arrive pas.

voila ce que j'ai tester.

Code : Tout sélectionner

Func _switch()
       If $test < 1 Then $test += 1
EndFunc   ;==>_switch

Func _EndSwitch()
    if $test > 0 Then $test = 0
EndFunc   ;==>_EndSwitch
 

Code : Tout sélectionner

Func _switch()
    If $test < 1 Then $test = 2
    If $test > 1 Then $test = 1
EndFunc   ;==>_switch

Func _EndSwitch()
    if $test > 0 Then $test = 0
EndFunc   ;==>_EndSwitch
 

Code : Tout sélectionner

Func _switch()
    If $test = 0 Then $test = 1
    If $test = 1 Then $test = 2
    If $test = 2 Then $test = 1
EndFunc   ;==>_switch

Func _EndSwitch()
    if $test > 0 Then $test = 0
EndFunc   ;==>_EndSwitch
 
Avec ses codes le raccourcis ctrl+pgdn me fais un switch sur $test 1 uniquement, et ctrl+pgup me fais revenir a $test 0. Donc je peux jongler qu'entre $test 0 et $test 1.


Le meilleur résultat que j'ai pu obtenir c'est avec se code

Code : Tout sélectionner

Func _switch()
    If $test < 2 Then $test += 1
EndFunc   ;==>_switch

Func _EndSwitch()
    if $test > 0 Then $test -= 1
EndFunc   ;==>_EndSwitch
 
Avec se code je peux bien jongler entre les 3 combinaison, quand je fais ctrl+pgdn je passe de la combinaison 0 à la 1 et si je refais ctrl+pgdn je passe donc de la 1 à la 2, si je refais ctrl+pgdn je reste sur la combinaison 2. Avec ctrl+pgup je passe de la combinaison 2 à 1 et de la 1 à la 0 et si je refais ctrl+pgup quand je suis en combinaison 0 je reste sur la 0.

Donc voila se résultat n'ai pas trop mal, j'ai juste changer un chiffre sur le code que funkey m'a donné. Pour le moment je reste avec ca, mais je vais continuer à faire des testes en espérant pouvoir arriver au résultat que j'aimerais obtenir, j'espère aussi qu'une âme charitable acceptera de me venir en aide.

Re: [..] Question _switch _EndSwitch

Posté : mar. 30 mars 2010 06:48
par Tazbox
Personne pour m'aider :(. Peut on au moins me dire si c'est possible ou pas de faire ce que je cherche à faire svp, que je ne cherche pas pour rien :(.

Re: [..] Question _switch _EndSwitch

Posté : mar. 30 mars 2010 08:32
par Tlem
Oui c'est possible. :roll:
► Afficher le texte

Re: [..] Question _switch _EndSwitch

Posté : mar. 30 mars 2010 16:00
par Tazbox
Super grâce à toi j'ai pu faire ce que je voulais.

J'ai fais un petit mélange avec tous ce que j'ai trouvé et ton code. Du coup j'ai 3 touches différente pour chaque combinaison de touche que je veux :).
Donc quand je fais ctrl+pgdn, ca me met obligatoirement la combinaison de touche correspondant à case 1, quoi que se soit la combinaison de touche active, ctrl+pgup, ca m'en met obligatoirement la combinaison case 2, quoi que se soit la combinaison active et j'ai ajouté une autre touche pour une autre combinaison de touches, ce qui donne

Code : Tout sélectionner

Opt('SendKeyDelay', 1)
Opt('SendKeyDownDelay', 1)
Opt('MouseClickDownDelay', 1)

HotKeySet("{F11}","cast")
HotKeySet("^{PGDN}","_Switchup")
HotKeySet("^{PGUP}","_SwitchDown")
HotKeySet("{F2}", "_EndSwitch")

Global $TestFlag = 1
Global $MaxCase = 2

While 1
    Sleep(200)
WEnd

Func cast()
    Switch $TestFlag
        Case 1
            Send("*=ç_è-")

        Case 2
            Send("*àç_è-")

        Case 3
            Send("*)ç_è-")
            
        Case Else
            Exit 1
    EndSwitch
EndFunc

Func _Switchup()
    $TestFlag += 1
    If $TestFlag > $MaxCase Then $TestFlag = $MaxCase
EndFunc

Func _SwitchDown()
    $TestFlag = 1
    If $TestFlag < 1 Then $TestFlag = 1
EndFunc

Func _EndSwitch()
    if $TestFlag < 3 Then $TestFlag = 3
EndFunc   ;==>_EndSwitch
 
Bon voila je suis sur que c'est pas très propre comme code, mais j'y connais absolument rien, grâce à vous je suis contant d'avoir réussi à faire ce que je voulais en bidouillant un peux.

Merci beaucoup ;).

Re: [..] Question _switch _EndSwitch

Posté : mar. 30 mars 2010 16:08
par Tlem
N'oubliez pas la balise [R] dans le titre de votre premier message si votre sujet est résolu.

Re: [..] Question _switch _EndSwitch

Posté : mar. 30 mars 2010 17:13
par Tazbox
Tlem a écrit :N'oubliez pas la balise [R] dans le titre de votre premier message si votre sujet est résolu.
Bien vue, je le savais mais j'ai oublié tellement je suis contant de mon scripte:p. Je suis deja en train de le test sur wow et ca marche nickel. C'est énorme ce qu'on peux faire avec se truc :D

Encore merci !!!