|
Technical Support Ask for help or find solutions about ShestakUI. |
Advertising | |
|
Thread Tools |
![]() |
#1 | |||||
|
Покумекал со знакомым, который лучше меня разбирается в программировании.
oUF_Shestak - oUF_Main функция Code [Select]:
local PostUpdateHealth = function(self, event, unit, bar, min, max) if self:GetAttribute("unitsuffix") == "pet" then return end if(not UnitIsConnected(unit)) then bar:SetValue(0) bar.value:SetText("|cffD7BEA5"..L_UF_OFFLINE.."|r") elseif(UnitIsDead(unit)) then bar.value:SetText("") bar.value:SetText("|cffD7BEA5"..L_UF_DEAD.."|r") elseif(UnitIsGhost(unit)) then bar.value:SetText("") bar.value:SetText("|cffD7BEA5"..L_UF_GHOST.."|r") else Code [Select]:
if(min / max > 0.95) then self:SetAlpha(0.7) end Code [Select]:
if( (min / max > 0.95) and (self:GetParent():Getname():match"oUF_Raid" or self:GetParent():GetName(): match"oUF_Party") ) then self:SetAlpha(0.5) end Any advice? ![]() |
|||||
![]() |
#1.5 - Disable Ads |
|
![]() |
#2 |
|
код вставить после вот кода.
Но!!! Он конфликтует с модулем range в oUF'е. То есть, он как бы "ыть" и прозрачный, потом сразу обратно "ыть" и 100% альфа. Альфу "глушит" как раз модуль range. Если его отключить, то все работает идеально, как и задумывалось. Добавлено через 16 минут Вот такое решение нашел, не конфликтует с range модулем, и достигаем то, что и хотели: Code [Select]:
if(self:GetParent():GetName():match"oUF_Raid" or self:GetParent():GetName():match"oUF_Party" or self:GetParent():GetName():match"oUF_MainTank") then if(min / max > 0.95) then self.Health:SetAlpha(0.2) self.Power:SetAlpha(0.2) self.FrameBackdrop:SetAlpha(0.2) else self.Health:SetAlpha(1) self.Power:SetAlpha(1) self.FrameBackdrop:SetAlpha(1) end end Добавлено через 2 минуты Можно еще в принципе это загнать в условие: Code [Select]:
if (UnitIsConnected(unit)) and (not UnitIsDead(unit)) and (not UnitIsGhost(unit)) then ... end Выглядит так: ![]() ![]() у кого полное хп и далеко - 0.2 альфа у кого не полное хп и далеко - 0.5 альфа у кого полное хп и близко - 0.2 альфа у кого не полное хп и близко - 1 альфа upd: в атаче с закомментированым условием на счет живой не живой, в сети не в сети. |
![]() |
#3 |
|
Еще, буквально 2 изменения
![]() Конечно, сейчас попробую разобраться сам.. но. В общем. у кого полное хп и далеко - 0.2 альфа у кого не полное хп и далеко - 0.4 альфа у кого полное хп и близко - 0.7 альфа у кого не полное хп и близко - 1 альфа + У кого есть что отдиспелить и близко - 1 (т.е надо доп. фильтр написать, на "тех кто фул хп и близко, если у них есть то, что можно диспелить (я видел, там есть отдельный код который определяет твой класс и что ты можешь диспелить) то афльфа все равно 1 (а еще я где-то, кажется, видел список важных пве и пвп дебафов, которые отображаются иконкой в самом фрейме не зависимо от того, можно ли его диспелить или нет. блин... мне кажется что эже "сломать голову" можно ![]() ПС. Я попробую это изменить сам. Но, у меня вряд ли получится. Еще раз извиняюсь за лишний геморой. Все известные мне хил-фреймы изменяют альфу подобным образом, без этого очень тяжело ![]() Posted in 36 minute Чего-то я стал думать как свои слова в код обратить.. мозг встал раком. ![]() ![]() Posted in 38 minute Сдается мне проще даже будет написать проверку на загруженный аддон и в отдельном аддоне одной функцией все описать. |
![]() |
#4 | |
|
Quote:
За дебафы отвечает self.DebuffHighlight. Сама альфа проставляется в том блоке, что описал выше и почти в самом конце файла: self.inRangeAlpha = 1 self.outsideRangeAlpha = 0.5 Добавлено через 8 минут И чем больше таких "условий, теб дольше времени в бою будем соображать - блин, а чего я там наделал, когда "гореть-то"(альфа1) будет, ну когда же. А человек будет потихоньку умирать, в этот момент будешь судорожно искать этого человека, и если раньше это был только лос, то теперь(ой, а какие же там были условия), и в итоге пока додумаешь, пока допридумаешь, человек и скопытится. Я бы в рейд не пошел если честно с таким хилером ![]() Добавлено через 31 минуту Легче кстати отскинить хилбот(как я понял он юзается). Чем добавлять что-то в минималистичное, что в последствие от этого станет первым(хилботом). ЮФ уже приближается к 1 мегабайту(если использовать oUF_AuraWatch и oUF_HealComm4 плюс все те настройки(опции, не фичи) которые вводились для пользователей). Итого сборка почти без добавлений новых фич-возможностей потолстела ну если не в два раза, то около того. |
|
![]() |
#5 |
|
Чем больше условий обработается кодом,тем меньше условий необходимо обработать самому. И я, например, как хилер могу полностью понять, что происходит вокруг, глядя только на фреймы.
И суть как раз была в том, что если у тебя 25 человек не в лосе, то лучше, тех, что хилить не надо - затемнить альфой. Только сейчас получается, что люди "раненые" в лосе (далеко) более заметны, чем полные, но близко. С дебафами, это уже как раз "личное". Это простейший вопрос приорететов выбора фрема глазом - чем прозрачнее, тем менее значим. Повторюсь, по такому принципу работают все фремы для хилеров которые я видел. Не важно, я не хотел утяжелять сборку. Хотел сделать ее удобной для себя и, возможно, кого-то еще. А хилбот, как минимум, не подходит под сборку по дизайну, да и весит много сам по себе. Я буду очень признателен за подсказку, как реализовать у кого полное хп и далеко - 0.2 альфа у кого не полное хп и далеко - 0.4 альфа у кого полное хп и близко - 0.7 альфа у кого не полное хп и близко - 1 альфа Вот такой порядок. Если, конечно, будет время. Posted in 5 minute ПС. А заскинить хилбот, я все равно не смогу ![]() Posted in 31 minute Не знаю как ![]() ![]() ![]() ![]() ![]() |
![]() |
#6 | ||||
|
Quote:
Любые эдоны можно отскинить под любой внешний вид. Вот про это я и говорю, я не говори лично за этот пример, а за общый ввод опций-фич-под_каждого-для-каждого = почти всегда все "это" разрастается. Quote:
Quote:
Quote:
Попробую, но пока только три условия(имеется ввиду значение альфы), а не четыре: у кого полное хп и далеко - АЛЬФА_1 у кого не полное хп и далеко - АЛЬФА_2 у кого полное хп и близко - АЛЬФА_1 (тут должна быть АЛЬФА_4) у кого не полное хп и близко - АЛЬФА_3 Добавлено через 1 минуту Скинь сюда оуф(в аттач). Я сами условия понимаю, но как только обращаюсь к коду, у меня голова идет кругом от тех условий, что нужно сделать для корректного отображения. |
||||
![]() |
#7 |
|
Не, я в итоге сделал 3 (а точнее просто понял правильно те условия, что Вы написали и проставил значения что бы получилось 3 уровня альфы). 2 для "в радиусе" и все остальное.
Я предлагаю не устраивать словесных баталий. 3 уровня - это отлично не менее, чем 4. Пока правда не получается и дебафами, но я все равно добью это дело ![]() |
![]() |
#8 |
|
|
![]() |
#9 |
|
Основной мыслью было что бы по альфе фрейма можно было отличить кто рядом с тобой кто нет. И разделить тех кто рядом на 2 группы, кому нужен хил и кому нет. В итоге все сделано.
![]() Posted in 1 minute Да, напарник - это проблема ![]() ![]() Хм, спасибо,я пробовал другой оператор. Конечно - неправильный ![]() Пойду пробовать. Ок, на "ты" ![]() Спасибо еще раз. Не вините сильно за уйму отнятого времени, пожалуйста ![]() Posted in 7 minute self.DebuffHighlight:SetAlpha(ЗНАЧЕНИЕ) - не работает. self.DebuffHighlightAlpha = ЗНАЧЕНИЕ - уже присутсвует и стоит 1 - как я понял это альфа самого "подсвета". Не берите пока это в голову. Это намного менее важно, чем то, что уже сделано. Главное - теперь я могу удалить хилбот ![]() |
![]() |
#10 | |
|
Какие значения были установлены тут:
Code [Select]:
if(self:GetParent():GetName():match"oUF_Raid" or self:GetParent():GetName():match"oUF_Party" or self:GetParent():GetName():match"oUF_MainTank") then if(min / max > 0.95) then self.Health:SetAlpha(0.2) self.Power:SetAlpha(0.2) self.FrameBackdrop:SetAlpha(0.2) else self.Health:SetAlpha(1) self.Power:SetAlpha(1) self.FrameBackdrop:SetAlpha(1) end end Code [Select]:
if (not unit and not(self:GetAttribute("unitsuffix") == "target") or unit == "pet") then if(IsAddOnLoaded("oUF_SpellRange")) then self.Range = false self.SpellRange = true else self.Range = true self.SpellRange = false end self.inRangeAlpha = 1 self.outsideRangeAlpha = 0.5 end Quote:
Добавлено через 1 минуту Не берИ ![]() |
|
Tags |
ouf |
Thread Tools | |
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
Отключение встроенных фреймов | Vendikto | General Discussion | 3 | 17.07.2011 00:51 |
Идеи для фреймов группы второй раскладки | Shestak | General Discussion | 13 | 22.08.2010 22:33 |