← GeekServers.gg [DEBUG:1782456837]
⚠ Archive en lecture seule — Retour sur GeekServers.gg
Bonjour à tous, après maintenant une semaine de recherche quasi-ininterrompue, je poste enfin un sujet pour demander un coup de main.

Je cherche a réaliser une macro capable d'aller chercher le CD d'un sort précis, et de savoir si ce CD est inférieur ou supérieur à une valeur non nulle. L'objectif étant à la fin d'avoir une macro Tourbillon qui même si je la cast alors que le CD de sanguinaire est inférieur au GCD (1,5 seconde) ne castera pas Tourbillon et m'affichera par exemple le message "minute papillon".

Ainsi, au long de ma recherche j'ai réalisé de nombreuses tentatives (changement de syntaxe, GetActionCooldown, etc) qui se sont toutes conclues par un échec. Plus précisemment je reussis a faire en sorte que ma macro sache retrouver le sort en question, et sache me dire si il est up ou non mais en dehors de l’état « sous cd » / « up », aucune des macros que j’ai testé n’a voulu m’en dire plus sur la durée restante du CD du sort casté.

Voila par exemple un des derniers essais de macro que j'ai resalié :

Code: Tout sélectionner
/run start, duration, enabled, modRate = GetSpellCooldown(34, "fureur"); if ( start > 0 and duration >= 3) then DEFAULT_CHAT_FRAME:AddMessage("A") elseif ( start > 0 and duration <= 3) then DEFAULT_CHAT_FRAME:AddMessage("B") end
end


Le sort dont le CD est interrogé içi est le sort Sanguinaire du guerrier. Une fois le sort Sanguinaire casté et sous CD, j'attends içi de cette macro qu'elle m'envoit un message A pendant les trois secondes suivant le cast, et un message B pendant les 3 dernières secondes de cast (le sort sanguinaire ayant un CD de 6 secondes)… Or la macro ne génère que le message A… En clair comme tous les tests que j'ai effectué jusqu'a présent avec la fonction GetSpellCooldown, je ne reussi a être informé que de la disponibilité ou l'indisponibilité d'un sort sans jamais obtenir de la fonction qu'elle me renvoie plus d'information sur la durée restante du CD…

J’espère être clair sur la nature de mon problême... si quelqu’un savait m’aider pour ma macro, cette aide serait providentielle.

Dikkenek.
Dikkenek


Salut,

Cette macro permet d'afficher l'id (pas celle de la DB, celle de ton grimoire) du sort qui t'intéresse:
Code: Tout sélectionner
/script s=1;
/run while(true) do n=GetSpellName(s,BOOKTYPE_SPELL); if not(n) then break; end; if (n=="Heurt de bouclier") then DEFAULT_CHAT_FRAME:AddMessage(s) break; end; s=s+1; end;
/script a,b=GetSpellCooldown(s,BOOKTYPE_SPELL);

Avec cet id (48), j'ai utilisé cette macro pour tester:
Code: Tout sélectionner
/script a,b=GetSpellCooldown(48,BOOKTYPE_SPELL);
/script if (b <=0) then DEFAULT_CHAT_FRAME:AddMessage("CD up"); else DEFAULT_CHAT_FRAME:AddMessage(b-(GetTime() - a)); end;

En spammant après avoir utilisé mon sort (Heurt de bouclier, mon war est pas fury), j'ai eu ces résultats:
Image
Bisous,

Chloro.
Chlorophylle





Conditions générales d'utilisation et mentions légales - Code de conduite des forums - Contact