Not sure I'm following you. What keeps you from just making 2 different profiles (or more) for the different occasions and then choosing each as you see fit?
@elliottcable: The problem I see is how to get the remaining absorb from the API. Doing it "by hand" would require an insane amount of tinkering, but if there's a function or event that gives you this value, it will be possible, and not too hard.
@TWISTEDBULLET: Not sure how Blizzards UI orders the groups, but there are options available. The layouts for Grid are in GridLayoutLayouts.lua. Check out http://www.wowace.com/addons/gridcustomlayouts/ which you can either use or at least look at the options there, they can be used in the layouts file directly.
You should really spell out in detail what you mean by "won't work". There are literally thousands of ways of stuff failing, and unless the gods of grid come by themselves (which probably really will happen here ^^), you'd need to supply details for the rest of us to help you.
Hahah you've nailed it, phanx. Note to self: Always provide full code :) It was indeed the case that profileAddons was initialized on addon load, and the rest was done later. Thanks for clearing that up! Of course thanks to everybody else for helping.
Thanks for the explanation once more :) It all made sense to me... until I tried it.
First, the function is executed on PLAYER_ENTERING_WORLD and ingame by clicking a button, so I'd say it's not an issue of stuff being loaded. Both applications inhibit the same behavior when using this for-loop: Grid changes profile correctly, the other addons don't, there's no lua error.
Now here's what really puts me off. The following code _works_:
if IsAddOnLoaded("Grid") then
Grid.db:SetProfile(mode)
end
if IsAddOnLoaded("SimpleAuraFilter") then
SimpleAuraFilter.db:SetProfile(mode)
end
if IsAddOnLoaded("Skada") then
Skada.db:SetProfile(mode)
end
Why isn't that exactly the same as
local profileAddons = { ["Grid"]=Grid , ["SimpleAuraFilter"]=SimpleAuraFilter, ["Skada"]=Skada}
for folderName, addonObject in pairs(profileAddons) do
if IsAddOnLoaded(folderName) then
addonObject.db:SetProfile(mode)
end
end
This should be exactly the same, shouldn't it? If, say, SimpleAuraFilter evaluates to nil, it should do so for both, and consequently fail on both. The same goes for folder names and such, if there was an issue with capitalisation, it should fail on both, right?
Thanks everybody for the help, I thought I understood the problem.
But then again, the code farmbuyer posted doesn't work :( Makes sense to me, but still only Grid is treated. I put "print(foldername)" before the if statement, and the only foldername was "Grid". To be precise, I used:
local profileAddons = { ["Grid"]=Grid , ["SimpleAuraFilter"]=SimpleAuraFilter, ["Skada"]=Skada}
for folderName, addonObject in pairs(profileAddons) do
print(folderName)
if IsAddOnLoaded(folderName) then
print("Profile" .. mode)
addonObject.db:SetProfile(mode)
end
end
and the output consisted of the 2 lines "Grid" and "ProfileSanChicken" (the 2nd is the right profile name indeed). I really don't see why the for loop doesn't include the other 2 addons...
Oh yeah, Adirelle, thanks for the suggestion, but by saying "I don't have any lua errors" I kinda implied that I have checked that :)
Any more help would be very welcome! I can do this "by hand", but my curiosity is nagging.
Well, mode is given from outside. This is (part of) the body of a function Switch2Mode(mode), so the string mode is supplied (and hardcoding it defeats the purpose).
the Quote block dosn't do code very well.. but the [ code ] block does :)
Duhh, that was easy :)
as for the code itself, try adding in print() lines to find out what's going on.
Hmm yeah I did, the if clause is really only executed for Grid, although I'm sure the other addons are loaded. If I do stuff manually it works, like this:
if IsAddOnLoaded("Grid") then
Grid.db:SetProfile("SanHeal")
end
if IsAddOnLoaded("SimpleAuraFilter") then
SimpleAuraFilter.db:SetProfile("SanHeal")
end
So, this should be pretty easy, but I can't wrap my head around it. Here's the
code I want to execute:
local profileAddons = { Grid , SimpleAuraFilter, Skada}
for _, addon in pairs(profileAddons) do
if IsAddOnLoaded(tostring(addon)) then
addon.db:SetProfile(mode)
end
end
Here "mode" is a variable containing the profile name (yes, they're all the same). All of the addons are ace addons, of course.
Problem: This stops after Grid, i.d. Grid switches profile correctly, but the other addons aren't touched. I don't get any lua errors.
So yeah, thanks for any pointers, I have no idea what's going on here, but I sorta feel stupid for no knowing what's going on :)
(e) Sorry for the badly formatted code, I can't figure out how to do that properly (or at all...).
scubamonkey, those are easily fixe. Open GridIndicatorCornerText.lua and paste "inline = true," after line 30. I'm sure you can see the pattern and apply the same fix to the other plugin.
I do hope someone picks up those plugins, too, they're very usefull.
I have a (small) problem that probably isn't grid's fault, but I'm not sure of this and I have no idea where else to ask.
Sometimes some things stop to work midgame (a ui-reload fixes this). I'm led to believe that the event API stops working, but I have nothing to really check it. Grid would still show healthbars alright and GridStatusHots works normally, but most other things don't... in particular, RaidCooldowns and TankCooldowns aren't shown anymore, and the healing prediction doesn't work anymore, too (not working = not showing anything even though I'm sure there's something that should be shown). Also, any combat-log addon I use (skada + death note) stops recording, nothing shows up anymore.
The problem seems not to appear midfight, but just sometime inbetween and I'd of course notice in a fight, where it's quite annoying. Did anybody encounter this problem, or does anyone have an idea what could happen here? I use a variety of addons, and I can't really test out if one is doing this, because the error is so infrequent and non-reproducable. Thanks for any hint on this :)
0
0
Try "sortMethod=INDEX". Not sure how this is connected to the order of entering, but I guess that's what you mean.
0
@TWISTEDBULLET: Not sure how Blizzards UI orders the groups, but there are options available. The layouts for Grid are in GridLayoutLayouts.lua. Check out http://www.wowace.com/addons/gridcustomlayouts/ which you can either use or at least look at the options there, they can be used in the layouts file directly.
0
0
0
0
0
First, the function is executed on PLAYER_ENTERING_WORLD and ingame by clicking a button, so I'd say it's not an issue of stuff being loaded. Both applications inhibit the same behavior when using this for-loop: Grid changes profile correctly, the other addons don't, there's no lua error.
Now here's what really puts me off. The following code _works_:
Why isn't that exactly the same as
This should be exactly the same, shouldn't it? If, say, SimpleAuraFilter evaluates to nil, it should do so for both, and consequently fail on both. The same goes for folder names and such, if there was an issue with capitalisation, it should fail on both, right?
0
But then again, the code farmbuyer posted doesn't work :( Makes sense to me, but still only Grid is treated. I put "print(foldername)" before the if statement, and the only foldername was "Grid". To be precise, I used:
and the output consisted of the 2 lines "Grid" and "ProfileSanChicken" (the 2nd is the right profile name indeed). I really don't see why the for loop doesn't include the other 2 addons...
Oh yeah, Adirelle, thanks for the suggestion, but by saying "I don't have any lua errors" I kinda implied that I have checked that :)
Any more help would be very welcome! I can do this "by hand", but my curiosity is nagging.
0
0
Duhh, that was easy :)
Hmm yeah I did, the if clause is really only executed for Grid, although I'm sure the other addons are loaded. If I do stuff manually it works, like this:
SanHeal would be one of the profile names :)
0
code I want to execute:
Here "mode" is a variable containing the profile name (yes, they're all the same). All of the addons are ace addons, of course.
Problem: This stops after Grid, i.d. Grid switches profile correctly, but the other addons aren't touched. I don't get any lua errors.
So yeah, thanks for any pointers, I have no idea what's going on here, but I sorta feel stupid for no knowing what's going on :)
(e) Sorry for the badly formatted code, I can't figure out how to do that properly (or at all...).
0
I do hope someone picks up those plugins, too, they're very usefull.
0
0
Sometimes some things stop to work midgame (a ui-reload fixes this). I'm led to believe that the event API stops working, but I have nothing to really check it. Grid would still show healthbars alright and GridStatusHots works normally, but most other things don't... in particular, RaidCooldowns and TankCooldowns aren't shown anymore, and the healing prediction doesn't work anymore, too (not working = not showing anything even though I'm sure there's something that should be shown). Also, any combat-log addon I use (skada + death note) stops recording, nothing shows up anymore.
The problem seems not to appear midfight, but just sometime inbetween and I'd of course notice in a fight, where it's quite annoying. Did anybody encounter this problem, or does anyone have an idea what could happen here? I use a variety of addons, and I can't really test out if one is doing this, because the error is so infrequent and non-reproducable. Thanks for any hint on this :)