1 Sujet de Tendar: 7 weeks ago - (16-11-2008 13:03:34)

Sujet: Macro montures [travail en cours]

Alors, depuis le patch 3.0.2 on peut collectionner autant de montures que l'on veut, ce qui pose un petit problème pour les invoquer simplement à l'aide d'un bouton.
Il y a bien le fameux :
/castrandom [flyable]MontureVolante1, MontureVolante2, MontureVolante3; MontureTerrestre1, MontureTerrestre2, MontureTerrestre3
et ainsi de suite...
Mais cela pose un problème lorsque l'on en a vraiment plein, puisque l'on est limité à 255 caractères par macro.

Heureusement Papa Tendar est là et a surfé pour vous, admirez la rune suivante :

/stopmacro [flying]
/run if IsMounted() then Dismount() return end local t if IsFlyableArea() then t={2,6} else t={1,3,4,5,7} end CallCompanion("MOUNT",t[random(#t)])

C'est pas beau tout ça ?

Expplicationnage :

La 1ère ligne : /stopmacro [flying]
Si vous êtes en train de voler, la macro ne fait rien. Comme ça, vous ne démontez pas subitement à 600 m d'altitude pour vous écraser comme un gnome.

La 2ème ligne :

/run :
On va lancer une commande

if IsMounted() then Dismount() return end :
Si vous êtes sur une monture, vous la quittez (à l'inverse de pas mal d'autres macros qui vous en font recaster une autre à la place, ce qui est pénible car on doit interrompre le cast en bougeant).

local t if IsFlyableArea() then t={2,6} else t={1,3,4,5,7} end  :
On définit une variable t avec une liste de valeurs possibles suivant que l'on soit dans une zone où l'on peut voler ou pas.
Les numéros correspondent aux emplacements de vos différentes montures dans l'onglet de la fenêtre de personnage où elles sont stockées. C'est ça la subtilité de la macro : même avec 50 montures, ça ne prend pas beaucoup de caractères pour les citer toutes...

CallCompanion("MOUNT",t[random(#t)]) :
Invocation proprement dite de la monture, au hasard parmi celles qui sont possibles.

http://sigs.guildlaunch.net/wsig.php/8530716ZClpa.png
http://sigs.guildlaunch.net/wsig.php/8530666Gcyue.png

2 Réponse de Tendar: 7 weeks ago - (16-11-2008 13:06:51)

Re: Macro montures [travail en cours]

Bug Connu :

En Norfendre, les zones sont "flyable", on peut y voler. Donc la macro va prendre pour t les valeurs de votre liste de montures volantes.
Mais, notre perso ne peut pas voler tant qu'il n'a pas le niveau 77 et qu'il n'a pas payé sa compétence.
Donc message d'erreur "l'objet est inutuilisable ici".
En attendant de tourver le test sur la capacité du perso et non de la zone à voler, je me suis personnellement contenté de mettre 2 fois la même liste de montures terrestres dans le choix des valeurs de t...

Prochainement :
Une macro analogue pour invoquer au hasard un minipet !
Je crois que ce sera du style CallCompanion("CRITTER",t[random(#t)]) , mais je fais des tests d'abord avant de vous la livrer...

http://sigs.guildlaunch.net/wsig.php/8530716ZClpa.png
http://sigs.guildlaunch.net/wsig.php/8530666Gcyue.png

3 Réponse de darnoc: 7 weeks ago - (17-11-2008 09:21:56)

Re: Macro montures [travail en cours]

Cool, exactement ce que je cherchais smile

4 Réponse de Tendar: 6 weeks ago - (19-11-2008 15:30:10)

Re: Macro montures [travail en cours]

Voici une petite modif qui intégrerait la particulairté de Dalaran, zone "flyable" où on ne peut pas voler^^
J'ai pas encore testé, mais ça devrait le faire...

/stopmacro [flying]
/run if IsMounted() then Dismount() return end local t if ((GetZoneText()=="Dalaran") and (GetSubZoneText() ~="Aire de Krasus")) then t={1,3,4,5,7} else if IsFlyableArea() then t={2,6} else t={1,3,4,5,7} end end CallCompanion("MOUNT",t[random(#t)])

http://sigs.guildlaunch.net/wsig.php/8530716ZClpa.png
http://sigs.guildlaunch.net/wsig.php/8530666Gcyue.png

5 Réponse de Tendar: 6 weeks ago - (22-11-2008 10:07:28)

Re: Macro montures [travail en cours]

Bon, alors la macro ci-dessus ne marche pas encore, il faut que je travaille sur l'imbrication de tests.
Sinon, pour invoquer au hasard un minipet, la macro est la suivante :

/run local t={1,3,4,5,7} CallCompanion("CRITTER",t[random(#t)])

1,3,4,5 ... correspondent aux numéros des minipets dans votre fenêtre d'interface parmi ceux que vous avez.

Edité par Tendar (6 weeks ago) - (22-11-2008 10:08:01)

http://sigs.guildlaunch.net/wsig.php/8530716ZClpa.png
http://sigs.guildlaunch.net/wsig.php/8530666Gcyue.png

6 Réponse de Tendar: 6 weeks ago - (22-11-2008 10:15:01)

Re: Macro montures [travail en cours]

Pour Dalaran, voici un 2eme essai :

/stopmacro [flying]
/script if ((GetZoneText()=="Dalaran") and (GetSubZoneText() ~="Aire de Krasus")) then CallCompanion("MOUNT", 10);end
/run if IsMounted() then Dismount() return end local t if IsFlyableArea() then t={2,6} else t={1,3,4,5,7} end CallCompanion("MOUNT",t[random(#t)])

Monture 10 : monture terrestre spéciale pr Dalaran (par exemple le nounours)
Montures 2,6 : montures volantes
Montures 1,3,4,5,7 : montures terrestres au hasard pour Azeroth où on ne peut pas voler

Numéros à adapter en fonction du contenu de vos écuries...

http://sigs.guildlaunch.net/wsig.php/8530716ZClpa.png
http://sigs.guildlaunch.net/wsig.php/8530666Gcyue.png