J'ai encore des soucis mai en gros sa fonctionne il es fait pour 4 perso
si vous en avez moi ou plus vous devrez le modifier
ne le copier/coller pas bettement retirer d'abord mes phrase d'explication et chercher a le comprend car en cas de bug ses bien de le piger
Attention se script doit etre mit dans le bloc note et enregistrer en .AHK
exemple: "nondudocuments".AHK
WinGet, wowid, List, World of Warcraft
#IfWinActive, World of Warcraft
(permet de rechercher le nombre de fenetre wow ouverte);#######################################################
;# Paramétrage
;#######################################################
; Definit si AHK doit appuyer sur la touche de ciblage avant d'appuyer sur le touche demandée
sendTargetKeys = Yes
; Definit la Touche de Ciblage, [=]
targetKeys = {= down}{= up}
; Definit l'ecran principal
primaryMonitor = 1
; Active ou Désactive la suppression des bordures de fenêtre (optimize)
removeWindowBorders = No
; Nombre de clones (pour la taille et le placement des fenêtres)
; 0 = Automatique
toons = 4
;#######################################################
; Initialisation des variables
idMain = 0
cloneCount=0
wowCount=0
monitorCount=0
;#######################################################
;# Recherche des instances de wow et du personnage principal
;#######################################################
; Recherche des instance de wow en cours d'exécution
WinGet, id, List, World of Warcraft
; Réduction de toutes les instances wow trouvées
; et comptage du nombre d'instance (wowCount)
Loop, %id%
{
StringTrimRight, this_id, id%a_index%, 0
WinMinimize, ahk_id %this_id%
wowCount += 1
}
; Verification qu'un moins un wow est en cours d'exécution
if (wowCount = 0)
{
MsgBox, 0,, Aucune instance de wow trouvée !
ExitApp
}
; Recherche de l'instance "principale"
Loop, %id%
{
; recupere l'id du process de l'instance de wow correspondant a l'index
StringTrimRight, this_id, id%a_index%, 0
; Activation de la fenêtre de l'instance courante
WinActivate, ahk_id %this_id%
; Si la fenêtre du Main n'as pas encore été trouvée,
if (%idMain% = 0)
{
; On demande si c'est celle la
MsgBox, 4,, Cette fenêtre est-elle celle de votre personnage principal ?
IfMsgBox Yes
{
; OUI : c'est la fenetre du perso principal
; on stocke l'id de la fenêtre dans la variable idMain
idMain = %this_id%
}
else
{
; NON : ce n'est pas la fenêtre du Main
; incrementation du compteur de clones et stockage de l'id dans le tableau de clones
cloneCount += 1
StringTrimRight, idClone%CloneCount%, id%a_index%,0
}
}
else
{
; sinon, (Main déja trouvé)
; incrementation du compteur de clones et stockage de l'id dans le tableau de clones
cloneCount += 1
StringTrimRight, idClone%CloneCount%, id%a_index%, 0
}
; enfin, on definit le focus sur la fenêtre du perso principal
WinActivate, ahk_id %idMain%
}
(tout se grand passage permet de chercher qu'elle fenetre est votre fenetre principal "main" vous aurez une boite de dialogue avec oui ou non) #IfWinActive, World of Warcraft
~/::Suspend, on
~Escape::Suspend, off
~Enter::Suspend, off
(désactive le script pour ecrire et le reactiv comporte quelque bug car le script ne se relance pas toujour a relancer manuellement si sa se produit)~&::KeyWait, &, D
{
ControlSend,, &, ahk_id %wowid1%
ControlSend,, &, ahk_id %wowid2%
ControlSend,, &, ahk_id %wowid3%
ControlSend,, &, ahk_id %wowid4%
}
Return
voila se qui permet de cloner une touche
pour en faire d'autre changer la lettre en gras et souligner ici "&"
Surtout n'oublier pas le Return a la fin.~é::
KeyWait, é, D
{
ControlSend,, é, ahk_id %wowid1%
ControlSend,, é, ahk_id %wowid2%
ControlSend,, é, ahk_id %wowid3%
ControlSend,, é, ahk_id %wowid4%
}
Return
~§::
KeyWait, §, D
{
ControlSend,, §, ahk_id %wowid1%
ControlSend,, §, ahk_id %wowid2%
ControlSend,, §, ahk_id %wowid3%
ControlSend,, §, ahk_id %wowid4%
}
Return
~è::
KeyWait, è, D
{
ControlSend,, è, ahk_id %wowid1%
ControlSend,, è, ahk_id %wowid2%
ControlSend,, è, ahk_id %wowid3%
ControlSend,, è, ahk_id %wowid4%
}
Return
~"::
KeyWait, ", D
{
ControlSend,, ", ahk_id %wowid1%
ControlSend,, ", ahk_id %wowid2%
ControlSend,, ", ahk_id %wowid3%
ControlSend,, ", ahk_id %wowid4%
}
Return
~'::
KeyWait, ', D
{
ControlSend,, ', ahk_id %wowid1%
ControlSend,, ', ahk_id %wowid2%
ControlSend,, ', ahk_id %wowid3%
ControlSend,, ', ahk_id %wowid4%
}
Return
~(::
KeyWait, (, D
{
ControlSend,, (, ahk_id %wowid1%
ControlSend,, (, ahk_id %wowid2%
ControlSend,, (, ahk_id %wowid3%
ControlSend,, (, ahk_id %wowid4%
}
Return
~-::
KeyWait, -, D
{
ControlSend,, -, ahk_id %wowid1%
ControlSend,, -, ahk_id %wowid2%
ControlSend,, -, ahk_id %wowid3%
ControlSend,, -, ahk_id %wowid4%
}
Return
~_::
KeyWait, _, D
{
ControlSend,, _, ahk_id %wowid1%
ControlSend,, _, ahk_id %wowid2%
ControlSend,, _, ahk_id %wowid3%
ControlSend,, _, ahk_id %wowid4%
}
Return
~à::
KeyWait, à, D
{
ControlSend,, à, ahk_id %wowid1%
ControlSend,, à, ahk_id %wowid2%
ControlSend,, à, ahk_id %wowid3%
ControlSend,, à, ahk_id %wowid4%
}
Return
~)::
KeyWait, ), D
{
ControlSend,, ), ahk_id %wowid1%
ControlSend,, ), ahk_id %wowid2%
ControlSend,, ), ahk_id %wowid3%
ControlSend,, ), ahk_id %wowid4%
}
Return
~=::
KeyWait, =, D
{
ControlSend,, =, ahk_id %wowid1%
ControlSend,, =, ahk_id %wowid2%
ControlSend,, =, ahk_id %wowid3%
ControlSend,, =, ahk_id %wowid4%
}
Return
~!::
KeyWait, !, D
{
ControlSend,, !, ahk_id %wowid1%
ControlSend,, !, ahk_id %wowid2%
ControlSend,, !, ahk_id %wowid3%
ControlSend,, !, ahk_id %wowid4%
}
Return
~ç::
KeyWait, ç, D
{
ControlSend,, ç, ahk_id %wowid1%
ControlSend,, ç, ahk_id %wowid2%
ControlSend,, ç, ahk_id %wowid3%
ControlSend,, ç, ahk_id %wowid4%
}
Return
~Tab::
KeyWait, Tab, D
{
ControlSend,, Tab, ahk_id %wowid1%
ControlSend,, Tab, ahk_id %wowid2%
ControlSend,, Tab, ahk_id %wowid3%
ControlSend,, Tab, ahk_id %wowid4%
}
return
Numpad0::
{
ControlSend,,{Numpad0 down}, ahk_id %wowid1%
ControlSend,,{Numpad0 down}, ahk_id %wowid2%
ControlSend,,{Numpad0 down}, ahk_id %wowid3%
ControlSend,,{Numpad0 down}, ahk_id %wowid4%
}
return
Numpad0 up::
{
ControlSend,,{Numpad0 up}, ahk_id %wowid1%
ControlSend,,{Numpad0 up}, ahk_id %wowid2%
ControlSend,,{Numpad0 up}, ahk_id %wowid3%
ControlSend,,{Numpad0 up}, ahk_id %wowid4%
}
returnPour le clavier numerique se sont des touche special qui commence par Numpad et elle comporte de phase une ou on la presse down une autre kan on la relache up n'oublier aucune des 2 phase sinon sa marche pasNumpad1::
{
ControlSend,,{Numpad1 down}, ahk_id %wowid1%
ControlSend,,{Numpad1 down}, ahk_id %wowid2%
ControlSend,,{Numpad1 down}, ahk_id %wowid3%
ControlSend,,{Numpad1 down}, ahk_id %wowid4%
}
return
Numpad1 up::
{
ControlSend,,{Numpad1 up}, ahk_id %wowid1%
ControlSend,,{Numpad1 up}, ahk_id %wowid2%
ControlSend,,{Numpad1 up}, ahk_id %wowid3%
ControlSend,,{Numpad1 up}, ahk_id %wowid4%
}
return
Numpad2::
{
ControlSend,,{Numpad2 down}, ahk_id %wowid1%
ControlSend,,{Numpad2 down}, ahk_id %wowid2%
ControlSend,,{Numpad2 down}, ahk_id %wowid3%
ControlSend,,{Numpad2 down}, ahk_id %wowid4%
}
return
Numpad2 up::
{
ControlSend,,{Numpad2 up}, ahk_id %wowid1%
ControlSend,,{Numpad2 up}, ahk_id %wowid2%
ControlSend,,{Numpad2 up}, ahk_id %wowid3%
ControlSend,,{Numpad2 up}, ahk_id %wowid4%
}
return
Numpad3::
{
ControlSend,,{Numpad3 down}, ahk_id %wowid1%
ControlSend,,{Numpad3 down}, ahk_id %wowid2%
ControlSend,,{Numpad3 down}, ahk_id %wowid3%
ControlSend,,{Numpad3 down}, ahk_id %wowid4%
}
return
Numpad3 up::
{
ControlSend,,{Numpad3 up}, ahk_id %wowid1%
ControlSend,,{Numpad3 up}, ahk_id %wowid2%
ControlSend,,{Numpad3 up}, ahk_id %wowid3%
ControlSend,,{Numpad3 up}, ahk_id %wowid4%
}
return
Numpad4::
{
ControlSend,,{Numpad4 down}, ahk_id %wowid1%
ControlSend,,{Numpad4 down}, ahk_id %wowid2%
ControlSend,,{Numpad4 down}, ahk_id %wowid3%
ControlSend,,{Numpad4 down}, ahk_id %wowid4%
}
return
Numpad4 up::
{
ControlSend,,{Numpad4 up}, ahk_id %wowid1%
ControlSend,,{Numpad4 up}, ahk_id %wowid2%
ControlSend,,{Numpad4 up}, ahk_id %wowid3%
ControlSend,,{Numpad4 up}, ahk_id %wowid4%
}
return
Numpad5::
{
ControlSend,,{Numpad5 down}, ahk_id %wowid1%
ControlSend,,{Numpad5 down}, ahk_id %wowid2%
ControlSend,,{Numpad5 down}, ahk_id %wowid3%
ControlSend,,{Numpad5 down}, ahk_id %wowid4%
}
return
Numpad5 up::
{
ControlSend,,{Numpad5 up}, ahk_id %wowid1%
ControlSend,,{Numpad5 up}, ahk_id %wowid2%
ControlSend,,{Numpad5 up}, ahk_id %wowid3%
ControlSend,,{Numpad5 up}, ahk_id %wowid4%
}
return
Numpad6::
{
ControlSend,,{Numpad6 down}, ahk_id %wowid1%
ControlSend,,{Numpad6 down}, ahk_id %wowid2%
ControlSend,,{Numpad6 down}, ahk_id %wowid3%
ControlSend,,{Numpad6 down}, ahk_id %wowid4%
}
return
Numpad6 up::
{
ControlSend,,{Numpad6 up}, ahk_id %wowid1%
ControlSend,,{Numpad6 up}, ahk_id %wowid2%
ControlSend,,{Numpad6 up}, ahk_id %wowid3%
ControlSend,,{Numpad6 up}, ahk_id %wowid4%
}
return
Numpad7::
{
ControlSend,,{Numpad7 down}, ahk_id %wowid1%
ControlSend,,{Numpad7 down}, ahk_id %wowid2%
ControlSend,,{Numpad7 down}, ahk_id %wowid3%
ControlSend,,{Numpad7 down}, ahk_id %wowid4%
}
return
Numpad7 up::
{
ControlSend,,{Numpad7 up}, ahk_id %wowid1%
ControlSend,,{Numpad7 up}, ahk_id %wowid2%
ControlSend,,{Numpad7 up}, ahk_id %wowid3%
ControlSend,,{Numpad7 up}, ahk_id %wowid4%
}
return
Numpad8::
{
ControlSend,,{Numpad8 down}, ahk_id %wowid1%
ControlSend,,{Numpad8 down}, ahk_id %wowid2%
ControlSend,,{Numpad8 down}, ahk_id %wowid3%
ControlSend,,{Numpad8 down}, ahk_id %wowid4%
}
return
Numpad8 up::
{
ControlSend,,{Numpad8 up}, ahk_id %wowid1%
ControlSend,,{Numpad8 up}, ahk_id %wowid2%
ControlSend,,{Numpad8 up}, ahk_id %wowid3%
ControlSend,,{Numpad8 up}, ahk_id %wowid4%
}
return
Numpad9::
{
ControlSend,,{Numpad9 down}, ahk_id %wowid1%
ControlSend,,{Numpad9 down}, ahk_id %wowid2%
ControlSend,,{Numpad9 down}, ahk_id %wowid3%
ControlSend,,{Numpad9 down}, ahk_id %wowid4%
}
return
Numpad9 up::
{
ControlSend,,{Numpad9 up}, ahk_id %wowid1%
ControlSend,,{Numpad9 up}, ahk_id %wowid2%
ControlSend,,{Numpad9 up}, ahk_id %wowid3%
ControlSend,,{Numpad9 up}, ahk_id %wowid4%
}
return
$NumpadSub::
KeyWait, NumpadSub, D
#IfWinActive, World of Warcraft
SetKeyDelay, -1
{
ControlSend,, {Z down}, ahk_id %idMain%
ControlSend,, {a down}, ahk_id %idClone1%
ControlSend,, {e down}, ahk_id %idClone2%
;je fais une pause de 0,4 seconde avant de relâcher la touche.
Sleep, 400
ControlSend,, {Z up}, ahk_id %idMain%
ControlSend,, {a up}, ahk_id %idClone1%
ControlSend,, {e up}, ahk_id %idClone2%
}
Return
se code me permet de faire une tite formation a mes perso (facultatif)
NumpadSub est la touche "-" du clavier numerique
Macro
/follow permet de mettre tout mes perso en follow sur mon main a mettre sur la meme touche de tout vos clone sauf le main et de cloner cette touche
/assist "le noms de votre main"
/cast "puis le non du sort" pas la peine de mettre le rang il ferra le sort avec le plus grand rang
ps: je finirai plus tard la j'arrete pour le moment*