Action Bar Profiles (Saver)
Action Bar Profiles
Add-on that allows you to setup and quickly switch between different profiles of your action bars, talents, macros and key bindings.
Chat commands
/abp list - shows the list of available profiles
/abp use profile - activates profile
/abp save profile - saves current actions to profile
/abp del profile - deletes profile
Links
- The latest release is available on http://www.curse.com/addons/wow/action-bar-profiles
- The latest alpha build is available on http://www.wowace.com/addons/action-bar-profiles/files
- The source code is available on https://github.com/Silencer2K/wow-action-bar-profiles
- My other add-ons are available on http://www.curse.com/users/silencer2k/projects
Amazing addon mate!
As an altoholic I've been looking for something like this since ever!
I have a couple of suggestions / feature requests.
1. It would be wonderful to be able to exclude from a profile specific macros, action bars or buttons. I want my alts of the same class to share the combat abilities and macros but, for example, the racials will be different, or the professions (which I like to drag on an action bar), so those shouldn't be included in the profile.
2. Pvp talents should be included in the profiles, just as regular talents are.
3. It would be nice to not just apply a profile but to have an active profile, so that if you change anything the addon will know and ask you whether you want to apply, update (save) the current profile or save as a new one.
But in any case, amazing job man!
Thanks a bunch!
In reply to Forge_User_74646370:
I'm not a developer just adding my 2copper
I think this addon is just intended to be a quick dub of one characters setup to an alt. I've always treated it as such.
a good rule or workaround for your first suggestion is to just make a basic clean setup without the fluff no racials, profession, potions, or character specific macros and save it with all boxes checked. after the first apply edit and uncheck empty slots, macros, and keybinds the empty slots is priority put your fluff there and they wont be changed on reapply. this addons predecessor did have a /link command that allowed you to link racials like Shadowmeld and Taurens stomp ability. however some races have multiple non-passive traits take Vulpera for example there are at least 4.
for the third suggestion if developer considers active profiling I'd personally prefer it to be optional I couldn't imagine getting alerted every time I change a button and lag could stack up with yet another addon monitoring the current state of the game.
yeah yeah, who asked me
is there a way to make the addon see two spells as the same, for instance, I have a alliance Shaman and Horde Shaman. when sharing profiles, I end up loosing lust or hero. They are the same spell but flavored differently for each faction.
In reply to kingreboot:
just use a macro it will use whatever one you actually have
#showtooltip
/cast hordespell
/cast allyspell
In reply to kingreboot:
just use a macro it will use whatever one you actually have
#showtooltip
/cast hordespell
/cast allyspell
In reply to kingreboot:
just use a macro it will use whatever one you actually have
In reply to QW3RKS:
super late reply, but thanks for the info, this helps
I am using this to keep key binds between PvE and PvP. I use different Beast Mastery pets in both, and hence different special abilities. It doesn't want to remember the pet ability, even if the pet is up. For instance, put Spirit Shock on the bar, save it as a profile. Then without doing anything "use" that profile and it can't find "Spirit Shock". Pet is still up that has that ability.
Is there a way to address this? Its a deal breaker.
In reply to alagalahme:
I think this is a specific problem with the ability 'Spirit Shock'. I have this issue in normal Blizzard macros even.
EDIT: Found what cause this behavior: equipment set(some pieces are missing) from default blizzard ui placed on any action bar destroys addon for some reason.
After changing spec to SHADOW addon stopping working on ALL of my Priest characters.
I tested this with all addons DELETED excpt this one, Cache Deleted, WTF folder deleted.
On new lvl 1 created character addon works fine, on 120 lvl character in disc spec addon works fine, after changing to shadow addon not working on ALL priests in EVERY spec.
Error message I'm getting:
Message: Interface\AddOns\ActionBarProfiles\Restore.lua:404: attempt to call global 'GetEquipmentSetInfoByName' (a nil value)
Time: Fri Aug 16 20:01:32 2019
Count: 2
Stack: Interface\AddOns\ActionBarProfiles\Restore.lua:404: attempt to call global 'GetEquipmentSetInfoByName' (a nil value)
Interface\AddOns\ActionBarProfiles\Restore.lua:404: in function `RestoreActions'
Interface\AddOns\ActionBarProfiles\Restore.lua:62: in function `UseProfile'
Interface\AddOns\ActionBarProfiles\GUI.lua:179: in function `Update'
Interface\AddOns\ActionBarProfiles\GUI.lua:24: in function `OnShow'
[string "*:OnShow"]:1: in function <[string "*:OnShow"]:1>
[C]: in function `Show'
Interface\FrameXML\PaperDollFrame.lua:2788: in function `PaperDollFrame_SetSidebar'
[string "*:OnClick"]:1: in function <[string "*:OnClick"]:1>
Locals: self = <table> {
SetDefaultModuleLibraries = <function> defined @Interface\AddOns\ActionBarProfiles\libs\AceAddon-3.0\AceAddon-3.0.lua:367
SavePetJournalFilters = <function> defined @Interface\AddOns\ActionBarProfiles\ActionBarProfiles.lua:331
InjectPaperDollSidebarTab = <function> defined @Interface\AddOns\ActionBarProfiles\ActionBarProfiles.lua:369
DecodeLink = <function> defined @Interface\AddOns\ActionBarProfiles\ActionBarProfiles.lua:433
modules = <table> {
}
EncodeLink = <function> defined @Interface\AddOns\ActionBarProfiles\ActionBarProfiles.lua:427
IterateEmbeds = <function> defined @Interface\AddOns\ActionBarProfiles\libs\AceAddon-3.0\AceAddon-3.0.lua:442
OnChatCommand = <function> defined @Interface\AddOns\ActionBarProfiles\ActionBarProfiles.lua:162
prevSpec = 258
icon = <table> {
}
DeleteProfile = <function> defined @Interface\AddOns\ActionBarProfiles\Save.lua:103
UpdateTooltip = <function> defined @Interface\AddOns\ActionBarProfiles\ActionBarProfiles.lua:237
ParseArgs = <function> defined @Interface\AddOns\ActionBarProfiles\ActionBarProfiles.lua:150
OnSaveConfirm = <function> defined @Interface\AddOns\ActionBarProfiles\Dialogs.lua:108
ResetDefault = <function> defined @Interface\AddOns\ActionBarProfiles\Save.lua:324
SetDefaultModulePrototype = <function> defined @Interface\AddOns\ActionBarProfiles\libs\AceAddon-3.0\AceAddon-3.0.lua:409
prevSetLevel = <function> defined @Interface\FrameXML\PaperDollFrame.lua:420
RestoreMacros = <function> defined @Interface\AddOns\ActionBarProfiles\Restore.lua:83
ldb = <table> {
}
defaultModuleState = true
options = <table> {
}
IsEnabled = <function> defined @Interface\AddOns\ActionBarProfiles\libs\AceAddon-3.0\AceAddon-3.0.lua:451
PlaceContainerItem = <function> defined @Interface\AddOns\ActionBarProfiles\Restore.lua:985
ScheduleTimer = <function> defined @Interface\AddOns\ActionBarProfiles\libs\AceTimer-3.0\AceTimer-3.0.lua:94
DisableModule = <function> defined @Interface\AddOns\ActionBarProfiles\libs\AceAddon-3.0\AceAddon-3.0.lua:350
PreloadEquip = <function> defined @Interface\AddOns\ActionBarProfiles\Restore.lua:785
FindItemInCache = <function> defined @Interface\AddOns\ActionBarProfiles\Restore.lua:613
baseName = "ActionBarProfiles"
IsDefault = <function> defined @Interface\AddOns\ActionBarProfiles\Restore.lua:1044
RegisterMessage = <function> defined @Interface\AddOns\ActionBarProfiles\libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:90
UnregisterMessage = <function> defined @Interface\AddOns\ActionBarProfiles\libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:153
ClearSlot = <function> defined @Interface\AddOns\ActionBarProfiles\Restore.lua:866
PlacePetSpell = <function> defined @Interface\AddOns\ActionBarProfiles\Restore.lua:1037
PlaceEquipment = <function> defined @Interface\AddOns\ActionBarProfiles\Restore.lua:1030
PlaceMacro = <function> defined @Interface\AddOns\ActionBarProfiles\Restore.lua:1011
SaveBindings = <function> defined @Interface\AddOns\ActionBarProfiles\Save.lua:295
PlacePet = <function> defined @Interface\AddOns\ActionBarProfiles\Restore.lua:1004
db = <table> {
}
PlaceInventoryItem = <function> defined @Interfa
Message: Interface\AddOns\ActionBarProfiles\Restore.lua:404: attempt to call global 'GetEquipmentSetInfoByName' (a nil value)
Time: Fri Aug 16 20:01:51 2019
Count: 7
Stack: Interface\AddOns\ActionBarProfiles\Restore.lua:404: attempt to call global 'GetEquipmentSetInfoByName' (a nil value)
Interface\AddOns\ActionBarProfiles\Restore.lua:404: in function `RestoreActions'
Interface\AddOns\ActionBarProfiles\Restore.lua:62: in function `UseProfile'
Interface\AddOns\ActionBarProfiles\GUI.lua:179: in function `Update'
Interface\AddOns\ActionBarProfiles\GUI.lua:71: in function `OnProfileClick'
[string "*:OnClick"]:1: in function <[string "*:OnClick"]:1>
Locals: self = <table> {
SetDefaultModuleLibraries = <function> defined @Interface\AddOns\ActionBarProfiles\libs\AceAddon-3.0\AceAddon-3.0.lua:367
SavePetJournalFilters = <function> defined @Interface\AddOns\ActionBarProfiles\ActionBarProfiles.lua:331
InjectPaperDollSidebarTab = <function> defined @Interface\AddOns\ActionBarProfiles\ActionBarProfiles.lua:369
DecodeLink = <function> defined @Interface\AddOns\ActionBarProfiles\ActionBarProfiles.lua:433
modules = <table> {
}
EncodeLink = <function> defined @Interface\AddOns\ActionBarProfiles\ActionBarProfiles.lua:427
IterateEmbeds = <function> defined @Interface\AddOns\ActionBarProfiles\libs\AceAddon-3.0\AceAddon-3.0.lua:442
OnChatCommand = <function> defined @Interface\AddOns\ActionBarProfiles\ActionBarProfiles.lua:162
prevSpec = 258
icon = <table> {
}
DeleteProfile = <function> defined @Interface\AddOns\ActionBarProfiles\Save.lua:103
UpdateTooltip = <function> defined @Interface\AddOns\ActionBarProfiles\ActionBarProfiles.lua:237
ParseArgs = <function> defined @Interface\AddOns\ActionBarProfiles\ActionBarProfiles.lua:150
OnSaveConfirm = <function> defined @Interface\AddOns\ActionBarProfiles\Dialogs.lua:108
ResetDefault = <function> defined @Interface\AddOns\ActionBarProfiles\Save.lua:324
SetDefaultModulePrototype = <function> defined @Interface\AddOns\ActionBarProfiles\libs\AceAddon-3.0\AceAddon-3.0.lua:409
prevSetLevel = <function> defined @Interface\FrameXML\PaperDollFrame.lua:420
RestoreMacros = <function> defined @Interface\AddOns\ActionBarProfiles\Restore.lua:83
ldb = <table> {
}
defaultModuleState = true
options = <table> {
}
IsEnabled = <function> defined @Interface\AddOns\ActionBarProfiles\libs\AceAddon-3.0\AceAddon-3.0.lua:451
PlaceContainerItem = <function> defined @Interface\AddOns\ActionBarProfiles\Restore.lua:985
ScheduleTimer = <function> defined @Interface\AddOns\ActionBarProfiles\libs\AceTimer-3.0\AceTimer-3.0.lua:94
DisableModule = <function> defined @Interface\AddOns\ActionBarProfiles\libs\AceAddon-3.0\AceAddon-3.0.lua:350
PreloadEquip = <function> defined @Interface\AddOns\ActionBarProfiles\Restore.lua:785
FindItemInCache = <function> defined @Interface\AddOns\ActionBarProfiles\Restore.lua:613
baseName = "ActionBarProfiles"
IsDefault = <function> defined @Interface\AddOns\ActionBarProfiles\Restore.lua:1044
RegisterMessage = <function> defined @Interface\AddOns\ActionBarProfiles\libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:90
UnregisterMessage = <function> defined @Interface\AddOns\ActionBarProfiles\libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:153
ClearSlot = <function> defined @Interface\AddOns\ActionBarProfiles\Restore.lua:866
PlacePetSpell = <function> defined @Interface\AddOns\ActionBarProfiles\Restore.lua:1037
PlaceEquipment = <function> defined @Interface\AddOns\ActionBarProfiles\Restore.lua:1030
PlaceMacro = <function> defined @Interface\AddOns\ActionBarProfiles\Restore.lua:1011
SaveBindings = <function> defined @Interface\AddOns\ActionBarProfiles\Save.lua:295
PlacePet = <function> defined @Interface\AddOns\ActionBarProfiles\Restore.lua:1004
db = <table> {
}
PlaceInventoryItem = <function> defined @Interface\AddOns\ActionBarProfiles\Restore.lua:966
FindSpellInCache = <function> defined @Interface\AddOns\ActionBarProfiles\Restore.lua:581
CancelTimer = <function
In reply to I_hate_you_:
i have the same error, but a solution would be nice
I don't know what I would do without this addon <3
BIG thanks to the author.
Any chance the macro part can be split in 2 like one part for global macros and another for locar char macros?
In its current state it is replicating some global macros.
Would it be possible to make a global profile ?
Like, Every character on my account has a bar template (the bar 5 has the 3 heartstones on the end followed by my favorite mount ability then the Yack then the whistle)
I have several ability and items on all my character that are the same and i would like to setup everything the same without using screenshots
But using a global profile, i say what to save and what not, save the profile, log on another char, then load and everything saved on the profile is loaded and overwrite what is already there, because i have to do this on 36 specs and it is tiresome
Thanks
In reply to Gaminghadou:
The addon support profiles.
Open Interface /Addons, under ActionBarProfiles there is a Profiles category.
In reply to Gaminghadou:
The way I accomplish a global profile is that I have the following profiles:
Global
Alliance or Horde
Human or NightElf or etc.
Hunter-BM etc.
The Global profile is set to include empty buttons, the other profiles do not. The Global profile replaces everything with empty buttons except for the global stuff.
I load the profiles in the order above.
I have profiles for each of the races and class-specs that I play.
I have written an addon that actually applies the profiles when I change one of them. The addon is not generic enough that others can use, but you can simply macro the profiles.
Any way to make this compatible with dominos action bars? It can remove a keybind from a dominos button, but it doesn't want to apply it back.
******************************************First Error
11x Ace3\AceEvent-3.0\AceEvent-3.0-4.lua:33: Attempt to register unknown event "UPDATE_WORLD_STATES"
[C]:: in function 'RegisterEvent'
Ace3\AceEvent-3.0\AceEvent-3.0-4.lua:33: in function 'OnUsed'
...Ons\Ace3\CallbackHandler-1.0\CallbackHandler-1.0-7.lua:168: in function 'RegisterEvent'
SmartTabTarget\SmartTabTarget-v2.2.3-60200.lua:239: in function <SmartTabTarget\SmartTabTarget.lua:235>
(tail call): ?
[C]:: ?
[string "safecall Dispatcher[1]"]:9: in function <[string "safecall Dispatcher[1]"]:5>
(tail call): ?
Ace3\AceAddon-3.0\AceAddon-3.0-12.lua:558: in function 'EnableAddon'
Ace3\AceAddon-3.0\AceAddon-3.0-12.lua:651: in function <Ace3\AceAddon-3.0\AceAddon-3.0.lua:636>
[C]:: in function 'LoadAddOn'
FrameXML\UIParent.lua:446: in function 'UIParentLoadAddOn'
...
(tail call): ?
[C]:: ?
[string "safecall Dispatcher[1]"]:9: in function <[string "safecall Dispatcher[1]"]:5>
(tail call): ?
Ace3\AceAddon-3.0\AceAddon-3.0-12.lua:558: in function 'EnableAddon'
Ace3\AceAddon-3.0\AceAddon-3.0-12.lua:651: in function <Ace3\AceAddon-3.0\AceAddon-3.0.lua:636>
[C]:: in function 'LoadAddOn'
FrameXML\UIParent.lua:446: in function 'UIParentLoadAddOn'
FrameXML\UIParent.lua:565: in function 'TimeManager_LoadUI'
FrameXML\UIParent.lua:1192: in function <FrameXML\UIParent.lua:1090>
****************************************************second error
38x ActionBarProfiles\Restore.lua:404: attempt to call global 'GetEquipmentSetInfoByName' (a nil value)
ActionBarProfiles\Restore.lua:404: in function 'RestoreActions'
ActionBarProfiles\Restore.lua:62: in function 'UseProfile'
ActionBarProfiles\GUI.lua:179: in function 'Update'
...rface\ActionBarProfiles\ActionBarProfiles-8.0.1.lua:316: in function 'func'
Ace3\AceTimer-3.0\AceTimer-3.0-17.lua:57: in function <Ace3\AceTimer-3.0\AceTimer-3.0.lua:50>
ADDON no longer working :(
I will post my error I get
like monteiro said
this Addon is worth donating its awesome :D ty
Hi,
After update the up-to-date version, I can't save pet skills on normal action bar (not pet action bar).
if I will put a pet skill on action bar then it will be disappeared by ABP.
It is very annoying to re-configure the button.