Les Enfants de la Forêt
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.

Les Enfants de la Forêt

Guilde du Conseil des Ombres
 
AccueilPortailRechercherDernières imagesS'enregistrerConnexion
-38%
Le deal à ne pas rater :
Ecran PC gaming 23,8″ – ACER KG241Y P3bip à 99,99€
99.99 € 159.99 €
Voir le deal

 

 [ HRP ] - Les macros

Aller en bas 
5 participants
AuteurMessage
Maël
Sylvain
Maël


Nombre de messages : 35
Localisation : Auberdine
Date d'inscription : 07/03/2006

[ HRP ] - Les macros Empty
MessageSujet: [ HRP ] - Les macros   [ HRP ] - Les macros EmptyDim 23 Avr - 18:58

Edit :
24/06/2006 : Ajout de macros pour guerrier.
24/06/2006 : Ajout des sources.


Sommaire

1 - Introduction
2 - Création et contraintes d'une macro
3 - Quelques commandes
4 - Les macros
5 - Les sources

1 - Introduction

Une macro est une suite d'actions scriptés, tout cela dans le but de vous simplifier la vie et le jeu.
La simplification à outrance n'est pas forcément une bonne chose, aussi la liste des macros présentées ici ne vous permettront pas d'être vainqueur à chaque combat, de tuer ragnaros en cliquant cinquante fois sur un bouton
ou encore de partir faire vos courses pendant que votre personnage pêche.
De toute façon certaines restrictions empêchent l'écriture de telle macros.

J'espère que cela vous aidera à être plus efficace, vous facilitera le jeu sans saccager le gameplay ou votre plaisir de jouer.

2 - Création et contraintes d'une macro

Pour créer une macro, taper dans la fenêtre de chat :
/macro
Une fenêtre va s'ouvrir. Cliquer sur nouvelle, donner lui un nom et choisissez un icone. Il ne vous reste plus qu'à écrire les commandes.

Ecrire une macro peut vous servir à lancer des sorts, afin d'éviter des heures de recherche sur le nom exact du sort que vous devez lancer, vous pouvez ouvrir votre livre de sorts en même temps que l'éditeur de macro
il vous reste à trouver le sort que vous désirez lancer et faire SHIFT+click dessus, la commande complète du lancement de ce sort s'écrira automatiquement

Les macros utilise un langage scriptural le LUA, la moitié n'a rien compris à cette phrase mais ce n'est pas grave. Cela signifie que vous pouvez conditionner certaines actions.
exemple :
SI ma cible s'appelle Merrick ALORS je lance soins rang 1

Il y a bien d'autre avantages qui vous seront expliqués au dernier chapitre avec la liste de toutes les macros.

Vu comme ça, vous pouvez avoir l'impression que vous pouvez tout faire avec une marco. Malheureusement certaines contraintes existent.
- Vous ne pouvez pas lancer plusieurs sorts à partir d'une même macro
- La taille d'une macro est limité à 256 caractères. Il est malgré tout possible de repousser cette limite à l'aide de 2 addons SuperMacro et MegaMacro
- Il est impossible de faire une pause dans une macro ( attendre 5 secondes par exemple )
- Il est impossible de déclencher le lancement d'un sort via un évènement tel que votre barre de vie passe sous les 50%. Vous devrez quoi qu'il arrive cliquer sur une macro.
- Il est impossible de fouiller un cadavre et de ramasser tous les objets avec une macro.
- Il n'existe aucune fonction permettant de faire bouger votre personnage
- Et pour finir, il n'est pas possible d'obtenir la distance d'une cible ( ce qui aurait été très pratique pour de nombreuses classes ).

Voilà qui réduit nos possibilités mais pas tant que ça.

3 - Quelques commandes
Voici une petite leçon qui vous permettra d'apréhender l'écriture d'une macro.
Je tiens à prévenir les personnes n'ayant aucune expérience d'écriture de scripts/programmes ou de développement, ce n'est pas forcément facile, mais ce n'est pas insurmontable.
Soyez patient !

Commençons par quelques commandes basiques :

* /lancer sort_Y- Lance un sort spécifique existant dans le livre de sort.

* /cast sort_Y- C'est la meme commande que /lancer mais ça prend moins de place ( permet de gagner de la place sur les grosses macros)

* CastSpellByName(X)- Encore pour lancer une sort, mais cette fois vous n'êtes pas obligé de spécifier le rang du sort. Le sort de rang le + haut sera utilisé
exemple : /script CastSpellByName("Eclair de givre")

* TargetLastEnemy();- Placer cette commande à la fin d'une macro vous permet de cibler votre dernière ennemi (très pratique lorsque vous vous faite un bandage par exemple ) Il est possible d'utiliser TargetNearestEnemy() àla place, pour sélectionner l'ennemi le plus prêt

* UseInventoryItem(X)- Utiliser un objet dont vous êtes équipé, tel un bijou, le X représente la position ( numéroté de 1 à 13 )

* UseContainerItem(#,X) --Item- Utiliser un objet qui se trouve dans un de vos sacs à un emplacement particulier

* /script DoThis();- Cela vous permet d'utiliser des focntions telles que SpellStopCastiong(); ou TargetNearestEenmy();
* /script i=7; -> La lettre i a pour valeur 7 (Dans plusieurs macros, des "variables" sont utilisées, celle-ci sont symbolisées par des lettres par soucis de gain de place.)
* /script for i=0,15,1 do ... end -> i = 0 toutes les commandes entre le "do" et le dernier "end" seront répétées jusqu'à ce que i soit égal à 15. A chaque boucle i est incrémenté de 1.
* /script if ((UnitMana("player"))<210) then ... end; -> Si mon personnage a plus de 210 de mana alors ...

4 -Les macros

Maintenant les choses sérieuses :

- Bandage (Auto application) :

/script TargetUnit("player");UseContainerItem(B,S);TargetLastEnemy();

Note : remplacer B et S par l'emplacement des bandages dans vos sas . Pour rappel les sacs sont numérotés de 0 à 4 chanque emplacement 0 de chaque sac se trouve en haut à gauche.
Exemple : vos bandages sont dans votre sac principale en haut à droite
UseContainerItem(0,4)

- Auto-buff : ( oui un bien vilain mot ) ou lancer un sort sur votre personnage

/script TargetUnit("player");
/lancer Détection de l'invisibilité supérieure
/script TargetLastEnemy();

Note : ici l'exemple est pris avec Détection de l'invisibilité, vous pouvez le remplacer au choix par un sort de soin, un bonus d'endurance ...

- Connaitre le nom d'un buff : cela peut servir pour écrire une macro, de plus ces noms sont en anglais.
/script local t; local q;for i=0,15,1 do t=GetPlayerBuffTexture(i);ChatFrame1:AddMessage("buff :"..t, 1.0, 1.0, 0.5); end;

Note : Cela provoque une erreur, mais au moins vous avez le nom de votre buff

- Scan livre de sort : Alors comme ( ici la malédicition amplifiée ) ça, l'intérêt de la macro n'est pas très évident. Récupérer l'id d'un sort dans votre livre se sorts va servir lorsque vous souhaiterez connaitre le cooldown de ce sort ... toujours pas clair ... allez voir les macros de démonistes.

- Dire une phrase choisie au hasard parmie une liste de 5 : (rien ne vous empêche de lancer un sort après ... ) :

/script strpal={"texte1","texte2","texte3","texte4","texte5"}; SendChatMessage(strpal[math.random(5)])

/script for id = 1, 180, 1 do local spellName, subSpellName = GetSpellName(id, SpellBookFrame.bookType);if spellName and string.find(spellName, "Malédiction amplifiée", 1, true) then ChatFrame1:AddMessage("ID is "..id, 1.0, 1.0, 0.5); end; end;

Les macros suivantes sont spécifiques à certaines classes. Le but est de vous donner une idée de ce qui est réalisable, à vous de piocher dedans et de tener votre chance.

Mage :

- Contresort :
Vous etes en train d'envoyer un éclair givre, vous voulez empecher le pretre en face de vous de se soigner. Il faut donc stopper la concentration de vorte sort éclair de givre

/script SpellStopCasting();
/script CastSpellByName("Contresort") ;

- Création d'eau :
Si vous avez + de 780 de mana, alors vous lancer invocation d'eau rang 7 sinon vous utiliser l'objet se trouvant dans votre 1er sac au 2e emplacement ( il vaut mieux y mettre votre eau ^^)

/stand
/script if (UnitMana("player")>780) then CastSpellByName("Invocation d'eau(Rang 7))") else UseContainerItem(0, 1); end;

- Brulure ou Missiles des arcanes si vous êtes en mode Présence spirituelle:
Un poil plus compliquée à comprendre, le but est de lancer brulure sauf si vous avez le bonus mana gratuite pour le prochain sort. Là vous lancer missile des arcanes

/script local q; local t;for i=0,15,1 do t=GetPlayerBuffTexture(i); if (t and string.find(t, "Manaburn")) then q=1; break; end; end; if(q ~= nil) then CastSpellByName("Missiles des arcanes (Rang 7)") else CastSpellByName("Brûlure(Rang 7)"); end;

- Eclair de givre :
Si vous avez moins de 210 en mana, vous lancez Nova rang 1 sinon vous lancez le rang maximum

/script if ((UnitMana("player"))<210) then CastSpellByName("Eclair de givre(Rang 1)");end
/script if ((UnitMana("player"))>=210) then CastSpellByName("Eclair de givre");end

- Bonus d'intelligence :
Si vous avez sélectionner un ami, le bonus est lancé sur lui, sinon, il est lancé sur vous
/script CastSpellByName("Intelligence des arcanes(Rang 5)");if((SpellIsTargeting())and(not UnitIsFriend("player","target")))then SpellTargetUnit("player");end;TargetLastEnemy();

Chasseur :

- Basculer de l'aspect de l'aigle à l'aspect du singe :

/script local q; local t;for i=0,15,1 do t=GetPlayerBuffTexture(i);if (t and string.find(t, "Mon")) then q=1; break; end; end; if(q ~= nil) then CastSpellByName("Aspect du faucon"); else CastSpellByName("Aspect du singe");end

- Tir de sniper, applicable aux elfes de la nuit :

/script if (not PlayerFrame.inCombat) then CastSpellByName("Shadowmeld(Racial)");CastSpellByName("Tir des arcanes");end

- Tir de pull ( très moche comme expression ... mais enfrançais ? ) :

/script CastSpellByName("Tir des arcanes"); SpellStopCasting();

Note: Très utile, pour attirer un ennemi. Vous lancer un tir des arcane et vous stoppez le tir ensuite, ainsi vous ne risquez pas de casser le piège posé auparavant

- Oeil de diablosaure-> Tir Rapide -> Visée :
Vous devez être équipé de l'oeil de diablosaure en position 13 ou 14
i est à remplacer par l'ir du tir de rapidité ( voir la macro de scan du livre de sort )

/script UseInventoryItem(X); if (GetActionCooldown(i)<300) then CastSpellByName("Tir rapide");end CastSpellByName("Visée");

- Assister avec votre animal :
/script if UnitExists("target") then if UnitIsFriend("player","target") then AssistUnit("target");PetAttack();else if UnitExists("pettarget") and UnitIsUnit("target", "pettarget") then PetFollow();else PetAttack();end;end;else PetFollow();end;

1. Utiliser la macro en ayant comme cible un ami -> Envoi votre compagnon l'assister
2. Utiliser la macro en ayant comme cible un ennemi -> Envoi votre compagnon l'attaquer
3. Utiliser la macro une seconde fois -> Rappelle votre compagnon.
4. Evidemment cela ne prend pas en compte l'agressivité de votre compagnon (passif / agressif / défensif )

Démoniste :

- Agonie amplifiée : si malédiciton amplifiée est disponible, vous lancez agonie amplifiée sinon vous lancez agonie ( ici, à la place de 34, ilfaut prendre l'id de votre malédiciton amplifiée ... rappelez vous le scna de votre livre de sorts plus haut ).

/script local e, f, g = GetSpellCooldown(34, SpellBookFrame.bookType); if (f <= 0) then CastSpellByName("Malédiction amplifiée"); SpellStopCasting();end; CastSpellByName("Malédiction d'agonie");

- Sacrifice et rappel d'un marcheur

/script --CastSpellByName("Domination corrompue");
/cast Sacrifice
/cast Domination corrompue
/script SpellStopCasting()
/cast Invocation d'un marcheur du Vide(Invocation)

- Agonie ou langage :

/script if ((UnitPowerType("target")==0) and (UnitMana("target")>0)) then CastSpellByName("Malédiction des langages") else CastSpellByName("Malédiction d'agonie") end;

- Débuff du chasseur corrompu (très pratisue en pvp) :

/script TargetUnit("player");
/lancer Festin magique(Rang 3)
/script TargetLastEnemy();

Guerrier

- Basculer d'une arme à 2 mains à une arme à une main et un bouclier :
Cette macro vérifie s'il y a une arme sur la seconde main. S'il y en a une, la macro ne fait rien.
Si il n'y a rien, l'ame placée à la 1ere place du 5e sac (4,1) sera équipée en arme principale (16), l'arme placée au second emplacement du même sac ( 4,2) sera placée en seconde main. Evidemment les emplacements de sac peuvent être modifiés

/script
oi=(GetInventoryItemLink("player",17));
if (not oi) then
PickupContainerItem(4,1);
PickupInventoryItem(16);
PickupContainerItem(4,2);
PickupInventoryItem(17);
end;

- Passer d'un équipement arme+bouclier à une arme à 2 mains :
La macro vérifie ce qui se trouve en 2e main, s'il n'y a rien, il ne se passe rien. S'il y a quelque chose, cet objet est placée dans le sac en postion 2 du 5e sac ( 4,2). L'arme se trouvant dans le 5e sac au 1er emplacement est ensuite mise en 1er main

/script
oi=(GetInventoryItemLink("player",17));
if (oi) then
PickupInventoryItem(17);
PickupContainerItem(4,2);
PickupContainerItem(4,1);
PickupInventoryItem(16);
end;

- Passer du couple arme/bouclier à une 2 mains avec un coup de bouclier en 1er :

/cast ShieldBash(Rank 2)
/script
oi=(GetInventoryItemLink("player",17));
if (oi) then
PickupInventoryItem(17);
PickupContainerItem(4,2);
PickupContainerItem(4,1);
PickupInventoryItem(16);
end;

5 - Les sources

Ecrire ce petit quelque chose n'aurait pas été possible sans le forum officiel us et les posts suivants (que j'ai honteusement et allègrement copiés ) :

Général :
http://forums.worldofwarcraft.com/thread.aspx?fn=wow-interface-customization&t=211489&p=1&tmp=1#post211489
http://forums.worldofwarcraft.com/thread.aspx?fn=wow-interface-customization&t=208350&p=1&tmp=1#post208350

Paladin :
http://forums.worldofwarcraft.com/thread.aspx?fn=wow-paladin&t=888726&p=1&tmp=1#post888726

Démoniste :
http://forums.worldofwarcraft.com/thread.aspx?fn=wow-warlock&t=905421&p=1&tmp=1#post905421

Mage :
http://forums.worldofwarcraft.com/thread.aspx?fn=wow-mage&t=829994&p=1&tmp=1#post829994

chasseur :
http://forums.worldofwarcraft.com/thread.aspx?fn=wow-hunter&t=754948&p=1&tmp=1#post754948

Druide :
http://forums.worldofwarcraft.com/thread.aspx?fn=wow-druid&t=75723&p=1&tmp=1#post75723


... voilà, je sais ce que vous allez dire : " elles sont où les autres classes" ... ben ... je n'avais pas vraiment de personnages disponibles pour tester.
Enfin bon, en espérant que cela vous donne des idées, je reste à votre disposition pour tout eclaircissements et demandes d'informations.

Maël


Dernière édition par le Lun 24 Avr - 11:54, édité 1 fois
Revenir en haut Aller en bas
Jaen
Guide
Guide
Jaen


Nombre de messages : 303
Localisation : Clichy
Date d'inscription : 18/11/2005

[ HRP ] - Les macros Empty
MessageSujet: Re: [ HRP ] - Les macros   [ HRP ] - Les macros EmptyDim 23 Avr - 20:22

Oulala ma tête...

Et pour guerrier tu en aurais Mael ? bounce
Revenir en haut Aller en bas
Sikrine
Protectrice
Protectrice
Sikrine


Nombre de messages : 404
Age : 47
Localisation : Paris
Loisirs : Photo
Date d'inscription : 16/11/2005

[ HRP ] - Les macros Empty
MessageSujet: Re: [ HRP ] - Les macros   [ HRP ] - Les macros EmptyDim 23 Avr - 21:05

je n'ai pas encore lu, mais deja merci pour l'effort, je sais qu'on n'entend pas assez les compliments ici, alors voila, c'est dit : Merci hihi Smile
Revenir en haut Aller en bas
https://enfantsdelaforet.forumgaming.fr
zélote
Sylvain



Nombre de messages : 6
Date d'inscription : 18/01/2006

[ HRP ] - Les macros Empty
MessageSujet: Re: [ HRP ] - Les macros   [ HRP ] - Les macros EmptyDim 23 Avr - 22:37

bravo et merci.
Au boulot maintenant.
Je savais bien que j'aurais du faire des études d'informatique
Revenir en haut Aller en bas
Maël
Sylvain
Maël


Nombre de messages : 35
Localisation : Auberdine
Date d'inscription : 07/03/2006

[ HRP ] - Les macros Empty
MessageSujet: Re: [ HRP ] - Les macros   [ HRP ] - Les macros EmptyLun 24 Avr - 12:04

et hop, le post est édité avec 3 petites macros guerriers pour Jaen ( et les autres ).
Il m'en reste encore sous le coude, je ne sais pas si cela peut vous servir.

Exemple :

Je vérifie si je suis en position d'attaque
si c'est le cas lancement exécution rang 4
sinon je passe en position d'attaque

evidemmment c'est déclinable pour plein de choses ... coup de bouclier ... charge ... overpower ( c'est quoi en français? ) ...

Si vous avez des besoins particuliers, ( toutes classes ) n'hésitez pas à demander ... et merci des encouragements, ça fait plaisir ^^

Maël
Revenir en haut Aller en bas
Delphinus
Tréant
Delphinus


Nombre de messages : 139
Age : 42
Localisation : Olympe (Mont)
Loisirs : Lecture, informatique, échecs, équitation
Date d'inscription : 11/12/2005

[ HRP ] - Les macros Empty
MessageSujet: Re: [ HRP ] - Les macros   [ HRP ] - Les macros EmptyLun 24 Avr - 12:20

Sympa! Ca me rappelle les programmes que je m'amusais à faire sur ma calculette graphique! lol! Bravo et Merci à toi, Mael!
Revenir en haut Aller en bas
Maël
Sylvain
Maël


Nombre de messages : 35
Localisation : Auberdine
Date d'inscription : 07/03/2006

[ HRP ] - Les macros Empty
MessageSujet: Re: [ HRP ] - Les macros   [ HRP ] - Les macros EmptyLun 24 Avr - 12:23

Moi ça me rappelle le boulot ^^
Revenir en haut Aller en bas
Jaen
Guide
Guide
Jaen


Nombre de messages : 303
Localisation : Clichy
Date d'inscription : 18/11/2005

[ HRP ] - Les macros Empty
MessageSujet: Re: [ HRP ] - Les macros   [ HRP ] - Les macros EmptyLun 24 Avr - 22:07

Moi ca me rappelle que je vais garder mes pauvres macros de type Parole+Action plus faciles :

/sh Sans armes, ta fin est proche !
/(shift+cliquer/glisser désarmer à partir de l'arbre de talents)

Quoique la macro armebouclier-2mains peut-etre utile a Alterac... et inversement...

Merci Mael en tous cas c'est très interressant. pig
Revenir en haut Aller en bas
Contenu sponsorisé





[ HRP ] - Les macros Empty
MessageSujet: Re: [ HRP ] - Les macros   [ HRP ] - Les macros Empty

Revenir en haut Aller en bas
 
[ HRP ] - Les macros
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Les Enfants de la Forêt :: D I S C U S S I O N :: La Taverne-
Sauter vers:  
Ne ratez plus aucun deal !
Abonnez-vous pour recevoir par notification une sélection des meilleurs deals chaque jour.
IgnorerAutoriser