• Страница 1 из 1
  • 1
Форум » Обсуждение аддонов » Разработка аддонов WoW » Скрытие всплывающих подсказок (помошь с разработкой аддона)
Скрытие всплывающих подсказок
megs
Сержант
Как вы знаете тултипы постоянно всплывают при наведении курсора на все что не попадя. Для того что бы их скрыть полностью есть такая тема - через макрос или вручную прописать в чате
/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 отредактировано megs - Среда, 21.03.2012, 10:11
Nyll
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
megs
Сержант
Nyll, спасибо
хоть и нешарю в создании аддонов но попробую сообразить.
Сообщение # 3 написано 18.03.2012 в 23:14
Nyll
вот.
[download]Tooltip Show - 4.3[/download]
Маме беркута привет!
Сообщение # 4 отредактировано Nyll - Воскресенье, 18.03.2012, 23:28
megs
Сержант
сделал почти тоже самое только недописал в *.toc исполняющий файл "toltipshow.lua"
сижу думаю чеж он неработает.

поставил твой работает - но немного не по той схеме.
тоесть в данном случае тултипы отключаются сразу при вхоже в игру.
а по идее должны
1) отключаться при входе в режим боя.
2) включаться при выходе из режима боя
Сообщение # 5 отредактировано megs - Понедельник, 19.03.2012, 09:27
Nyll
megs, Замени эвент на бой и все.
Маме беркута привет!
Сообщение # 6 написано 19.03.2012 в 01:37
megs
Сержант
gt.origOnShow = gt:GetScript("OnShow")
gt:RegisterCombat("ADDON_LOADED") -- Делаем чтобы фрейма активировалась при загрузки игры.
gt:SetScript("OnShow", function(self) self:Hide() end) - заменил никакого эффекта, совсем неработает
а как это сделать:
1) toltips - отключается при входе в режим боя.
2) toltips - включается при выходе из режима боя
для меня загадка
Сообщение # 7 отредактировано megs - Понедельник, 19.03.2012, 11:26
Nyll
megs, нет. в фрейме эвент регистрируется так:
Code
gt:RegisterEvent("ЭВЕНТ")

На вов программинг глянь эвент начала боя и вставь туда.
Маме беркута привет!
Сообщение # 8 написано 19.03.2012 в 16:01
megs
Сержант
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)
нешарю в создании аддонов
- это не шутка
Сообщение # 9 отредактировано megs - Понедельник, 19.03.2012, 19:29
Kante
Born To be Free
Поставь эвент который реагирует на комбат в игре. И юзает макрос.

Добавлено (19.03.2012, 18:36)
---------------------------------------------
Вообщем wow wiki Юзай.

Сообщение # 10 отредактировано Kante - Понедельник, 19.03.2012, 18:35
megs
Сержант
Quote (Kante)
Поставь эвент который реагирует на комбат в игре. И юзает макрос.

немного нето. наверняка есть возможность сделать это без применения макросов так как вышеприведенный код уже делает это хотя и немного нетак
Сообщение # 11 написано 19.03.2012 в 18:40
Nyll
megs, я хз что те нид...
Маме беркута привет!
Сообщение # 12 написано 19.03.2012 в 20:02
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) - снова отображает тултипы.
Сообщение # 13 отредактировано megs - Понедельник, 19.03.2012, 20:16
Evgen_San
Скаут
Quote
gt:RegisterEvent("ADDON_LOADED") -- Делаем чтобы фрейма активировалась при загрузки игры.


Тут ADDON_LOADED это событие, его нужно заменить на PLAYER_ENTER_COMBAT соответственно, Вы вошли в бой, тултипы пропадут. Отключать через PLAYER_LEAVE_COMBAT.
Сообщение # 14 написано 03.04.2012 в 10:34
megs
Сержант
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) - снова отображает тултипы.
Сообщение # 15 отредактировано megs - Среда, 04.04.2012, 19:31
Форум » Обсуждение аддонов » Разработка аддонов WoW » Скрытие всплывающих подсказок (помошь с разработкой аддона)
  • Страница 1 из 1
  • 1
Поиск: