[Didacticiel] Creer vos propres macros

(Post-it)

Démoniste Elfe de sang niv. 85
0
Ce petit didacticiel à pour but de vous apprendre comment créer vos propres macros selon vos besoins et vous en servir. Il s'adresse a des personnes qui n'y connaissent rien !


J'ai pas la prétention de tout connaitre, mais simplement d'essayer avec des mots simples de faire comprendre pour un néophyte comment créer ses propres macro ou corriger celles qui ne fonctionnent pas. Le but n'est pas d'être exhaustif, mais simplement de donner les premiers éléments pour commencer, avec quelques exercices corrigés.

Démoniste Elfe de sang niv. 85
0
Introduction : une macro, c'est quoi ?

Une macro, il ne s'agit ni plus ni moins que d'une suite de "commandes slashs" sécurisées ayant pour but de réaliser un certain nombre d'actions en jeu. Pourquoi sécurisées, parce que contrairement aux scripts, les macro peuvent déclencher des actions, et pas uniquement des actions sur interface.

Concrètement l'intéret des macros, c'est de faciliter la gestion de certains éléments tels que le ciblage, la gestion des focalisations, les actions multiples sur un même clic et les "boutons virtuels". (J'y reviens plus concrètement par la suite)

Macro, scripts, c'est quoi la différence ?

Pour rester simple, on va dire qu'une macro peut contenir un script. On utilise la commande /run ou /script pour en lancer l'éxécution. Les scripts s'appuient sur l'API de World Of Warcraft. L'API est un ensemble de fonctions et d'événements qui sont définis par le jeu et envoyés à votre interface pour savoir ce qui se passe en jeu. Cela permet par exemple de créer des addons. Cette liste de fonctions peuvent être ou non en "PROTECTED". Une fonction qui est classée dans cette catégorie ne peut pas être appelée depuis une macro standarde, et sera bloquée. Elle permettrait de faire toute une programmation, à la manière d'addons sans que blizzard puisse avoir le controle pour autoriser l'interface. On pourrait ainsi programmer des bots, par exemple. (http://www.wowwiki.com/World_of_Warcraft_API pour la liste complete des fonctions de l'API). On ne traitera pas des scripts dans ce sujet.

Une macro, elle possède une syntaxe définie et volontairement limitée afin de ne pas dénaturer l'interêt du jeu. En outre, une macro ne peut vérifier l'état d'un CD ou d'un buff (alors qu'un script le peut). Il s'agit donc d'éléments extrêmement limités afin de personnaliser son système de jeu par rapport à sa façon de jouer. Peut être y trouverez vous un intérêt, peut être pas.
Modifié par Néadhorá le 08/04/2011 16:08 CEST
Démoniste Elfe de sang niv. 85
0
La syntaxe

La syntaxe de base d'une macro est assez simple.

Chaque ligne représente une instruction. Le retour chariot (qu'on appelle "CR LF" en programmation - qui signifie Carriage Return Line Feed) délimite la fin de la ligne. Autrement dit, la touche entrée. Ce n'est pas parce qu'une macro fait plusieurs ligne dans votre affichage qu'elle comporte un retour chariot.

Chaque ligne commence par une "commande slash" (par exemple /cast ou /use) ou par une métacommande (par exemple #showtooltip)

Cette commande peut comprendre des conditions, qui sont symbolisées par des crochets ( [condition1,condition2][condition3] ). La virgule dans les crochets fait office d'opérateur "ET". Si l'une des deux conditions est fausse, c'est le crochet suivant qui est analysé, on peut donc considérer que c'est condition 1 ET condition 2 SINON condition 3. Si les conditions sont remplies, la commande est executée. La condition [] est toujours vraie. Pensez à l'utiliser si vous voulez mettre une action par défaut sur une instruction. Les cas où l'on souhaite que l'instruction soit ignorée étant assez rares.

Derrière les conditions, on place les arguments de la commande. Par exemple "Boule de feu(rang 4)" est un argument de la commande /cast. Certaines commande acceptent plusieurs arguments. Par exemple, la commande castsequence peut contenir comme argument plusieurs noms de sorts, mais aussi une proprieté "reset=". Par exemple : /castsequence reset=combat immolation, malédiction des éléments, conflagration, trait du chaos

Chaque ligne d'instruction est éxécutée l'une après l'autre. C'est a peu près tout.

On peut résumer par :


#metacommande
/commande1 [Condition1,Condition2][condition3][] argument1(options), argument2(options);
/commande2 [Condition1,Condition2][condition3][] argument3(options);
Modifié par Néadhorá le 13/12/2011 14:37 CET
Démoniste Elfe de sang niv. 85
0
Ouais, ben c'est déjà pas mal... Un exemple pour aider un peu ?

Illustrons avec un exemple. Vous connaissez surement le mage et son fameux contresort.

Voici quelques exemples de syntaxe (la liste complète est dans le dernier post, concernant les ressources)

/cast : permet de lancer un sort. Il prend comme argument le nom du sort et eventuellement leur rang.
target : désigne la cible du sort.
focus : désigne la cible assignée en focalisation.
exists : est une condition qui est vraie si la cible du sort existe.
#showtooltip : est une metacommande qui permet d'afficher le descriptif du sort de la macro, de manière dynamique.

Description : Le but est de lancer un contresort sur sa focalisation si elle a été assignée, et sur sa cible actuelle si elle n'existe pas



#showtooltip
/cast [target=focus,exists][] Contresort;


Attention : Petite subtilité, mais extrêmement importante ! Le "=" est un faux ami. Il ne signifie pas que l'on compare sa cible actuelle avec la cible en focalisation, mais que l'on affecte la cible du sort comme étant la focalisation. Concretement, ce n'est pas une réelle "condition". On définit que la cible qui nous interesse est la focalisation et pas la cible par défaut.

Explications : cette macro peut être traduite par l'algorithmie suivante :

SI ( MaCible prend pour valeur MaFocalisation ET MaCible Existe ) ALORS
    Lancer( Contresort, MaCible)
SINON
    SI ( toujours vrai ) ALORS
      Lancer( Contresort, MaCible)
    FINSI
FINSI


Concretement lors de la premiere ligne, on désigne que notre cible doit être notre focalisation, et on vérifie qu'elle existe.

Si la condition est remplie, on va lancer contresort. La cible étant implicite, on vient de dire qu'il fallait que ce soit la focalisation.

Si par contre, la focalision n'existe pas, l'affectation de notre cible n'a pas lieu, et nous aurons donc notre cible par défaut et pas notre focalisation.


Note : L'un des éternels problèmes des macros, c'est qu'elles sont limitées a 255 caractères. De ce fait chaque caractère gagné compte. Il existe donc un raccourci a l'expression "target=" qui est "@". On pourrait donc écrire : /cast [@focus,exists][] Contresort;





Pratique de combiner plusieurs cibles sur un seul bouton. Y'a d'autres choses que la focalisation ?

On peut tout a fait affecter a target autre chose que la focalisation. Lancer un sort sur un allié, sur soi, ou sur la personne sur laquelle on passe le curseur, par exemple. On peut également utiliser les fameux boutons virtuels pour soulager sa barre d'action. Une technique pourra agir différemment selon qu'on appuie en plus sur ALT, SHIFT, ou CTRL.

Voilà un exemple :


#showtooltip
/cast [mod:alt,@focus,exists,help][nomod,@mouseover,exists,help][mod:ctrl,@player][mod:shift,@party1,exists][] Mot de pouvoir : bouclier


Ne criez pas tout de suite, je vais expliquer ;)

Vous l'aurez sans doute compris, le but du sort est de lancer mdp : bouclier sur soi ou un allié selon que l'on clique ou non sur un modifier. Je doute sincèrement de l'utilité de cette macro ci, mais on doit pouvoir en adapter une plus utile. Peu importe, c'est pour l'exemple.

mod est l'abreviation de modifier qui constitue les fameux "boutons virtuels". Pour les mouseclickers (on ne se moque pas, SVP ! ^^) il est possible de distinguer une clic droit sur une icone d'un clic gauche, par exemple, en utilisant la condition button:1 ou 2, qui peut également se cumuler au modifier. Autrement dit, sur une meme touche peut être configuré jusqu'à 8 actions différentes. Voila qui fait du bien à la barre d'actions.

Donc, avec mod, on définit qu'il faut maintenir une touche spécifique pour déclencher la condition. Avec help, on détermine que la cible doit etre amicale et buffable (le contraire, c'est harm). Avec @mouseover, on determine que notre cible est celle sur laquelle on passe le curseur de la souris. Avec @player, on force le sort à se lancer sur soi. Avec @partyX ou raidX on détermine la cible du groupe ou du raid qui recoit l'action. Il est possible de spécifiquer le nom d'un joueur en dur également.

Vous avez tout compris jusque là ? Très bien, vous avez les bases, il y aura à suivre quelques applications pratiques et une liste de la syntaxe ( Tiré de : http://www.wowwiki.com/Macro_API)
Modifié par Néadhorá le 24/11/2010 15:56 CET
Démoniste Elfe de sang niv. 85
0
Exercice 1

Ce petit exemple peut s'avérer très utile pour certains qui en ont marre de se trimballer avec leur monture volante ou leur monture terrestre, ce qui leur prend de la place dans leurs barres d'actions. Le but est donc de créer une macro qui permette d'enfourcher sa monture volante ou sa monture terrestre dans le cas où il n'est pas possible de voler, et de descendre de monture lorsque l'on clique dessus, mais uniquement si on est pas en train de voler... Parce que se ramasser à 80 metres du sol, c'est un peu dommage.

Le but :

-Invoquer soit sa monture terrestre, soit sa monture volante lorsqu'on est a pied.
-Descendre de monture si on est à terre (et pas en vol)






CORRECTION

#showtooltip
/dismount [mounted,noflying]
/cast [nomounted,flyable]MaMontureVolante
/cast [nomounted,noflyable]MaMontureTerrestre






Exercice 1 bis

L'un des autres problèmes, c'est que certaines personnes sont attentes de collectionnite aigue. De ce fait, elles hésitent toujours sur quelle monture sortir.

Le but :

-Completer l'exercice précédant en selectionnant aléatoirement différentes montures.







CORRECTION

#showtooltip
/dismount [mounted,noflying]
/castrandom [nomounted,flyable]MaMontureVolante1, MaMontureVolante2, MaMontureVolante3,... MaMontureVolanteX;
/castrandom [nomounted,noflyable]MaMontureTerrestre1, MaMontureTerrestre2, MaMontureTerrestre3,... MaMontureTerrestreX;


NB : Rappelez-vous 255 caractères !

Démoniste Elfe de sang niv. 85
0
Liste des commandes (tiré de http://www.wowwiki.com/Macro_API)


Commandes de gestion des arènes

    teamcaptain - /teamcaptain,/tcaptain - Affecte le capitaine de l'equipe
    teamdisband - /teamdisband,/tdisband - Supprime l'équipe dont vous êtes le chef
    teaminvite - /teaminvite,/tinvite - Snvite un membre dans votre équipe d'arènes
    teamquit - /teamquit,/tquit - Quitter votre équipe d'arènes
    teamremove - /teamremove,/tremove - Renvoyer un membre de votre équipe


Commande d'interface de Blizzard

Ces fonctions ouvrent une partie des interfaces de Blizzard.

    achievements - /ach,/achieve,/achievement,/achievements - Ouvre l'interface des hauts-faits.
    calendar - Ouvre l'interface du calendrier.
    lfg - /lfg,/lfd,/df,/dungeonfinder - Ouvre l'outil de recherche des donjons.
    lfr - /lfr,/raidbrowser,/rb - Ouvre l'outil de recherche de raid.
    macro - /macro,/m - Ouvre l'interface des macros.
    stopwatch - /stopwatch,/timer,/sw - Ouvre l'interface du chronomètre.


Commandes de discussions

    afk - Vous marque comme étant "Away From Keybord" (absent).
    announce - /announce,/ann - Change le mode d'annonces du canal.
    ban - Banni un utilisateur depuis le canal.
    battleground - /battleground,/bg - Envoyer un message vers le canal de champ de bataille
    csay - /c,/csay - Envoyer un message sur un canal donné
    chatinvite - /cinvite,/chatinvite - Invite un joueur sur un canal créé.
    chatlist - /chatlist,/chatwho,/chatinfo - Affiche la liste des personnages actuellement sur un canal donné.
    chatlog - Active ou desactive les logs des discussions.
    combatlog - Active ou desactive les logs de combats.
    chathelp - /chat,/chathelp - Affiche une liste des actions courrantes liées à l'utilisation des discussions
    ckick - Renvoie un utilisateur depuis le canal.
    emote - /emote,/em,/e,/me - Affiche une émote avec le text donné.
    dnd - Vous marque comme étant "Do Not Disturb" (Ne pas déranger).
    guild - /guild,/g,/gc - Envoie un message sur votre canal de guilde
    join - /join,/channel,/chan - Rejoint ou créé un canal.
    leave - /leave,/chatleave,/chatexit - Quitte le canal donné.
    moderator - /mod,/moderator - Attribue le privillege de modération a un utilisateur d'un canal personnalisé.
    mute - /mute,/squelch,/unvoice - Interdit à un utilisateur de parler (audio ou texte) sur un canal personnalisé.
    officer - /officer,/o,/osay - Envoie un message sur le canal des officiers de la guilde.
    owner - Affiche ou modifie le propriétaire d'un canal personnalisé.
    password - /password,/pass - Affecte ou enlève un mot de passe sur un canal personnalisé.
    party - /party,/p - Envoie un message aux membres de votre groupe.
    raid - /raid,/rsay - Envoie un message aux membres de votre raid.
    raidwarning - /raidwarning,/ar - Envoie un avertissement de raid
    reply - /r,/reply - Répond au dernier joueur vous ayant envoyé un message privé. (/w)
    resetchat - /resetchat - Réinitialise les paramtres du canal personnalisé par défaut.
    say - /say,/s - Envoie un message à tous les joueurs à proximité de votre personnage.
    unban - Annule le bannissement d'un joueur sur un canal.
    unmoderator - /unmod,/unmoderator - Enlève le privillege de modération du joueur ciblé
    unmute - /unmute,/unsquelch,/voice - Autorise le joueur à parler (audio ou texte) sur le canal personnalisé
    whisper - /whisper,/w,/tell,/t,/send - Envoie un message privé à un joueur via un chuchottement.
    yell - /yell,/y,/sh,/shout - Envoie un message à tous les joueurs présents dans une large zone autour de votre personnage.
Démoniste Elfe de sang niv. 85
0
Commandes de Personnage

Ces commandes affectent le statut de votre personnage, son onglet social et ses mouvements.

    dismount - Descendre votre personnage de sa monture
    equip - /equip, /eq - Equiper l'objet dans son emplacement par défaut.
    equipset - /equipset - Change l'ensemble d'equipement depuis le gestionnaire d'equipement.
    equipslot - Equipe un objet dans un emplacement spécifique.
    friend - /friend,/friends - Ajoute un joueur a votre liste de contacts.
    follow - /f,/follow,/fol - Force votre personnage à suivre le joueur ciblé.
    ignore - Ajoute un joueur à votre liste d'ignorés.
    inspect - /ins,/inspect - Ouvre l'interface d'inspection sur un personnage proche.
    leavevehicle - Permet à votre personnage de sortir d'un véhicule.
    removefriend - /removefriend,/remfriend - Enlève un contact depuis votre liste de contacts.
    settitle - Active l'un des titres disponible de votre personnage.
    trade - Ouvre l'interface d'echange avec un autre joueur.
    unignore - Enlève un jouuer de votre liste d'ignorer.
    usetalents - Change la spécialisation active de votre personnage



Commandes de combat

Ces fonctions sont utilisables pour les combats

    cancelaura - Annule une aura (buff) dont vous disposez.
    cancelform - Annule votre transformation actuelle.
    cast - /cast,/spell,/use - Utilise un objet ou lance un sort donné.
    castrandom - /castrandom,/userandom - Lance un sort aléatoire de la liste donnée
    castsequence - Lance les sorts dans la séquence donnée.
      Il est parfaitement possible de mettre plusieurs conditions, mais il faut les séparer par un slash "/" et non une virgule ( Exemple reset=10/combat ). A noter que les différentes conditions de réinitialisation de la séquence sont :

      • reset=x soit x le nombre de seconde d'inaction de la séquence à partir de laquelle elle est réinitialisée
      • reset=target pour reprendre du début lorsqu'on change de cible
      • reset=combat lorsqu'on passe hors combat et qu'on en engage un nouveau
      • reset=ctrl , alt ou shift lorsqu'on maintient une de ces touches en lançant la séquence

    changeactionbar - Change votre barre d'action courrante.
    duel - Défie un autre joueur en duel.
    forfeit - /forfeit,/yield,/concede - Déclare forfet lors d'un duel.
    pvp - Active votre marqueur JcJ.
    startattack - Active l'attaque automatique sur la cible.
    stopattack - Desactive l'attaque automatique sur la cible.
    stopcasting - Annule l'incantation ou la canalisation du sort actuel.
    swapactionbar - Echange entre 2 barres d'actions.


Commandes de guilde

    guilddemote - /gdemote,/guilddemote - Dégrade le membre.
    guilddisband - /gdisband,/guilddisband - Dissoud la guilde.
    guildinfo - /ginfo,/guildinfo - Affiche des informations à propos de votre guilde.
    guildinvite - /ginvite,/guildinvite - Invite un joueur a rejoindre votre guilde.
    guildleader - /gleader,/guildleader - Attribuer le grade de maitre de guilde à un autre joueur.
    guildquit - /gquit,/guildquit - Quitte votre guilde actuelle.
    guildmotd - /gmotd,/guildmotd - Affecte le message du jour.
    guildpromote - /gpromote,/guildpromote - Promouvoie un membre de la guilde.
    guildroster - /groster,/guildroster - Ouvre la fenêtre de guilde.
    guildremove - /guildremove,/gremove,/gkick - Renvoie un membre de la guilde.
Modifié par Néadhorá le 11/03/2011 09:43 CET
Démoniste Elfe de sang niv. 85
0

Commandes de groupe/raid

    clearmainassist - /clearmainassist,/clearma,/mainassistoff,/maoff - Retire le marqueur "Soutien principal".
    clearmaintank - /clearmaintank,/clearmt,/maintankoff,/mtoff - Retire le marqueur "tank primaire".
    invite - /i,/inv,/invite - Invite un joueur dans votre groupe ou raid.
    ffa - Définie la methode de butin en "free for all" (Accès libre)
    group - Définie la methode de butin en "Group Loot".
    master - Définie la methode de butin en "Master Loot" (maitre du butin).
    mainassist - /mainassist,/ma - Affecte un joueur en tant que soutien principal.
    maintank - /maintank,/mt - Affecte un joueur en tant que Tank primaire.
    needbeforegreed - Définie la methode de butin en "Need Before Greed" (besoin avant la cupidité).
    promote - /pr,/promote - Attribue le joueur ciblé comme chef de groupe ou de raid.
    raidinfo - Ouvre l'interface des ID de raids.
    readycheck - Lance un appel de raid.
    roundrobin - Définie la methode de butin en "Round Robin".
    threshold - Définie le pallier de rareté du butin pour appliquer les regles d'attribution du butin.
    uninvite - /uninvite,/u,/un,/kick,/votekick - Renvoie un joueur du groupe ou raid


Commandes de Familier

    petaggressive - Définie votre familier en mode agressif.
    petattack - Envoie votre familier attaquer la cible.
    petautocastoff - Désactive le lancement automatique d'une technique du familier.
    petautocaston - Active le lancement automatique d'une technique du familier.
    petautocasttoggle - Inverse le lancement automatique d'une technique du familier.
    petdefensive - Définie votre familier en mode défensif.
    petfollow - Ordonne à votre familier de vous suivre.
    petpassive - Définie votre familier en mode passif.
    petstay - Ordonne à votre familier de rester ici.

Commandes système

    console - Permet à l'utilisateur de voir et changer les options globales de son client ou d'utiliser certaines commandes système.
    click - Simule un click de souris
    disableaddons - Desactive tous les addons et relance l'UI.
    dump - Affiche la valeur d'une variable donnée.
    enableaddons - Active tous les addons et relance l'IU.
    eventtrace - /eventtrace,/etrace - Autorise l'utilisateur de tracer les declencheurs en jeu.
    framestack - /framestack,/fstack - Autorise l'utilisateur à voir tous les cadres d'interface sous son curseur.
    help - /h,/help,/? - affiche un message d'aide avec certaines commandes basiques.
    logout - /camp,/logout - Retourne a l'écran de sélection des personnages.
    macrohelp - Affiche un message d'aide basique avec l'utilisation et la création de macro
    played - Affiche les informations du temps passé en jeu avec votre personnage.
    quit - /quit,/exit - Quitte le jeu.
    random - /random,/rand,/rnd,/roll - Génère un nombre pseudo-aléatoire.
    reload - Relance l'interface utilisateur (UI)
    script - /script,/run - Exécute un bloc de code LUA.
    stopmacro - Arrête l'éxécution de la macro en cours.
    time - Affiche l'heure courrante.
    timetest - Utilisé pour le benchmarking, affiche egalement le nombre d'images par seconde.
    who - Affiche une liste de joueurs en fonction d'options

Démoniste Elfe de sang niv. 85
0
Fonctions de ciblage

    assist - /assist,/a - Sélectionne la cible de votre cible.
    clearfocus - Annule votre focalisation actuelle.
    cleartarget - Annule votre cible actuelle.
    focus - Affecte votre focalisation.
    target - /target,/tar - Cible une unité par son nom.
    targetenemy - Cible une unité hostile par son nom.
    targetenemyplayer - Cible un joueur hostile par son nom.
    targetexact - Cible l'unité par son nom exact.
    targetfriend - Cible une unité amicale par nom.
    targetfriendplayer - Cible un joueur allié par nom.
    targetlastenemy - Cible le dernier ennemi selectionné.
    targetlastfriend - Cible le dernier ami que vous avez selectionné.
    targetlasttarget - sélectionne votre cible précédente.
    targetparty - Cible le membre du groupe.
    targetraid - Cible le membre du raid.


Métacommandes


Les métacommandes échange des données vers le client de wow pour affecter son apparence dans les barres d'actions. Les Métacommandes sont précédées par le symbole "#". Les métacommandes inconnues sont ignorées.

    show - Affecte l'icone du bouton dans la barre d'action.
    showcooldown - Affecte le bouton d'actions, et son temps de recharge dans la barre d'action.
    showtooltip - tooltip[/b][/u] - Affecte le bouton d'actions, son temps de recharge et sa description dans la barre d'action


Démoniste Elfe de sang niv. 85
0
Liste des conditions utilisables

Toute condition peut être inversée en la préfixant par "no". Par exemple, "noexists" est vrai si la cible n'existe pas.

    actionbar:1/.../6 or bar:1/.../6 — Vrai si la bonne barre d'action est selectionnée
    bonusbar:5 — Vrai si une barre de controle est active (Vehicule ou un autre joueur)
    button:1/.../5/<virtual click> or btn:1/.../5/<virtual click> — La macro est activée en appuyant sur les boutons et clicks virtuels
    channeling:<spell name> — Vrai si le joueur est en train de canaliser le sort donné
    combat — Vrai lorsque l'on est en combat
    dead — Vrai si la cible est morte
    equipped:<item type> or worn:<item type> — Vrai si le type d'objet est equipé (L'objet peut etre un emplacement de l'inventaire, un type d'objet, ou un sous-type)
    exists — Vrai si la cible existe.
    flyable — Vrai s'il est possible de voler dans la zone actuelle (à noter que cela ne vérifie pas si vous disposez de la compétence vol par temps froid)
    flying — Vrai si vous êtes en monture volante ET dans les airs.
    group:party/raid — Vrai si vous etes en groupe ou en raid
    harm — Vrai si vous pouvez lancer des sorts nefastes sur la cible
    help — Vrai si vous pouvez lancer des sorts bénéfiques sur la cible
    indoors — Vrai si en intérieur.
    modifier:shift/ctrl/alt or mod:shift/ctrl/alt — Attend après la touche donnée
    mounted — Vrai si vous êtes sur une monture.
    outdoors — Vrai si en extérieur.
    party — Vrai si votre cible appartient à votre groupe.
    pet:<pet name or type> — Vrai si le nom ou le type correspond à votre familier actif.
    raid — Vrai si votre cible appartient à votre raid.
    spec:1/2 — Vrai si votre spécialisation active correspond à celle qui est donnée
    stance:0/1/2/.../n or form:0/.../n — Vrai si vous êtes dans la posture ou forme ciblée
    stealth — Vrai si vous êtes camouflé
    swimming — Vrai si vous nagez.
    unithasvehicleui — Vrai si votre cible est dans un véhicule
    vehicleui — Vrai si vous êtes dans un vehicule avec son interface


Compléments et exemple d'utilisation : http://www.wowwiki.com/HOWTO:_Make_a_Macro#Conditionals




Liste des cibles

Note : Il est important de noter que vous pouvez suffixer une unité par target. Par exemple focustarget correspond à la cible de votre focalisation. Il est nécéssaire de suffixer avec un tiret (-) si vous utilisez un nom spécifique d'un joueur pour le cibler.

Notez également que ceci est récursif (vous pouvez sauter de cible en cible, par exemple en faisant focustargettarget, qui correspond à la cible de la cible de votre focalisation). Notez cependant que ceci pourra altérer les performances.


    arenaN - L'un des membres de votre equipe d'arène d'index N (1,2,3,4, ou 5)
    arenaPetN - familier de l'équipier d'arène d'index N (1,2,3,4, ou 5)
    bossN - Les boss actifs de la rencontre en cours d'index N (1,2,3 or 4). (ajouté à la 3.3.0)
    focus - Votre focalisation courrante (ajouté à la 2.0.0).
    mouseover - La cible sur laquelle vous avez (ou avez passé récemment) votre curseur de souris
    none - Une instruction valide d'unité qui ne réfère à rien. Cela permet de forcer une macro de ne pas faire un autociblage malgré les paramètres d'interface.(/cast [target=none] Healing Wave).
    partyN - Le Nième membre du groupe (1,2,3 or 4).
    partypetN - Le familier du Nième membre du groupe (1,2,3, or 4) (Ajouté à la 1.5.0).
    pet- Le familier du joueur courrant.
    player - Le joueur courrant.
    raidN - Le membre du raid d'index N (1,2,3,...,40).
    raidpetN - Le familier du membre du raid d'index N (1,2,3,...,40) (ajouté à la 1.5.0)
    target - Votre cible courrante
    vehicle- Le véhicule dans lequel vous vouez trouvez
Modifié par Néadhorá le 05/01/2012 12:07 CET
Prêtresse Humaine niv. 90
0
Salut,

J'ai lu un peu en diagonale mais j'ai quelques remarques :

#showtooltip
/cast [mod,@focus,exists,help][nomod,@mouseover,exists,help][mod,@player][mod,@party1,exists][] Mot de pouvoir : bouclier

nomod : inutile
exists : inutile, car si tu testes la cible pour "help", c'est qu'elle existe forcément
D'autre part, je ne comprends pas pourquoi tu mets "mod" tout seul ; si on n'attribue pas de modificateur (alt, ctrl, shift), est-ce que ça fait quelque chose ?

#showtooltip
/dismount [mounted,noflying]
/cast [nomounted,flyable]MaMontureVolante
/cast [nomounted,noflyable]MaMontureTerrestre

Là encore, des conditions inutiles, on peut compacter la macro comme ceci :

#showtooltip
/dismount [mounted,noflying]
/cast [nomounted,flyable]MaMontureVolante;[nomounted]MaMontureTerrestre


Si tu mets "flyable" sur la première condition, il est inutile de mettre "noflyable" sur la seconde, car la seconde ne s'appliquera que si la première n'a pas pu s'appliquer.
D'autre part, avec l'arrivée du vol partout à Cata, je suis très sceptique vis à vis de l'utilité de cette macro.

#showtooltip
/dismount [mounted,noflying]
/castrandom [nomounted,flyable]MaMontureVolante1, MaMontureVolante2, MaMontureVolante3,... MaMontureVolanteX;
/castrandom [nomounted,noflyable]MaMontureTerrestre1, MaMontureTerrestre2, MaMontureTerrestre3,... MaMontureTerrestreX;

Même remarque ici, on pourrait rétrécir la macro comme ceci :

#showtooltip
/dismount [mounted,noflying]
/castrandom [nomounted,flyable]MaMontureVolante1,MaMontureVolante2,MaMontureVolante3,...MaMontureVolanteX;[nomounted]MaMontureTerrestre1,MaMontureTerrestre2,MaMontureTerrestre3,...MaMontureTerrestreX


Et pour économiser de la place, personnellement je ne mets pas de showtooltip (d'ailleurs pour les castrandom je ne suis pas certaine que ça marche ?), je choisis simplement une icône de monture. Parce que c'est vrai qu'en linkant les montures une à une, on a vite fait d'atteindre la limite !
Il me semble qu'il existe aussi une macro en /script pour les castrandom, qui elle, permet de compacter encore plus, en n'indiquant que des numéros.


Edit :
Pour les fonctions de ciblage, tu ne mentionnes pas "mouseover".
Modifié par Eirwen le 24/11/2010 14:31 CET
Démoniste Elfe de sang niv. 85
0
D'autre part, je ne comprends pas pourquoi tu mets "mod" tout seul ; si on n'attribue pas de modificateur (alt, ctrl, shift), est-ce que ça fait quelque chose ?


ça c'est un soucis lors du copier coller, ils y étaient :s

Je vais corriger :p


Là encore, des conditions inutiles, on peut compacter la macro comme ceci :

Si tu mets "flyable" sur la première condition, il est inutile de mettre "noflyable" sur la seconde, car la seconde ne s'appliquera que si la première n'a pas pu s'appliquer.

D'autre part, avec l'arrivée du vol partout à Cata, je suis très sceptique vis à vis de l'utilité de cette macro.



Tes remarques sont très pertinentes, et je les avais déjà adapté sur mes propres macro (a l'exception du exists "implicite" qui m'a déjà joué de mauvais tour, j'ai pris l'habitude de le mettre systématiquement lorsque la limite de caractère n'est pas un soucis).

Mais l'efficacité du code n'est ici pas un élément qui m'intéresse, mais davantage sa facilité de compréhension. En outre, séparer en deux étapes est plus simple à suivre qu'une seule.

Pour les fonctions de ciblage, tu ne mentionnes pas "mouseover".



Effectivement, il me manque le pavé relatif au ciblage. Je l'ajoute (en esperant avoir la place :s)
Démoniste Elfe de sang niv. 85
0
vala, correction effectuées, et l'explication sur le ciblage ajoutée a la fin.
Prêtresse Humaine niv. 90
0
Et %f le nom du focus.
Démoniste Elfe de sang niv. 85
0
Cela concerne davantage le système de messagerie que les macro à proprement parler...
Prêtresse Humaine niv. 90
0
C'est un code à incorporer dans des macros, pas un code que l'on écrit !
Par exemple, pour annoncer que l'on métamorphose telle cible (en même temps que l'on envoie le sort), afin d'éviter que nos camarades de jeu l'attaque.
Démoniste Elfe de sang niv. 85
0
Oui, mais ce que je veux dire, c'est que tu peux l'utiliser dans les fenetres de discussion, et qu'a la base, c'est sa fonctionnalité.

Ce n'est pas en soi quelque chose qui concerne les macro et leur apprentissage à proprement parler.
Chaman Nain niv. 85
9840
Actuellement j'ai un problème pour ma macro de métier depuis la màj 4.0.1. Je n'arrive plus à mettre un lien vers mon enchant dans une macro :/

Quelqu'un a réussi ?
Druide Tauren niv. 85
7010
Jayjay, fait une recherche, ça éviterais les redondances.
Pour mettre un lien de métier dans une macro, il faut d'abord faire le lien dans le chat (guilde, groupe, chuchoter, commerce ...)
Ensuite ouvre ta macro, clic la ou tu veux insérer ton métier et fait MAJ+clic gauche sur le lien de ton métier.
Ce sujet a atteint le nombre maximum de réponses possibles. Il est désormais impossible de publier un nouveau message à la suite.

Veuillez nous signaler toute violation de nos chartes, comme :

Menaces de violences. Nous les prenons très au sérieux et alerterons les autorités compétentes.

Les messages contenant des informations personnelles sur d’autres joueurs. Ceci inclut notamment les adresses postales et e-mail, les numéros de téléphone et les photos et vidéos inconvenantes.

Harcèlement et discriminations. Nous ne tolérons pas ces comportements.

Code de Conduite sur les forums

Signaler le message # écrit par

Raison
Explication (256 caractères max.)
Envoyer Annuler

Signalé !

[Fermer]