Macro

Répondre
Partager Rechercher
Je cherche une macro qui pourrai faire :

Si aspect de l'aigle activé sa caste aspect du singe, sinon sa caste aspect de l'aigle

(en gros c'est pour switch entre les 2 avec une seule macro)

J'ai tenté pas mal de combinaison avec les if, mais je trouve pas :/

Help plz ^^
arf je croyais qu'on pouvait se servir de commande IsSpellPassive(id, SpellBookFrame.bookType) pour savoir si un buff était déjà activé mais comme ça ne semble pas fonctionner alors le mieux que je suis arrivé a faire dans une macro c'est ça :

Code:
 
/script if ( GetPlayerBuffTimeLeft(0) == 0 ) then CastSpell(x1, SpellBookFrame.bookType); else if ( GetPlayerBuffTimeLeft(1) == 0 ) then CastSpell(x2, SpellBookFrame.bookType); end end
x1 = Le numéro de slot de ton premier Buff (Ex.Aspect de l'Aigle)
x2= Le numéro de slot de ton deuxième Buff (Ex. Aspect du singe)

Pour connaitre ces chiffres, t'as qu'a ouvrir ton livre de spells et compter tes spells par colonnes, de haut en bas, puis de page en pages et et enfin d'onglet en onglet.

Le problème c'est que tu ne peux pas t'assurer que les slots 0 et 1 soient toujours attribuées aux même buffs (aigle et singe) étant donné qu'elles sont attribuées par ordre d'activation.Avec un mod ça serait plus facile car tu pourrais aller chercher le nom de ces buffs à l'aide du tooltip et filtrer ceux qui ne t'intéressent pas mais avec une macro c'est que t'es limité en caractères ...

Enfin peut-être que vjeux connnaît une meilleure astuce

++
Il y a une autres solution qui consiste à tester chaque buff qui est présent et de regarde si c'est Aspect of the Monkey ou Aspect of the Eagle, et utiliser la commande CastSpellByName("Aspect of the ...");

La fonction pour récupérer le chemin de l'icone des buffs est UnitBuff("player", x);

Etant donné que je n'ai pas de hunter, ça va être dur de faire un exemple concret :S

Edit : Essaye ça. Par contre, je n'ai pas la traduction des deux sorts, donc elle n'est peut-être pas bonne !

/script x=1;while (UnitBuff("player",x)) do if(string.find(UnitBuff("player",x),"AspectOfTheMonkey")) then CastSpellByName("Aspect de l'Aigle");elseif(string.find(UnitBuff("player",x),"RavenForm")) then CastSpellByName("Aspect du Singe");end x=x+1;end
j'ai essayé de faire une macro avec un tps d'attente pour enchainer 2 fois la meme attaque
la premiere attaque passe mais apres la macro ne suit pas, je dois mal écrire la macro pour la temporisation. Si quelqu'un pouvait m'aider svp (dsl de polluer ton post Core)

genre au début

/script TargetNearestEnemy(); >>>(pour le pvp ca, pour les attaques surprises)
/cast Attaque pernicieuse(Niveau 3);
.... (la je voi pas)
/cast Attaque pernicieuse(Niveau 3)

voila
Pour la macro sus-cité (par moi hein pas celle des 2 attaques)
j'ai trouvé la solution

/script if(string.find(UnitBuff("player",1),"AspectOfTheMonkey") then CastSpell(x1,SpellBookFrame.BookType) else CastSpellByName("Aspect du singe"); end

x1 étant le numéro de l'aspect of hawk
(CastSpellByName("Aspect du faucon (niveau X)") n'a pas l'air de marcher :/)

Merci de votre aide les gens
Je te conseilles d'utiliser un while() qui va tester tous les buffs, car si le buff est en deuxième position cela ne marchera pas

Sinon, essaye
CastSpellByName("Aspect du faucon (rang X)");
ou
CastSpellByName("Aspect du faucon");
Dommage ça marche pas, je passe bien de faucon à singe, mais l'inverse marche pas même avec les propositions de vjeux, serait-ce un problème lié à la localisation ?
J'ai monté un hunter pour l'occasion, voila le code pour la version française :

/script a="player";x=1;while(UnitBuff(a,x)) do if(string.find(UnitBuff(a,x),"AspectOfTheMonkey")) then CastSpellByName("Aspect du faucon(Niveau 1)");elseif(string.find(UnitBuff(a,x),"RavenForm")) then CastSpellByName("Aspect du singe");end x=x+1;end
Aucun rapport avec le post, c'est juste pasque je cherche une commande que je n'arrive pas a trouver

je cherche a integrer dans une macro le fait que mon personnage effectué /fire

sauf que c'est intégré dans un if, en fait c'est :

/script x = random(1,10)
/script if(x == 5) then ........faire /fire..........

J'ai tenté avec SendChatMessage("/fire")
Mais mon personnage dit /fire

J'ai tenté avec SendChatMessage("fire",emote)
Mais sa a juste pour effet d'écrire le nom de mon personnage avec fire ensuite.

Merci de m'aider =)
(oui c'est juste un soucis d'esthétique pour pas spammer de /fire des que je met ma marque du chasseur + pet sur un mob ! mais c'est + classe ! )
/script local x = random(1, 5); if (x == 5) then PlayVocalCategory("OPENFIRE"); end

Pour avoir la liste des noms tu fais :
/script for i = 1, 30, 1 do if (VoiceMacroList[i]) then ChatFrame1:AddMessage(i.."-"..VoiceMacroList[i]); end end
J'aimerai savoir si il est possible de faire une macro pour nourrir le pet, genre une macro qui prend la nourriture en paramètres et la donne au pet? Si oui comment?
merci bcp
Pour ça je te conseille de prendre l'addon pet feeder.
Tu l'ouvre; tu met toute les nourriture que tu as, tu met quel niveau tu veux que ton pet soit nourri (normal; content) et après il le fait automatiquement.

matrium
Je vien de tenter de faire une macro avec switch entre pistage des bêtes et pistage des humanoïdes ca donne ca et ca fonctionne pas car ce n'est pas un UnitBuff =\

/script p="player";y=1;while(UnitBuff(p,y)) do if(string.find(UnitBuff(p,y),"TrackBeats")) then CastSpellByName ("Pistage des humanoïdes");elseif(string.find(UnitBuff(p,y),"TrackHumans")) then CastSpellByName("Pistage des bêtes");end y=y+1;end

un coup de main serait le bien venu
Répondre

Connectés sur ce fil

 
1 connecté (0 membre et 1 invité) Afficher la liste détaillée des connectés