Salut, désolé pour le retard.
1:
WoWPlayer _allié = new WoWLocalPlayer(0); // met le joueur allié dans cette variable
int count = 0;
foreach (var unit in ObjectManager.GetObjectWoWUnit())
{
if (unit.IsValid && unit.Target == _allié.Guid) // && unit.InCombat)
count++;
}
ou (version courte)
WoWPlayer _allié = new WoWLocalPlayer(0);
int count = ObjectManager.GetObjectWoWUnit().Count(unit => unit.IsValid && unit.Target == _allié.Guid);
(le nombre de PNJ qui cible l'allié est dans la variable "count")
2:
Tu est sur que tu n'a pas de buff associé au sort?, si tu est des buff utilise ca:
int count = ObjectManager.Me.BuffStack("Nom du buff en anglais");
sinon tu peux utiliser ce code lua ( http://wow.gamepedia.com/API_GetSpellCharges ):
int spellId = 123456; // Met l'id du sort ici
int count = Lua.LuaDoString<int>("local currentCharges, maxCharges, cooldownStart, cooldownDuration = GetSpellCharges(" + spellId + "); return currentCharges;");