← GeekServers.gg [DEBUG:1782456837]
⚠ Archive en lecture seule — Retour sur GeekServers.gg
Bonjour, je voudrais annoncer le groupe ciblé par mon buff intel, mais je ne trouve pas l'API correspondant au numero de groupe, je ne peut faire fonctionner que le nombre de personnes dans le groupe de raid avec ceci :

Code: Tout sélectionner
/script TY=(GetNumRaidMembers("player", "target")); if (UnitIsFriend("player", "target") ) then SendChatMessage("Je buff groupe "..TY,"SAY") end


il faudrait changer "GetNumRaidMembers" je pense.

quelqu'un pourrait-il m'éclairer svp ? :)
Yragael

<Reboot>


Hello,

Il n'existe pas, à ma connaissance, de fonction renvoyant le numéro de groupe du personnage ciblé. Mais on peut ruser !

L'idée est de passer en revu l'intégralité du raid, puis de relever l'ID du personnage ciblé. Il ne reste pas qu'à déterminer le numéro de groupe via la magie des mathématiques !

Code: Tout sélectionner
/script ----[[

j = 0;

for i = 1, 40 do
   if (UnitName("raid"..i) == UnitName("target")) then
      j = i;

      break;
   end
end

if (j > 0) then
   g = ceil(j / 5);

   SendChatMessage("Je buff le groupe "..g..".", "say");
end

----]]


Cependant, ce code ne fonctionne pas car WoW ne comprend la fonction ceil. C'est bien dommage car c'est la base de savoir interpréter des fonctions mathématiques simples. :(

Il va falloir encore ruser d'avantage.

++
Anshey

<Carpe Diem>


Je suis Charlie !
salut, merci pour l'info. Effectivement la macro ne fonctionne pas non plus :p
Yragael

<Reboot>


J'ai trouvé de la rustine :

Code: Tout sélectionner
g = ceil(j / 5);


équivaut à :

Code: Tout sélectionner
g = strsub(j / 5 + 1, 0, 1);


C'est moche vu que ça manipule un nombre comme une chaîne de caractères... mais bon c'est mieux que rien.

Ta macro finale :

Code: Tout sélectionner
/script j = 0; for i = 1, 40 do if (UnitName("raid"..i) == UnitName("target")) then j = i; break; end end if (j > 0) then g = ceil(j / 5); SendChatMessage("Je buff le groupe "..g..".", "say"); end
Anshey

<Carpe Diem>


Je suis Charlie !
Anshey a écrit:Cependant, ce code ne fonctionne pas car WoW ne comprend la fonction ceil. C'est bien dommage car c'est la base de savoir interpréter des fonctions mathématiques simples. :(


Au pire:
Code: Tout sélectionner
g = math.ceil(j / 5);


Lua reconnait parfaitement la syntaxe mathLib il faut juste écrire son code sans utiliser les abréviations made in Blibli.

Sinon ya beaucoup plus simple pour retourner le numéro de groupe d'une unité:
Code: Tout sélectionner
function UnitGroup(unit)
   local value;
   for i=1, GetNumRaidMembers() do
      if (UnitIsUnit("raid"..i, unit)) then
         _, _, value = GetRaidRosterInfo(i);
         break;
      end
   end
   return value;
end


Code: Tout sélectionner
SendChatMessage("Je buff le groupe "..UnitGroup("target")..".", "say");
Ovalia

<Genesis>


hoooo super ! merci ça marche nikel !
Yragael

<Reboot>


Cool :D

Ça va me faciliter la vie s'il prend en charge une bibliothèque mathématique !

PS : Garde le mien ! :)
Anshey

<Carpe Diem>


Je suis Charlie !



Conditions générales d'utilisation et mentions légales - Code de conduite des forums - Contact