WoWInterface

WoWInterface (http://www.wowinterface.com/forums/index.php)
-   MoP archived threads (http://www.wowinterface.com/forums/forumdisplay.php?f=162)
-   -   Does [vehicleui] not reflect all states where a Override bar skin is used? (http://www.wowinterface.com/forums/showthread.php?t=44097)

zork 09-01-12 10:54 AM

Does [vehicleui] not reflect all states where a Override bar skin is used?
 
I just had someone report a bug on rActionBarStyler telling that on the Nefarian HC encounter in Blackwing Descent there is a spell called Dominon. If you are affected by that spell you will get the override bar.

My problem is:
I'm having a state driver on the override bar to only show on [vehicleui] but I think that does not reflect this condition in the ActionButtonController:

Lua Code:
  1. -- If we have a skinned vehicle bar or skinned override bar, display the OverrideActionBar
  2. if ((HasVehicleActionBar() and UnitVehicleSkin("player") and UnitVehicleSkin("player") ~= "")
  3. or (HasOverrideActionBar() and GetOverrideBarSkin() and GetOverrideBarSkin() ~= "")) then
  4.     -- For now, a vehicle has precedence over override bars (hopefully designers make it so these never conflict)
  5.     if (HasVehicleActionBar()) then
  6.         OverrideActionBar_Setup(UnitVehicleSkin("player"), GetVehicleBarIndex());
  7.     else
  8.         OverrideActionBar_Setup(GetOverrideBarSkin(), GetOverrideBarIndex());
  9.     end
  10.     ...
  11. end


Actually I thought [vehicleui] would catch all of those events but since Dominon is just using an OverrideBarSkin and is no VehicleBar itself it seems not to get triggered.

Now I'm curious. What would be the macro condition to spawn the OverrideBar if you have just an OverrideBarSkin.

I know we have [possessbar] aswell. But I cannot show the overridebar everytime someone is possessed because that would be wrong aswell. Because normally the possessbuttons come up in the default actionbar not in the OverrideBar.

*EDIT*

Solution posted below.

zork 09-03-12 02:43 AM

Just to post a notice. It seems that the Darkmoon Faerie games are using the [overridebar] and will not be triggered by [vehicleui].

So that is a good place to test.

10leej 09-03-12 09:05 PM

Tried out your method for fixing this it seems that now none of my bars show unless I'm in a vehicle or using the override bar, lmao.

Everything seems to be right though even tried an essential copy paste of the code you have on your google code site for bar1 still can't get the damn thing to show up unless I use the vehicleui or override

zork 09-04-12 12:54 AM

Check the overridebar.lua. Btw...if you copycat make sure to leave a notice where the code is from.

10leej 09-04-12 01:19 AM

I will no worries, I've done it for everyone else so far.

10leej 09-07-12 02:29 AM

I still can't seem to get the override bar to show up, my other bars are hiding fine when i enter a vehicle but the vehicle bar still doesn't show up.

actionbars.lua

config.lua limited to the appropriate parts

edit: would make a github or google code link but can;t seem to get it to work so usin the good ole reliable pastebin

zork 02-13-13 06:50 AM

I just noticed that this thread does not have the correct solution posted yet.

The following encounters use a special form of possessbar:
  • Blackwing Descent, Nefarian encounter
  • Feast Fest
  • Heart of Fear, Un'Sok encounter

By default those spells for a possessed player will be displayed in the MainMenuActionBar.

But...sometimes Blizzard thinks it's funnier to plump you in a Vehicle without telling anyone. Not even the own API. Thus neither [overridebar] nor [vehicleui] wil fire. (Which is a bug imo).

The solution is to use a third condition checking for possessbar state while in a vehicle.

Lua Code:
  1. [possessbar,@vehicle,exists]

Implementation:
http://code.google.com/p/rothui/sour...ar.lua&old=945

Tuller 02-22-13 11:24 AM

It should probably be noted that we do have access to a few nifty functions in the secure environment to help us determine what actions to display:
Lua Code:
  1. local newPage = 0
  2.  
  3. if HasVehicleActionBar() then
  4.     newPage = GetVehicleBarIndex() or 0
  5. elseif HasOverrideActionBar() then
  6.     newPage = GetOverrideBarIndex() or 0
  7. elseif HasTempShapeshiftActionBar() then
  8.     newPage = GetTempShapeshiftBarIndex() or 0
  9. else
  10.     newPage = 0
  11. end
  12.  
  13. return newPage


All times are GMT -6. The time now is 07:08 AM.

vBulletin © 2014, Jelsoft Enterprises Ltd
©2012 ZAM Network LLC