1) Функция API UnitExists https://wowwiki.fandom.com/wiki/API_UnitExists
2) Не возвращает 1, если рядом находится босс ("bossN")
3) Должна возвращать 1.
4) 25.07.2019 логон х100.
5) Неизвестно как давно это не работает
6) 10/10 (не работают аддоны, использующие эту функцию при поиске босса, в частности, WhoPulled)
Код из аддона:
Скрытый текст
PHP код:
local i,boss;
i = 1;
while(UnitExists("boss"..i)) do
if(UnitName("boss"..i) == enemy[2]) then
if(not strfind(WhoPulled_Tanks,"[ ,.|]"..player.."[ ,.|]") and not WhoPulled_Ignore[enemy[2]]) then
if(UnitInRaid("player") and WhoPulled_Settings["rwonboss"] and (IsRaidOfficer() or IsRaidLeader())) then
WhoPulled_RaidWarning(enemy[2]);
else
WhoPulled_Yell(enemy[2]);
end
end
break;
end
i = i+1;
end
[свернуть]
7) Код который использовался при проверке:
PHP код:
for index = 1, 4 do
if (UnitExists ("boss"..index)) then
local name = UnitName("boss"..index)
local classification = UnitClassification("target");
print("boss"..index.." обнаружен! Его зовут ".. tostring(name)..". Он классифицируется как "..tostring(classification))
else
print("boss"..index.." не обрнаружен.")
end
end
if (UnitExists ("target")) then
local name = UnitName("target")
local classification = UnitClassification("target");
print("Имя моего таргета "..tostring(name)..". Он классифицируется как "..tostring(classification))
end
Результат:
Выскажу свои соображения по этому поводу:
Первое предположение: Если номер карты локации у нас +1 https://forum.wowcircle.com/showthread.php?t=897978 , то возможно и InstanceMapID также неверный (проверить не знаю как - GetInstanceInfo() на WotLK не возвращает instanceMapID)
Второе предположение: Для поиска босса функция UnitExists использует журнал DungeonEncounter, который для 3.3.5.12340 использует номера InstanceMapID ( "bossN" - The active bosses of the current encounter if available N (1,2,3 or 4) из https://wowwiki.fandom.com/wiki/UnitId)
Если первое и второе предположение верно, то и функция UnitExists босса обнаруживать не будет - номер карты не тот - босса нет.
Третье предположение: Возможно из-за этого также неправильно работают функции https://forum.wowcircle.com/showthread.php?t=897540 и https://forum.wowcircle.com/showthread.php?t=897544
Это все догадки, факт остается - UnitExists босса, находящегося рядом, не определяет.