Quest:Righteous Retribution special action bar not switching in nUI
I've just come across this on my hunter and it appears it switches out to an action bar that nUI hasn't managed to figure out the combination of paging conditionals to get it to appear without a reload of the UI.
For those that haven't got there yet its the alliance quest from Taelia in Vigil Hill around level 113. Has any of the action bar creators figured out which setup gets this to work? If I remember rightly I had a similar problem where back when with the Thanksgiving Chair Hopping Quest and could never resolve it so is probably the same bar switch mechanism if that helps. Thanks in advance for any help that can help me figure it out. |
This is what I used based on Blizzard's ActionBarController code (verified it still matches up in BfA):
Code:
[vehicleui] 12; [overridebar] 14; [possessbar] [@vehicle, exists] 12; [shapeshift] 13; [bar:2] 2; [bar:3] 3; [bar:4] 4; [bar:5] 5; [bar:6] 6; [bonusbar:1] 7; [bonusbar:2] 8; [bonusbar:3] 9; [bonusbar:4] 10; [bonusbar:5] 11; 1 |
Quote:
Looking at the code, it may be the [possessbar] [@vehicle, exists] 12; part as nUI has that down as [vehicleui][possessbar] GetVehicleBarIndex(). I guess there is a difference between [@vehicle, exists] and [vehicleUI] in regards to the posessbar. Thanks again. |
Quote:
Code:
-- If we have a skinned vehicle bar or skinned override bar, display the OverrideActionBar |
Thanks Vrul.
It still confuses me how that normal code segment turns into conditionals. But then it has been years since I last had a look at it and it probably made a bit more sense back then while I was playing with it. Anyway, thanks again and I'll give it a test run tomorrow when I have time to run through the whole quest which is in sections, in one go. |
Here is nUI's relevant section changed to follow Blizzard's logic:
Code:
if nUI_Options.boomkinBar then |
Yep, thats what I was going to do :)
Will test later on today when I'm in wow mode. |
Bummer, that didn't work.
I don't think its the bar thats the problem .. its the buttons not appearing until it is reloaded. So maybe something to do with when the buttons are created and applied to the bar .. more investigation I guess :) Ah, order matters doesn't it .. switched them round like you have and testing again. Nope, same problem. It must be how nUI builds the buttons and the bars. Oops, forgot the index change, nope that didn't work either .. However, I did notice that although the button didn't change the key for the button worked. So must be an assignment of the button to the bar problem with nUI. |
Still no clearer to the problem for this quest .. but ..
Looking back at nUI's updates I found that I had managed to fix the pilgrims bounty bar switching and before that Draktharon Keep. Just tested Draktharon Keep as we had since removed the separate vehicle bar code file sometime before 7.0 so I was worried it had broken my previous fixes, but nope, it still works .. so a different set up is required for this quest it seems. Looking at Bartender, SyncUI and lsUI it appears we may have to reinstate a separate vehicle bar as it seems that is the thing they all seem to have in common. Thanks again Vrul, |
Well I managed to get this working. Based on investigation the best way was to set up a bar just for vehicleui use as no amount of changing the code in nUI worked.
With this set up to display when having a vehicleui and the main action bar displayed otherwise seems to work. The quest shows an empty bar at first and then updates the buttons with the information party way through the flight. This picks up that change and lets the buttons know and sets the appropriate texture via Blizzards Frame template functionality. Now, in this scenario combat isn't an issue from what I can see, but what if it was, I guess I'll have to find a toon that needs to do the vashjir vision quest chain as I think that was a similar setup .. to 1. see if that now works and 2. whether the combat situation in that quest chain causes an issue... but, bowing to your superior knowledge of the secure section of addons Vrul, would any of this have an issue in combat ? If so, how the hell do actionbar addons deal with this apart from the one or two that gave up and just turned on the blizzard override bar rofl. Thanks in advance again :) Lua Code:
|
Can you put this into it's own temp addon and see if it works for that quest:
Code:
local addonName, addon = ... |
Quote:
|
Quote:
I can honestly say I've learnt more about what the secure stuff does trying to get these silly quest bars working than anything else rofl Edit: Nope, The overridebar comes up with the button fine but the new bar shows actionpage 1, switches to a new bar when jumping on the bird but doesn't add the button when it activates. So far that setattribute call to grab the GetActionInfo at the right time is the only way I've managed to get it work. Same as nUI's action bar .. a reload of the UI after the action bar has added the button will show the button and allows it to be used. Image: http://wow.swangen.co.uk/vehiclebarproblem/image.jpg One side note that I am not sure if it happens everytime but when I get on the bird, it in essence becomes a pet. I tried the [vehicleui][@pet,exists] test to see if that worked but no joy. Oh wait, its not a pet, just nUI's way of portraying a vehicle .. never mind rofl. I think what the problem is that once it sets the page on that first call from UPDATE_VEHICLE_ACTIONBAR event it doesn't need refreshing. Because it doesn't need refreshing it never gets to update the action info properly. before quest start .. UPDATE_VEHICLE_ACTIONBAR event amongst others Action Page = 1 (ok) Action Button 1 HasAction ? yes Are buttons displayed ? yes get on mount .. UPDATE_VEHICLE_ACTIONBAR event amongst others Action Page = 12 (ok) Action Button 1 HasAction ? no autofly to hit trigger point UPDATE_VEHICLE_ACTIONBAR event amongst others Action Page = 12 (not different so doesn't trigger) Action Button 1 HasAction ? yes Are buttons displayed ? no |
I'm pretty sure its because for the conditions:
Code:
[vehicleui] 12; [overridebar] 14 Code:
[possessbar] [@vehicle, exists] 12; [shapeshift] 13; [bar:2] 2; [bar:3] 3; [bar:4] 4; [bar:5] 5; [bar:6] 6; [bonusbar:1] 7; [bonusbar:2] 8; [bonusbar:3] 9; [bonusbar:4] 10; [bonusbar:5] 11; 1 After work I'll dig through Blizzard's code to see if there is work around to get one bar to handle both, otherwise I'll clean up your new vehicle bar code and make it work without the event part. |
Thanks.
The last time I looked at this type of bar change was back in cataclysm days with the visions of vashjr and I am hoping because it is a similar scenario it will get that working as well. Hmm. Just realised .. on my code the main action bar disappears as per its visibility conditional supposedly but if I also hide the override bar the main action bar never comes back until a reload. Not a biggie with nUI but annoying otherwise rofl. |
Give this a try:
Code:
local BUTTON_SIZE, BUTTON_SPACING = 50, 1 |
Thanks, giving it a go now ..
And yes if you can do that it will be great cos then I may have a better idea how to implement it into nUI. Edit: Did get a couple of errors to do with newstate being nil ( of course it would as its being set to nil ) so added the test to return if newstate is nil after setting the actionpage to newstate. With the override bar visible it worked apart from the keybinding. With the overridebar hidden the keybinding worked. So I would say a resounding success. Trying to see what you did different to me rofl. I tried the setting it to null if HasAction was false but it didn't work for me rofl Thanks a hell of a lot but yes if you can put it in a single bar, I'll test it again. And when I get my rogue up to the vashjr combat equivalent I'll be able to confirm that combat situation works with it too. |
This should let you just use one action bar for everything:
Code:
local BUTTON_SIZE, BUTTON_SPACING = 50, 1 |
Quote:
|
This is the quest. It's gained after you do a bunch of quests in Freehold.
The last part is obviously the one you are interested in .. thankfully you can redo just that part by exiting the vehicle before completing the task, or you have to drop and redo the whole quest steps rofl. https://www.wowhead.com/quest=49741/...us-retribution Oh and theres a similar quest further in the chain. https://www.wowhead.com/quest=50790/hot-pursuit Test results .. Action Bar switching works fine .. apart from the pet bar which didn't come back, but that could be resolved with the pet bar setup nUI has or the pet bar file ( if I was doing this as part of my own addon rofl ), or due to its connection to the main action bar which I hid on the second test along with the overridebar. Thanks again. Now to get this working with nUI rofl. Hopefully just that secure stuff will be needed to be added but will see. |
All times are GMT -6. The time now is 11:17 PM. |
vBulletin © 2024, Jelsoft Enterprises Ltd
© 2004 - 2022 MMOUI