|
Форум Обсуждение аддонов Разработка аддонов WoW Скрытие всплывающих подсказок (помошь с разработкой аддона) |
Скрытие всплывающих подсказок |
Как вы знаете тултипы постоянно всплывают при наведении курсора на все что не попадя. Для того что бы их скрыть полностью есть такая тема - через макрос или вручную прописать в чате
/run local gt = GameTooltip; gt.origOnShow = gt:GetScript("OnShow"); gt:SetScript("OnShow", function(self) self:Hide() end) - полностью скрывает все тултипы /run local gt = GameTooltip; gt.origOnShow = gt:GetScript("OnShow"); gt:SetScript("OnShow", function(self) self:Show() end) - снова отображает тултипы суть вот в чем нельзя ли сделать все это через аддон, для автоматического отключения в режиме боя,чтоб непариться с макросами и т.д.? |
megs, Вот.
Code local gtoff = GameTooltip -- Создание фреймы для отключения local gt = GameTooltip; -- Создание фреймы для включения gt.origOnShow = gt:GetScript("OnShow") gt:RegisterEvent("ADDON_LOADED") -- Делаем чтобы фрейма активировалась при загрузки игры. gt:SetScript("OnShow", function(self) self:Hide() end) function frame_toltip_on_off(msg) if (msg == "on") then -- Включаем print("Tooltip Включен.") gt.origOnShow = gt:GetScript("OnShow") gt:SetScript("OnShow", function(self) self:Hide() end) elseif (msg == "off") then -- Выключаем print("Tooltip Выключен.") gtoff.origOnShow = gtoff:GetScript("OnShow") gtoff:SetScript("OnShow", function(self) self:Show() end) end end SlashCmdList["FRAME_TOLTIPS"] = frame_toltip_on_off SLASH_FRAME_TOLTIPS1 = "/toltip";
Маме беркута привет!
Сообщение # 2 написано 18.03.2012 в 23:09
|
вот.
[download]Tooltip Show - 4.3[/download]
Маме беркута привет!
|
сделал почти тоже самое только недописал в *.toc исполняющий файл "toltipshow.lua"
сижу думаю чеж он неработает. поставил твой работает - но немного не по той схеме. тоесть в данном случае тултипы отключаются сразу при вхоже в игру. а по идее должны 1) отключаться при входе в режим боя. 2) включаться при выходе из режима боя |
gt.origOnShow = gt:GetScript("OnShow")
gt:RegisterCombat("ADDON_LOADED") -- Делаем чтобы фрейма активировалась при загрузки игры. gt:SetScript("OnShow", function(self) self:Hide() end) - заменил никакого эффекта, совсем неработает а как это сделать: 1) toltips - отключается при входе в режим боя. 2) toltips - включается при выходе из режима боя для меня загадка |
Quote (Nyll) нет. в фрейме эвент регистрируется так: gt:RegisterEvent("ЭВЕНТ") Quote (Nyll) Замени эвент на бой и все. Реально еслиб я понимал о чем ты пишешь так бы и сделал. но в данном вопросе я не в зуб ногой. Добавлено (19.03.2012, 18:19) --------------------------------------------- Давай начнем сначала. Итак у нас есть: посредством макроса или записи в чат /run local gt = GameTooltip; gt.origOnShow = gt:GetScript("OnShow"); gt:SetScript("OnShow", function(self) self:Hide() end) - полностью скрывает все тултипы. /run local gt = GameTooltip; gt.origOnShow = gt:GetScript("OnShow"); gt:SetScript("OnShow", function(self) self:Show() end) - снова отображает тултипы. Надо - Автоматизировать это через аддон который будет делать: 1) toltips - Отключаются при входе в режим боя. 2) toltips - включается при выходе из режима боя Уже есть: скрывает тултипы при загрузке игры. Code local gtoff = GameTooltip -- Создание фреймы для отключения local gt = GameTooltip; -- Создание фреймы для включения gt.origOnShow = gt:GetScript("OnShow") gt:RegisterEvent("ADDON_LOADED") -- Делаем чтобы фрейма активировалась при загрузки игры. gt:SetScript("OnShow", function(self) self:Hide() end) function frame_toltip_on_off(msg) if (msg == "on") then -- Включаем print("Tooltip Включен.") gt.origOnShow = gt:GetScript("OnShow") gt:SetScript("OnShow", function(self) self:Hide() end) elseif (msg == "off") then -- Выключаем print("Tooltip Выключен.") gtoff.origOnShow = gtoff:GetScript("OnShow") gtoff:SetScript("OnShow", function(self) self:Show() end) end end SlashCmdList["FRAME_TOLTIPS"] = frame_toltip_on_off SLASH_FRAME_TOLTIPS1 = "/toltip"; Что именно надо изменить или добавить чтобы добиться желаемого результата? Quote (megs) нешарю в создании аддонов |
Quote (Nyll) megs, я хз что те нид... Все просто - аддон который делает следующее: 1) toltips - Отключаются при входе в режим боя. 2) toltips - Включается при выходе из режима боя команды уже есть просто я незнаю как их записать при помощи кода что бы они включатлись и выключались когда необходимо вот и все. (хотя реально это неглобально и даже можно бойтись без этого аддона, но думал что достаточно просто для того кто шарит в этом) /run local gt = GameTooltip; gt.origOnShow = gt:GetScript("OnShow"); gt:SetScript("OnShow", function(self) self:Hide() end) - полностью скрывает все тултипы. /run local gt = GameTooltip; gt.origOnShow = gt:GetScript("OnShow"); gt:SetScript("OnShow", function(self) self:Show() end) - снова отображает тултипы. |
Quote gt:RegisterEvent("ADDON_LOADED") -- Делаем чтобы фрейма активировалась при загрузки игры. Тут ADDON_LOADED это событие, его нужно заменить на PLAYER_ENTER_COMBAT соответственно, Вы вошли в бой, тултипы пропадут. Отключать через PLAYER_LEAVE_COMBAT.
Сообщение # 14 написано 03.04.2012 в 10:34
|
Evgen_San, заменил проверил неработает - в чем ошибка?
Code local gtoff = GameTooltip -- Создание фреймы для отключения local gt = GameTooltip; -- Создание фреймы для включения gt.origOnShow = gt:GetScript("OnShow") gt:RegisterEvent("PLAYER_ENTER_COMBAT") - Делаем чтобы фрейма активировалась при входе в режим боя. gt:SetScript("OnShow", function(self) self:Hide() end) gtoff.origOnShow = gtoff:GetScript("OnShow") gtoff:RegisterEvent("PLAYER_LEAVE_COMBAT") -- Делаем чтобы фрейма деактивировалась при выходе из режима боя. gtoff:SetScript("OnShow", function(self) self:Show() end) function frame_toltip_on_off(msg) if (msg == "on") then -- Включаем print("Tooltip Включен.") gt.origOnShow = gt:GetScript("OnShow") gt:SetScript("OnShow", function(self) self:Hide() end) elseif (msg == "off") then -- Выключаем print("Tooltip Выключен.") gtoff.origOnShow = gtoff:GetScript("OnShow") gtoff:SetScript("OnShow", function(self) self:Show() end) end end SlashCmdList["FRAME_TOLTIPS"] = frame_toltip_on_off SLASH_FRAME_TOLTIPS1 = "/toltip"; /run local gt = GameTooltip; gt.origOnShow = gt:GetScript("OnShow"); gt:SetScript("OnShow", function(self) self:Hide() end) - полностью скрывает все тултипы. /run local gt = GameTooltip; gt.origOnShow = gt:GetScript("OnShow"); gt:SetScript("OnShow", function(self) self:Show() end) - снова отображает тултипы. |
| |||
| |||