WoWInterface

WoWInterface (http://www.wowinterface.com/forums/index.php)
-   nUI: Bug Reports (http://www.wowinterface.com/forums/forumdisplay.php?f=90)
-   -   Pilgrims bounty broken (http://www.wowinterface.com/forums/showthread.php?t=45178)

Mechrior 11-17-12 07:34 PM

Pilgrims bounty broken
 
went to start pilgrims bounty on the current nui release and the action buttons are not appearing for the table quest so you can not eat food or throw it to anyone else.

No error text just not changing, the only one that changes its looks is button = that changes to the arrow graphically but still acts like a spell button its supposed to replace

...:::EDIT:::...
the pet/stance/shapeshift bar is coming up for a split second and then dissapearing when you enter a seat!
...:::EDIT:::...

Xrystal 11-17-12 09:10 PM

And you are using the latest nUI version ?

Can you post up a screen shot.

tawaraya 11-18-12 05:17 AM

none of buttons show with nui for pilgrim event. so was wondering if theres a fix to this problem? using latest version

Mechrior 11-18-12 05:49 AM

Quote:

Originally Posted by Xrystal (Post 269057)
And you are using the latest nUI version ?

Can you post up a screen shot.

uninstalled then reinstalled NUI before trying to use the chairs this morning, here is a screen of my UI as it stands, I have tried disabling all other addons before trying and have tried with them enabled, nothing changed.



just took a look by disabling NUI and nothing else and got this:

definatly looks like an NUI error, maybe they changed the frame that is used?
/fstack says the bar is the OverrideActionBar

using /click macro's you can FORCE the actions to work using:

/click OverrideActionBarButton1 - will throw the food for your chair
/click OverrideActionBarButton2 - will eat on of the other foods thrown to you depending on your chair
/click OverrideActionBarButton3 - will eat on of the other foods thrown to you depending on your chair
/click OverrideActionBarButton4 - will eat on of the other foods thrown to you depending on your chair
/click OverrideActionBarButton5 - will eat on of the other foods thrown to you depending on your chair
/click OverrideActionBarButton6 - will eat the food from your chair



using this macro will eat each of the foods you have and holding shift and using it will exit the chair.

/click OverrideActionBarButton1
/click OverrideActionBarButton2
/click OverrideActionBarButton3
/click OverrideActionBarButton4
/click OverrideActionBarButton5
/click OverrideActionBarButton6
/click [mod:shift] OverrideActionBarLeaveFrameLeaveButton

Xrystal 11-18-12 01:31 PM

hmm very strange. The override buttons work for the fair and the panda quests. will have to check it out and see whats happening there.

zork 11-19-12 08:43 AM

Maybe I can help. Afaik it is the macro condition that gets you in trouble.

Neither [vehicleui] or [overridebar] are firing. But still the OverrideActionBar shows up in the default UI.

Can be checked with this macro from Phanx:
Lua Code:
  1. /run local s=SecureCmdOptionParse print(s("[extrabar]extrabar"),s("[overridebar]overridebar"),s("[possessbar]possessbar"),s("[vehicleui]vehicleui"))

How come? It turns out that actually what fired is [possessbar].

Now, to fix the problem and not to destroy normal possessbar behaviour it is possible to create a new condition that checks for the vehicle unit. That is: [possessbar,@vehicle,exists]

Here is my DIFF on rABS:
http://code.google.com/p/rothui/sour...verridebar.lua
http://code.google.com/p/rothui/sour.../core/bar1.lua

Not sure nUI is actually using macro conditions. But that is what worked for me.

If you are not using macro conditions and are using function check instead you can use sth like this:
Lua Code:
  1. --function check
  2.         if ((HasVehicleActionBar() and UnitVehicleSkin("player") and UnitVehicleSkin("player") ~= "")
  3.         or (HasOverrideActionBar() and GetOverrideBarSkin() and GetOverrideBarSkin() ~= ""))
  4.         or UnitHasVehicleUI("player") then
  5.           --I am the OverrideActionBar
  6.         else
  7.           --No thank you
  8.         end

The default ActionBarController is using the same check.

Sandwich62 11-19-12 04:23 PM

having same problem
 
only change to action bar is "leave vehicle" button. If I disable nUI, everything works fine.

Xrystal 11-20-12 03:54 PM

Thanks zork, I'll have a look and see if that works but not sure how it will affect other instances.

Xrystal 11-20-12 05:20 PM

1 Attachment(s)
well zorks idea kinda works.

It flashes up very briefly with the buttons. So quickly I haven't been able to get a screenshot. Then the buttons disappear leaving the leave button there.

For your info nUI uses macro conditonals for visibility.


I changed nUI's line in the possesbar.lua file from:
RegisterStateDriver( frame, "visibility", "[bonusbar:5] show; hide" );
to
RegisterStateDriver(frame,"visibility","[possessbar][possessbar,@vehicle,exists] show; hide")

I then tried to change it to
RegisterStateDriver(frame,"visibility","[possessbar][overridebar,@vehicle,exists] show; hide")

But no visual difference but managed to take a screenshot before it disappeared.

Tried some changes but a line as simple as
RegisterStateDriver(frame,"visibility","[possessbar,@vehicle,exists] show; hide")

Did the exact same thing.

spiel2001 11-20-12 05:24 PM

The issue is that you're trying to show the bar with his rules, but the bar visibility driver is hiding it again. Add a bar state to the bar visibility rule (something like "nui_override" and then set the bar state to nui_override if/when that if condition is true.

Xrystal 11-20-12 05:46 PM

how do you do that ? I've only ever seen this stuff in nUI so don't know any other way of using it.

spiel2001 11-20-12 07:36 PM

I *think* it works this way...


Code:

if not InCombatLockdown()
and (test for the override bar special case)
then
  nUI_ActionBar:SetAttribute( page, "nui_override" );
end

and to set the action bar itself up to show the overlay bar when that happens...

Code:

        RegisterStateDriver(nUI_ActionBar, "page", "[vehicleui] 12; [nui_override] 14; [overridebar] 14; [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" );
I think that's right. If not, it should be close.

Note that you can't set attributes on secure frames while in combat, so that's why I added that test.

Xrystal 11-21-12 12:51 AM

gotcha. will try it out next test session.

Xrystal 11-21-12 07:25 PM

well, I don't know whether I have understood that rightly but it isn't erroring out which is a good sign. unfortunately it hasn't made a difference.

Still using the nUI_PossessBar.lus file as it is the possessbar that is being affected it seems.

at the top I have added the following:
RegisterStateDriver( frame, "page", "[nui_vehicle] 12; [nui_override] 14; [bonusbar:5] 11; 1" );

visibility is still the same:
RegisterStateDriver( frame, "visibility", "[bonusbar:5] show; hide" );

I then have the following OnEvent code - the blocks headed with my name or with my name alongside is what has been added:

Lua Code:
  1. anchor:SetScript( "OnEvent",
  2.  
  3.     function( who, event )
  4.  
  5. --      nUI_ProfileStart( ProfileCounter, "OnEvent", event );
  6.    
  7.         if event == "PLAYER_ENTERING_WORLD"
  8.         or event == "UPDATE_POSSESS_BAR"        -- xrystal
  9.         or event == "UPDATE_OVERRIDE_ACTIONBAR" -- xrystal
  10.         or event == "UPDATE_BONUS_ACTIONBAR"
  11.         then
  12.            
  13.             frame.applyScale();
  14.  
  15.             -- xrystal
  16.             if event == "UPDATE_POSSESS_BAR" or event == "UPDATE_OVERRIDE_ACTIONBAR" then
  17.                 print("Here - ",event)
  18.                 print("HasVehicleActionBar = ", HasVehicleActionBar())
  19.                 print("HasOverrideActionBar= ", HasOverrideActionBar())
  20.                 print("UnitHasVehicleUI=",UnitHasVehicleUI())
  21.  
  22.                 if not InCombatLockdown() then
  23.                     if ((HasVehicleActionBar() and UnitVehicleSkin("player") and UnitVehicleSkin("player") ~= "") or UnitHasVehicleUI()) then
  24.                         print("Here - vehicle")
  25.                         nUI_ActionBar:SetAttribute( "page", "nui_vehicle" );
  26.                     end
  27.                     if ((HasOverrideActionBar() and GetOverrideBarSkin() and GetOverrideBarSkin() ~= "") ) then
  28.                         print("Here - override")
  29.                         nUI_ActionBar:SetAttribute( "page", "nui_override" );
  30.                     end
  31.                 else
  32.                 end
  33.             end
  34.  
  35.         end
  36.        
  37.         -- update the bar
  38.        
  39.         for i=1, #frame.Buttons do
  40.             frame.updateState( i );            
  41.         end
  42.        
  43. --      nUI_ProfileStop();
  44.        
  45.     end
  46. );

and of course registered the extra events.

Now whether I have done this stuff wrong I have no idea what else to do at least at the moment.

zork 11-22-12 01:54 AM

This is how Elvui does actionbar page swapping. The Childupdate is pretty cool. It updates all children to the same state.

Lua Code:
  1. AB["barDefaults"] = {
  2.         ["bar1"] = {
  3.             ['visibility'] = "[petbattle] hide; show", --[petbattle][overridebar][vehicleui] hide; show
  4.             ['page'] = 1,
  5.             ['conditions'] = string.format("[vehicleui] %d; [possessbar] %d; [overridebar] %d; [bar:2] 2; [bar:3] 3; [bar:4] 4; [bar:5] 5; [bar:6] 6;", GetVehicleBarIndex(), GetVehicleBarIndex(), GetOverrideBarIndex()),
  6.         },
  7.     }
  8.  
  9.         --GetPage() just concatenates condition and default page
  10.         --basically returns this: [vehicleui] GetVehicleBarIndex(); [possessbar] GetVehicleBarIndex(); [overridebar] GetOverrideBarIndex(); [bar:2] 2; [bar:3] 3; [bar:4] 4; [bar:5] 5; [bar:6] 6; 1"    
  11.         RegisterStateDriver(bar, "page", self:GetPage(barName, self['barDefaults'][barName].page, self['barDefaults'][barName].conditions));
  12.         RegisterStateDriver(bar, "visibility", self['barDefaults'][barName].visibility)
  13.      
  14.         bar:SetAttribute("_onstate-page", [[
  15.             self:SetAttribute("state", newstate)
  16.             control:ChildUpdate("state", newstate)
  17.         ]])

Xrystal 11-22-12 12:28 PM

Thanks Zork,

I'll probably get another stab at this while I wait for my US buddies to log in after their thanksgiving get togethers.

Xrystal 11-23-12 01:46 AM

still a no go ..

Im off most of next week though so will have a bit more time to play about with it somewhat.

Xrystal 11-26-13 03:42 PM

1 Attachment(s)
Finally a year later ... I have it sussed ...

In the nUI_Bars.lua file around line 380 there is a block of code like the following:
Lua Code:
  1. if nUI_Options.boomkinBar then
  2.     RegisterStateDriver(
  3.       nUI_ActionBar, "page", string.format(
  4.         "[vehicleui][possessbar] %d; [vehicleui] %d; [overridebar] %d; [shapeshift] %d; [bar:2] 2;
  5.        [bar:3] 3; [bar:4] 4; [bar:5] 5; [bar:6] 6; [bonusbar:1] 7; [bonusbar:2] 8; [bonusbar:3] 9;  
  6.        [bonusbar:4] 10; [bonusbar:5] 11; 1",
  7.         GetVehicleBarIndex(), GetVehicleBarIndex(), GetOverrideBarIndex(), GetTempShapeshiftBarIndex()
  8.       )
  9.     );
  10.   else
  11.     RegisterStateDriver(
  12.       nUI_ActionBar, "page", string.format(
  13.         "[vehicleui][possessbar] %d; [vehicleui] %d; [overridebar] %d; [shapeshift] %d; [bar:2] 2;
  14.        [bar:3] 3; [bar:4] 4; [bar:5] 5; [bar:6] 6; [bonusbar:1] 7; [bonusbar:2] 8; [bonusbar:3] 9;
  15.        [bonusbar:4] 1; [bonusbar:5] 11; 1",
  16.         GetVehicleBarIndex(), GetVehicleBarIndex(), GetOverrideBarIndex(), GetTempShapeshiftBarIndex()
  17.       )
  18.     );
  19.   end

Notice the '[vehicleui][possessbar] %d;' section which relates to the first GetVehicleBarIndex() in the format list. This will allow the pilgrims table to function properly in nUI. Simply add those elements into the current latest version of nUI. It still doesn't resolve the vashjir quests as that was one of the elements I was trying to use to get them to work and it didn't work for that so something else is causing that to not work properly.

Coasty 11-26-13 07:10 PM

Quote:

Originally Posted by Xrystal (Post 287550)
Finally a year later ... I have it sussed ...

In the nUI_Bars.lua file around line 380 there is a block of code like the following:
Lua Code:
  1. if nUI_Options.boomkinBar then
  2.     RegisterStateDriver(
  3.       nUI_ActionBar, "page", string.format(
  4.         "[vehicleui][possessbar] %d; [vehicleui] %d; [overridebar] %d; [shapeshift] %d; [bar:2] 2;
  5.        [bar:3] 3; [bar:4] 4; [bar:5] 5; [bar:6] 6; [bonusbar:1] 7; [bonusbar:2] 8; [bonusbar:3] 9;  
  6.        [bonusbar:4] 10; [bonusbar:5] 11; 1",
  7.         GetVehicleBarIndex(), GetVehicleBarIndex(), GetOverrideBarIndex(), GetTempShapeshiftBarIndex()
  8.       )
  9.     );
  10.   else
  11.     RegisterStateDriver(
  12.       nUI_ActionBar, "page", string.format(
  13.         "[vehicleui][possessbar] %d; [vehicleui] %d; [overridebar] %d; [shapeshift] %d; [bar:2] 2;
  14.        [bar:3] 3; [bar:4] 4; [bar:5] 5; [bar:6] 6; [bonusbar:1] 7; [bonusbar:2] 8; [bonusbar:3] 9;
  15.        [bonusbar:4] 1; [bonusbar:5] 11; 1",
  16.         GetVehicleBarIndex(), GetVehicleBarIndex(), GetOverrideBarIndex(), GetTempShapeshiftBarIndex()
  17.       )
  18.     );
  19.   end

Notice the '[vehicleui][possessbar] %d;' section which relates to the first GetVehicleBarIndex() in the format list. This will allow the pilgrims table to function properly in nUI. Simply add those elements into the current latest version of nUI. It still doesn't resolve the vashjir quests as that was one of the elements I was trying to use to get them to work and it didn't work for that so something else is causing that to not work properly.

Ummm.... First off, I'd guess you mis-typed the name of that LUA file, as I can't find nUI_Bars.lua anywhere in the nUI Plus v5.07.40 archive. Did you mean nUI_BagBar.lua or nUI_ButtonBar.lua by chance?

Other than that, I don't really understand your instructions. Add those elements "where" into the current version of nUI? I'm also not sure of actually how much of the quoted LUA text should be copied.

Much as I hate to say it, for those of us with only minimal programming skills, a couple of ready-to-go downloadable replacement files would really be appreciated.

Xrystal 11-26-13 07:59 PM

1 Attachment(s)
Sorry its the ButtonBar.lua file.

I've attached the file with the change in.

But all I meant to explain was that just adding '"[vehicleui][possessbar] %d;' at the start of that block of text allowed it to work for me.


All times are GMT -6. The time now is 05:40 AM.

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