Thread Tools Display Modes
Prev Previous Post   Next Post Next
05-01-15, 03:10 AM   #1
Valixx
A Deviate Faerie Dragon
 
Valixx's Avatar
AddOn Author - Click to view addons
Join Date: Jun 2013
Posts: 12
LUA: Hide default frames OOC and show if target

Hello guys.

I need some help with the following. Here's what I need it ( the code ) to do:
  • Hide if out of combat ( this works so far )
  • show if I have a target ( this isn't )

Lua Code:
  1. local f = CreateFrame('frame', nil, nil, 'SecureHandlerStateTemplate')
  2. f:SetFrameRef('PlayerFrame', PlayerFrame)
  3. f:SetFrameRef('TargetFrame', TargetFrame)
  4. f:SetFrameRef('FocusFrame', FocusFrame)
  5. f:SetFrameRef('ComboFrame', ComboFrame)
  6. f:SetAttribute('_onstate-combat', [=[ -- Securely toggle visibility in combat
  7.     if newstate == 'show' then
  8.         self:GetFrameRef('PlayerFrame'):Show()
  9.         if UnitExists('target') then
  10.             self:GetFrameRef('TargetFrame'):Show()
  11.             self:GetFrameRef('PlayerFrame'):Show()
  12.         end
  13.         if UnitExists('focus') then
  14.             self:GetFrameRef('FocusFrame'):Show()
  15.         end
  16.     else
  17.         self:GetFrameRef('PlayerFrame'):Hide()
  18.         self:GetFrameRef('TargetFrame'):Hide()
  19.         self:GetFrameRef('FocusFrame'):Hide()
  20.         self:GetFrameRef('ComboFrame'):Hide()
  21.     end
  22. ]=])
  23. RegisterStateDriver(f, 'combat', '[combat] show; hide', '[target, exists] show')
  24.  
  25. local function HideFrame(self) -- Insecurely hide out of combat if shown
  26.     if not InCombatLockdown() or not UnitExists("target") then self:Hide() end
  27. end
  28. PlayerFrame:HookScript('OnShow', HideFrame)
  29. TargetFrame:HookScript('OnShow', HideFrame)
  30. FocusFrame:HookScript('OnShow', HideFrame)
  31. ComboFrame:HookScript('OnShow', HideFrame)
  32.  
  33. f:SetScript('OnEvent', function(self, event)
  34.     if GetComboPoints('player', 'target') > 0 then -- Show ComboFrame upon entering combat if we have points
  35.         ComboFrame:Show()
  36.     end
  37. end)
  38. f:RegisterEvent('PLAYER_REGEN_DISABLED')
__________________
I'm a Web-Designer with Love for WordPress, HTML5, CSS3, LESS and JavaScript.
You need anything? Message me!
  Reply With Quote
 

WoWInterface » AddOns, Compilations, Macros » AddOn Search/Requests » LUA: Hide default frames OOC and show if target


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off