Че мне тут пишут что нельзя в макросе проверить наличие бафа на себе, а как тогда это делают аддоны? И как тогда наличие петов проверяют, или возможность юза спела? Это всё можно... Кто знает отпишите как проверить?
Че мне тут пишут что нельзя в макросе проверить наличие бафа на себе, а как тогда это делают аддоны? И как тогда наличие петов проверяют, или возможность юза спела? Это всё можно... Кто знает отпишите как проверить?
UnitAura тебе поможет
Returns information about buffs/debuffs on a unit
See also Unit functions, Buff functions.
Signature:
name, rank, icon, count, dispelType, duration, expires, caster, isStealable, nameplateShowPersonal, spellID, canApplyAura, isBossDebuff, _, nameplateShowAll, timeMod, value1, value2, value3 = UnitAura("unit", index [, "filter"]) or UnitAura("unit", "name", "rank" [, "filter"])
Arguments:
unit - A unit to query (string, unitID)
index - Index of an aura to query (number)
name - Name of an aura to query (string)
rank - Secondary text of an aura to query (often a rank; e.g. "Rank 7") (string)
filter - A list of filters to use separated by the pipe '|' character; e.g. "RAID|PLAYER" will query group buffs cast by the player. Defaults to 'HELPFUL' (string)
CANCELABLE - Show auras that can be cancelled
HARMFUL - Show debuffs only
HELPFUL - Show buffs only (default)
NOT_CANCELABLE - Show auras that cannot be cancelled
PLAYER - Show auras the player has cast
RAID - When used with a HELPFUL filter it will show auras the player can cast on party/raid members (as opposed to self buffs). If used with a HARMFUL filter it will return debuffs the player can cure
Returns:
name - Name of the aura (string)
rank - Secondary text for the aura (often a rank; e.g. "Rank 7") (string)
icon - Path to an icon texture for the aura (string)
count - The number of times the aura has been applied (number)
dispelType - Type of aura (relevant for dispelling and certain other mechanics); nil if not one of the following values: (string)
*****
Disease
Magic
Poison
duration - Total duration of the aura (in seconds). Zero if the unit is phased or out of range. (number)
expires - Time at which the aura will expire; can be compared to GetTime() to determine time remaining. Zero if the unit is phased or out of range. (number)
caster - Unit which applied the aura. If the aura was applied by a unit that does not have a token but is controlled by one that does (e.g. a totem or another player's vehicle), returns the controlling unit. Returns nil if the casting unit (or its controller) has no unitID. (string, unitID)
isStealable - true if the aura can be transferred to a player using the Spellsteal spell (boolean)
nameplateShowPersonal - true if the aura should be visible above nameplates of affected targets, but only for the player that casted it (boolean)
spellID - spellID of the aura (number)
canApplyAura - true if the player can apply the aura (not necessarily if the player did apply the aura, just if the player can apply the aura). (boolean)
isBossDebuff - true if the aura was cast by a boss. (boolean)
_ - unknown parameter (boolean)
nameplateShowAll - true if the aura should be visible above nameplates of affected targets for all players (boolean)
timeMod - the real time remaining on the aura is (expirationTime - GetTime()) / timeMod, likely used e.g. on Chronomatic Anomaly (number)
value1 - Value of variable effect 1 of the aura. (HoTs, resource-capturing trinkets, etc.) (number)
value2 - Value of variable effect 2 of the aura. (HoTs, resource-capturing trinkets, etc.) (number)
value3 - Value of variable effect 3 of the aura. (HoTs, resource-capturing trinkets, etc.) (number)
Возможности макросов ограничены, а аддоны работают на программном уровне, который недоступен макросам. Макросам доступно очень ограниченное количество простеньких скриптов.
Да, макросом нельзя проверить наличие бафа не только на себе, но и на каком-либо другом объекте. Запомни раз и навсегда