Macro pour annoncer sa cible sur le canal Général (cf. utile sur les rares)

Ayant eu assez d’annoncer manuellement le pop d’un rare sur le canal général (via « %T up @ » + clic d’un module Titan Panel pour les coordonnées), j’en ai fait une macro que voici :

/stopmacro [@target,noharm]
/run uT = "TARGET";
/run uP = "PLAYER";
/run uGender = UnitSex(uT);
/run sGender = "";
/run if(uGender == 3) then sGender = "e" end;
/run iHPPerc = string.format("%.0f", UnitHealth(uT) / UnitHealthMax(uT) * 100);
/run sMapName = "";
/run sPosName = GetMinimapZoneText();
/run sWarMode = " — WarMode ";
/run sDeathLine = {" est mort".. sGender ..", R·I·P.", " a vu ses points de vie réduits à zéro.", " gît inanimé".. sGender .." au sol…", " n'est plus de ce monde…", " a rendu son dernier souffle."};
/run if UnitIsDead(uT) then sRT = "{rt8}" else sRT = "{rt".. math.random(1,7) .."}" end
/run sRTName = sRT .." ".. UnitName(uT) .." ".. sRT;
/run oMap = C_Map.GetBestMapForUnit(uP);
/run oPos = C_Map.GetPlayerMapPosition(oMap, uP);
/run if IsModifierKeyDown() then sMapName = C_Map.GetMapInfo(oMap).name .." : " end;
/run if C_PvP.IsWarModeActive(uP) then sWarMode = sWarMode .."ON" else sWarMode = sWarMode .."OFF" end;
/run if oPos == nil then else sPosX = string.format("%.1f", oPos.x * 100); sPosY = string.format("%.1f", oPos.y * 100); sPosName = sMapName .. sPosName .." ".. sPosX ..", ".. sPosY end;
/run C_Map.SetUserWaypoint(UiMapPoint.CreateFromCoordinates(oMap, oPos.x, oPos.y));
/run if IsModifierKeyDown() then if UnitIsDead(uT) then SendChatMessage(sRTName .. sDeathLine[random(#sDeathLine)], "GUILD") else SendChatMessage(sRTName .." up @ ".. sPosName .." — (HP : ".. iHPPerc .."%)".. sWarMode .." › ".. C_Map.GetUserWaypointHyperlink(), "GUILD") end else if UnitIsDead(uT) then SendChatMessage(sRTName .. sDeathLine[random(#sDeathLine)], "CHANNEL", nil, 1) else SendChatMessage(sRTName .." up @ ".. sPosName .." — (HP : ".. iHPPerc .."%)".. sWarMode .." › ".. C_Map.GetUserWaypointHyperlink(), "CHANNEL", nil, 1) end end;
/run C_Map.ClearUserWaypoint();

Si une touche de modificateur est utilisée lors du click (ALT, SHIFT ou CTRL), alors le message ira en canal GUILDE (avec en plus l’information de la zone), sinon sur le Général.
Avec la venue de Shadowlands, un marqueur de position WoW sera également intégré après le message.

:information_source: il faudra un addon pour étendre la limite des 255 caractères d’une macro, M6 ou similaire.

https://www.townlong-yak.com/addons/m6

PS : merci de ne pas faire de spam avec :wink:

edit : mise à jour pour la partie Warmode, où UnitIsWarModeActive() a été remplacée par C_PvP.IsWarModeActive() à la v9.0.1 et ajout du marqueur de position.
edit Mai 2022 : mise à jour pour n’utiliser l’icône de crâne que pour l’annonce de mort + textes random pour la mort.

5 mentions « J’aime »

Tien, quelqu’un qui préfixe ses variables par le type de la variable, toi je suis sur que tu développe dans le web :stuck_out_tongue:

En effet, un petit background de développeur :smile:

je trouve ce système vraiment génial, d’ailleurs je me souviens de t’avoir contacté ce jour là.
Mais malgré l’addon qui augmente la taille de la macro et la copie de A à Z de ce texte, cela ne fonctionne absolument pas.
Il doit y avoir quelque chose de mal fait de mon côté ou autre, un petit coup de main serait le bienvenu, merci beaucoup et bonne journée.

Petite mise à jour de la macro suite aux erreurs des fonctions LUA floor et round survenues depuis la v.33062, et sécurisation s’il n’y a pas de cible ou que la cible est amicale.

Salut,

Aujourd’hui tu as eu la gentillesse de me donner les coordonnées de ta macro et je t’en remercie.

par contre pour ce qui est de la partie ci-dessous, je raaame et j’ai beau chercher de partout je n’ai rien trouvé :

" il faudra un addon pour étendre la limite des 255 caractères d’une macro, M6 ou similaire.
» www.townlong-yak . com/addons/m6"

( bon je ne suis pas blonde mdr mais grise ceci explique cela en partie et une utilisatrice lamda)
par avance merci

Salut

(beau nécro post en passant)

la limite de caractères dans une macro doit être de 255, pour passer cette limite, il faut un addon de type M6

Voilà, l’op ne pouvant pas poster de lien, il a mis des espaces dans l’adresse :slight_smile:

1 mention « J’aime »

C’est moche Gobarb de profiter ainsi de son niveau sur le forum pour pouvoir poster les liens !! tsssss :stuck_out_tongue:

Et oui, post revenu de loin, mais vu que j’utilise la macro quotidiennement, j’ai souvent des whisps de personnes qui veulent savoir quel addon c’est qui annonce les rares :wink:

enfinnnn ça marcheeee youpi un GRAND merci

bon il faut dire que je comprend vite mais il faut m’expliquer longtemps :slight_smile:

et pourquoi faire simple quand on peut faire compliqué

ex :

pour rechercher l’addon « m6 » au lieu d’aller là ou télécharge mes addons je suis allée sur internet chercher … M6 bien sur

et pour installler la macro tu crois que j’ai pensé à aller sur un canal de discussion pour faire apparaître le dit addon et coller ta macro et mettre l’icone sur ma barre ? bah non trop facile

bon enfin c’est fait et ça marche. c’est top bon jeu

en plus quand même c’est pour rendre service à tous les joueurs si c’est pas une BA !

1 mention « J’aime »

ben comme le dit aprune ce poste revient de loin, mais on vient de me demander comment faire donc une demande de plus :slight_smile:

Je l’ai mise à jour récemment avec ces changements :

  • l’icône de :skull: ne sera utilisée que pour l’annonce quand la cible est morte
  • le texte pour annoncer la mort de la cible sera random parmi ces lignes :
    • « est mort, R·I·P. »
    • « a vu ses points de vie réduits à zéro. »
    • « gît inanimé au sol… »
    • « n’est plus de ce monde… »
    • « a rendu son dernier souffle. »

Si vous avez envie de changer ces textes, ça se passe au sein de la variable « sDeathLine ».