Download
(12 Kb)
Download
Updated: 09-19-11 09:17 PM
Tested:Hour of Twilight 4.3
Updated:09-19-11 09:17 PM
Created:unknown
Downloads:96,236
Favorites:433
MD5:
This AddOn is 4.3 compatible
Action Bar Saver 2  Popular! (More than 5000 hits)
Version: r20110919
by: Shadowed [More]
Quick little mod, allows you to setup different profiles for your action bars. Mainly this is for hybrid classes that want to be able to respec without spending 10-20 minutes setting their action bars up. All you do is type /abs save <name> and it'll save the location of all your spells, macros and items.

For example, if you're currently a Feral Druid you can type /abs save feral then you can respec to Resto and setup your bars, then type /abs save resto once you go respec back to Feral you can then train all your spells again and type /abs restore feral and you'll get your feral setup without all the work of actually finding where you placed things.

Works with any custom interface like Bongos provided you're not using more then the standard 120 action buttons, ones that provided features to go past 120 will cause only the standard 120 to be saved/restored. This isn't a bug however, just a limitation in the WoW API
Author: Shadowed <shadowed.wow@gmail.com>
Date: Mon Sep 19 18:20:16 2011 -0700
- Updates for 4.2
- TOC Bump 40200
- Merge: d2a7a5b 9472c25
Author: Shadowed <shadowed.wow@gmail.com>

Date: Mon Jul 19 11:23:10 2010 -0700
- Merge branch 'master' of github.com:Shadowed/ActionBarSaver
- Conflicts:
- ActionBarSaver.lua
- Added "ActionBarSaver" global so other addons can access ABS functions
- Added Totem multi-bar saving support

Date: Mon Feb 15 11:49:45 2010 -0800
- Disabled sound when restoring profiles

Date: Thu Dec 10 15:29:57 2009 -0800
- Updated to support saving/restoring of equipment set buttons
- Moved over to using the new addon namespaces provided in 3.3
- TOC Bump

Date: Wed Sep 23 18:53:33 2009 -0700
- Fixed macros that are auto-edited by mods with names not being restored (Now restores by id -> content -> name, if no duplicate names)

Date: Sat Aug 8 21:54:13 2009 -0700
- Removed some upgrade code, been long enough that it's not needed
- Fixed an error with AddonLoader
- TOC Bump
Author: unknown <Shadowed@.(none)>

Date: Thu May 7 14:17:56 2009 -0700
- * Agh stop complaining
Author: Shadowed <shadowed.wow@gmail.com>

Date: Sun Apr 5 16:04:50 2009 +0000
- * fixed spellRAnk typo

Date: Sat Apr 4 22:25:04 2009 +0000
- * Whoops, TOC is supposed to be 30100 not 31000
- * Stripped the old Action Bar Saver -> Action Bar Saver 2 conversion code it's been almost a year "should" be fine
- * Stripped all of the companion saving for 3.0, it doesn't work half the time and is ugly anyway
- * Removed localization.deDE.lua and localization.frFR.lua not like I ever use them
- * Actually stripped Ace3 so SVN would commit
- * Changed companion saving to use the new Blizzard functions that actually work (And only took like 6 months to work)
- * Cleaned up some code in general to be less ugly and weird in general
- * Updated TOC to 3.1
- * Stripped Ace3, can't remember why I added it in the first place

Date: Thu Jan 8 22:10:31 2009 +0000
- * Added debug code if the companion scanning fails, hopefully this will let me narrow down whats causing it to happen (HOPEFULLY)

Date: Mon Jan 5 04:16:33 2009 +0000
- * Added support for AddonLoader

Date: Sun Jan 4 17:10:09 2009 +0000
- * Added an option to restore the actual spell rank saved, instead of defaulting to the highest rank (/abs rank, restores highest rank by default)

Date: Sun Nov 23 17:02:46 2008 +0000
- * Added a check to prevent profiles from being restored in combat
- * Since down ranking was removed, we don't really benefit from having lower ranks of spells restored, meaning it will now default to restoring the highest rank, and if that fails it'll restore the rank saved

Date: Thu Oct 30 22:05:14 2008 +0000
- * Fixed an issue with saving profiles as a Paladin or Warlock because Blizzard likes inconsistencies because they're evil bastards
- * Updated libraries
- * Updated TOC
- * Removed build 30000 checks

Date: Sun Sep 21 18:32:22 2008 +0000
- * Fixed one button in the restore failing if you had an action on the cursor when you started a restore
- * Updated AceDB-3.0
- * Changed the macro check to 36 global/18 character since Blizzard lied apparently
- * Added a work around for companions not returning a valid GetActionInfo
- * Stripped out AceConfig, AceDBOptions, AceEvent, AceGUI, as I can't think of any case I'm going to use these in the future

Date: Sun Sep 7 20:54:48 2008 +0000
- * Apparently blizzard didn't up the per character macros to 36 yet, so removed that check
- * Fixed /abs macro and /abs count not giving the correct response and always saying disabled

Date: Sun Aug 31 22:09:37 2008 +0000
- * Should mostly work with WoTLK now, just need to add mount/companion parts in
- * Added Bazaar support

Date: Sun Aug 3 04:21:56 2008 +0000
- * Fixed macro check, only does it if we find a macro we need to restore
- * Fixed /abs macro not actually working and letting you disable it
- * Added spell linking, this is very basic and for general substitution like if you have a Tauren Druid and a Night Elf Druid, you can set it up so if it can't find War Stomp it uses Shadow Meld in it's place and vica versa.

Date: Fri Jul 4 23:57:43 2008 +0000
- * Fixed a bug with the DB upgrade possibly erroring
- * Fixed the class categories not being filled in unless you had upgraded in the first place

Date: Thu Jul 3 23:42:45 2008 +0000
- * Fixed profile list not working correctly due to DB profiles

Date: Wed Jun 25 17:37:47 2008 +0000
- * Fixed spells not being restored if they were the max ranks
- * Fixed /abs delete not deleting unknown profiles
- * Cleaned up the restore code slightly
- * Added /abs rename old new for renaming profiles, also will move them to your current classes category
Optional Files (1)
File Name
Version
Size
Author
Date
Type
r649
2kB
04-08-08 02:17 AM
Patch


Archived Files (11)
File Name
Version
Size
Author
Date
r20100719
12kB
Shadowed
07-19-10 12:23 PM
r20100215
12kB
Shadowed
02-15-10 12:53 PM
r20091210
12kB
Shadowed
12-10-09 04:30 PM
r20091210
11kB
Shadowed
12-10-09 04:00 PM
r20090923
11kB
Shadowed
09-23-09 07:55 PM
r20090808
11kB
Shadowed
08-08-09 10:57 PM
r1206
10kB
Shadowed
04-05-09 10:05 AM
r1192
10kB
Shadowed
04-04-09 12:58 AM
r1057
26kB
Shadowed
01-08-09 03:11 PM
r1052
26kB
Shadowed
01-04-09 10:13 AM
r1026
25kB
Shadowed
11-23-08 10:03 AM


Post A Reply Comment Options
Old 02-01-12, 10:23 PM  
Xin
A Kobold Labourer

Forum posts: 1
File comments: 4
Uploads: 0
When restoring as a feral druid, mangle(bear form) is placed on the cat form action bars when mangle(cat form) was originally there. I have temporarily resolved the issue by using a mangle macro in place.
Xin is offline Report comment to moderator  
Reply With Quote
Old 01-28-12, 07:58 AM  
AnrDaemon
A Black Drake
AddOn Author - Click to view AddOns

Forum posts: 86
File comments: 2130
Uploads: 6
Re: Love this addon

Originally Posted by popnoart
I would only add an option to save specific action bar, not all at the same time. Would be awsome!
Not quite possible. Action bars are stored as a single string of buttons. All as one. Chopping and slicing it would be not an easy task.
AnrDaemon is offline Report comment to moderator  
Reply With Quote
Old 01-28-12, 07:11 AM  
popnoart
A Kobold Labourer

Forum posts: 0
File comments: 4
Uploads: 0
Love this addon

I would only add an option to save specific action bar, not all at the same time. Would be awsome!
popnoart is offline Report comment to moderator  
Reply With Quote
Old 11-25-11, 07:34 AM  
AnrDaemon
A Black Drake
AddOn Author - Click to view AddOns

Forum posts: 86
File comments: 2130
Uploads: 6
Running diff through my installed ABS and r20110919, I noticed a few differences that I only can call "regressions".
I.e. "restoreRank = true," being default behavior.
AnrDaemon is offline Report comment to moderator  
Reply With Quote
Old 09-23-11, 08:35 AM  
weavil
A Murloc Raider

Forum posts: 9
File comments: 66
Uploads: 0
welcome back ?!
weavil is offline Report comment to moderator  
Reply With Quote
Old 10-17-10, 12:29 AM  
Tact
A Deviate Faerie Dragon

Forum posts: 12
File comments: 26
Uploads: 0
i need an update SOOO bad. i like to respec a lot (yes i need more than 2 specs on my toon) and i HATE having to put back all the buttons 1 by 1.

any word on an update? /cry



edit:

ok. it seems blizz has done something that might make this addon unnecisary.

so i've been holding out on respeccing cause i didn't want to put back all my moves again to the action bar. (lazy ) but today when i forced myself to respec, NONE of my buttons dissapeared! they were all there and still are even after i removed one of those moves. (got rid of concussive blow on my tank)

so i guess if that's all you ever used this addon for, we no longer need it? O_o

idk if the same applies to macros though. just putting in my observations. idk if they help.


great addon none the less and a great backup to have on the offchance all your buttons do dissapear. (very annoying). so update still appreciated cause it's awesome.
Last edited by Tact : 10-17-10 at 12:54 AM.
Tact is offline Report comment to moderator  
Reply With Quote
Old 10-13-10, 04:23 PM  
Farmbuyer
A Kobold Labourer
AddOn Author - Click to view AddOns

Forum posts: 1
File comments: 37
Uploads: 1
Re: Not working in 4.0.1

Originally posted by Mordh
Or maybe the hack below works...anyone else tried it live, and is it the "<" lines that need deletion and replacement with the ">" lines?
The style of text posted by fakeh is called a "diff", except it looks like he got the old and new reversed, and forgot to toggle context on. :-) I took his changes as a starting point and got a little farther. The change below works for me, but fails on companions. Also, some "spells" are just not able to be looked up using the new API; presumably there's a way to get them but I have no documentation available on how the new API *works*, so for now I'm skipping them in a hardcoded list. (Yes, it's called "screwed" in the code. You may guess at my frustration level at the time I wrote it. It was a stronger word but wowinterface won't let me post it. /facepalm)

Code:
--- ActionBarSaver.lua.orig	2010-10-13 15:14:35.816250000 -0400
+++ ActionBarSaver.lua	2010-10-13 18:16:09.519375000 -0400
@@ -15,6 +15,9 @@
 local MAX_ACTION_BUTTONS = 144
 local POSSESSION_START = 121
 local POSSESSION_END = 132
+local screwed = {
+	["Lifeblood"] = true,
+}
 
 
 function ABS:OnInitialize()
@@ -69,11 +72,13 @@
 		set[actionID] = nil
 		
 		local type, id, subType, extraID = GetActionInfo(actionID)
+		--print("actionID", actionID, "maps to type", type, "id", id, "sub", subType, "extra/global", extraID)
 		if( type and id and ( actionID < POSSESSION_START or actionID > POSSESSION_END ) ) then
 			-- DB Format: <type>|<id>|<binding>|<name>|<extra ...>
 			-- Save a companion
 			if( type == "companion" ) then
-				set[actionID] = string.format("%s|%s|%s|%s|%s|%s", type, id, "", name, subType, extraID)
+				-- FIXME 'name' here is the name of the profile, not the name of the critter
+				set[actionID] = string.format("%s|%s|%s|%s|%s|%s", type, id, "", name, subType, extraID or "")
 			-- Save an equipment set
 			elseif( type == "equipmentset" ) then
 				set[actionID] = string.format("%s|%s|%s", type, id, "")
@@ -82,7 +87,7 @@
 				set[actionID] = string.format("%s|%d|%s|%s", type, id, "", (GetItemInfo(id)) or "")
 			-- Save a spell
 			elseif( type == "spell" and id > 0 ) then
-				local spell, rank = GetSpellName(id, BOOKTYPE_SPELL)
+				local spell, rank = GetSpellInfo(id) --GetSpellBookItemName(id, BOOKTYPE_SPELL)
 				if( spell ) then
 					set[actionID] = string.format("%s|%d|%s|%s|%s|%s", type, id, "", spell, rank or "", extraID or "")
 				end
@@ -196,7 +201,7 @@
 
 		for i=1, numSpells do
 			local index = offset + i
-			local spell, rank = GetSpellName(index, BOOKTYPE_SPELL)
+			local spell, rank = GetSpellBookItemName(index, BOOKTYPE_SPELL)
 			
 			-- This way we restore the max rank of spells
 			spellCache[spell] = index
@@ -272,12 +277,15 @@
 	-- Restore a spell
 	if( type == "spell" ) then
 		local spellName, spellRank = ...
+		if GetSpellInfo(spellName) and not screwed[spellName] then
+			PickupSpellBookItem(spellCache[spellName], BOOKTYPE_SPELL)
+		--[[
 		if( ( self.db.restoreRank or spellRank == "" ) and spellCache[spellName] ) then
 			PickupSpell(spellCache[spellName], BOOKTYPE_SPELL)
 		elseif( spellRank ~= "" and spellCache[spellName .. spellRank] ) then
 			PickupSpell(spellCache[spellName .. spellRank], BOOKTYPE_SPELL)
+		end]]
 		end
-		
 		if( GetCursorInfo() ~= type ) then
 			-- Bad restore, check if we should link at all
 			local lowerSpell = string.lower(spellName)
@@ -321,6 +329,7 @@
 		local critterName, critterType, critterID = ...
 		PickupCompanion(critterType, actionID)
 		if( GetCursorInfo() ~= "companion" ) then
+			critterName = actionID --FIXME see SaveProfile
 			table.insert(restoreErrors, string.format(L["Unable to restore companion \"%s\" to slot #%d, it does not appear to exist yet."], critterName, i))
 			ClearCursor()
 			return
@@ -392,7 +401,8 @@
 		
 	-- Profile restoring
 	elseif( cmd == "restore" and arg ~= "" ) then
-		for i=#(restoreErrors), 1, -1 do table.remove(restoreErrors, i) end
+		--for i=#(restoreErrors), 1, -1 do table.remove(restoreErrors, i) end
+		table.wipe(restoreErrors)
 				
 		if( not self.db.sets[playerClass][arg] ) then
 			self:Print(string.format(L["Cannot restore profile \"%s\", you can only restore profiles saved to your class."], arg))
@@ -434,7 +444,7 @@
 		end
 
 		self:Print(string.format(L["Errors found: %d"], #(restoreErrors)))
-		for _, text in pairs(restoreErrors) do
+		for _, text in ipairs(restoreErrors) do
 			DEFAULT_CHAT_FRAME:AddMessage(text)
 		end
Farmbuyer is offline Report comment to moderator  
Reply With Quote
Old 10-13-10, 06:59 AM  
Mordh
A Kobold Labourer

Forum posts: 0
File comments: 10
Uploads: 0
Not working in 4.0.1

Has anyone found another mod that serves this function and works in 4.0.1? As a shaman, I respec pretty often, and with the number of hotkeys and macros I bind....

Or maybe the hack below works...anyone else tried it live, and is it the "<" lines that need deletion and replacement with the ">" lines?
Mordh is offline Report comment to moderator  
Reply With Quote
Old 10-06-10, 05:27 AM  
fakeh
A Murloc Raider

Forum posts: 7
File comments: 15
Uploads: 0
Originally posted by Niightblade
Does this work on the current Beta?
With the following hacky changes my needs on the beta are satisfied, but I haven't extensively tested.
Code:
85c85
<                               local spell = GetSpellInfo(id)
---
>                               local spell, rank = GetSpellName(id, BOOKTYPE_SPELL)
199c199
<                       local spell = GetSpellBookItemName(index, SpellBookFrame.bookType)
---
>                       local spell, rank = GetSpellName(index, BOOKTYPE_SPELL)
205c205
<                       --[[if( rank and rank ~= "" ) then
---
>                       if( rank and rank ~= "" ) then
207c207
<                       end]]
---
>                       end
275,279c275,279
<               --if( ( self.db.restoreRank or spellRank == "" ) and spellCache[spellName] ) then
<                       if spellCache[spellName] then PickupSpellBookItem(spellCache[spellName], BOOKTYPE_SPELL) end
<               --elseif( spellRank ~= "" and spellCache[spellName .. spellRank] ) then
<               --      PickupSpell(spellCache[spellName .. spellRank], BOOKTYPE_SPELL)
<               --end
---
>               if( ( self.db.restoreRank or spellRank == "" ) and spellCache[spellName] ) then
>                       PickupSpell(spellCache[spellName], BOOKTYPE_SPELL)
>               elseif( spellRank ~= "" and spellCache[spellName .. spellRank] ) then
>                       PickupSpell(spellCache[spellName .. spellRank], BOOKTYPE_SPELL)
>               end
Best, Dan.
fakeh is offline Report comment to moderator  
Reply With Quote
Old 09-16-10, 11:43 PM  
Niightblade
A Fallenroot Satyr
AddOn Author - Click to view AddOns

Forum posts: 21
File comments: 67
Uploads: 1
Does this work on the current Beta?
Niightblade is offline Report comment to moderator  
Reply With Quote
Old 07-19-10, 04:15 AM  
Morsker
A Deviate Faerie Dragon
AddOn Author - Click to view AddOns

Forum posts: 12
File comments: 84
Uploads: 13
Re: Totem Action Bar Support

I wasn't aware of the max-rank feature. Polymorph(Rabbit) restores correctly if I disable this feature.

/abs rank has a typo in its chat message, saying "disabeld" instead of "disabled".

Also it would be nice if the max-rank feature didn't try to change ranks that aren't numbers, since it only makes sense for numbers. It's fairly minor though, especially since Cata will make the issue moot.
Morsker is offline Report comment to moderator  
Reply With Quote
Old 06-02-10, 11:25 PM  
suicidalkatt
A Chromatic Dragonspawn
 
suicidalkatt's Avatar
AddOn Author - Click to view AddOns

Forum posts: 167
File comments: 1151
Uploads: 46
Totem Action Bar Support

I changed lines 63 and 238 from "1,120" to "1,144" this seems to allow the saving and placing of shaman totem multi-cast action bars.

http://www.wowwiki.com/API_GetMultiCastTotemSpells
suicidalkatt is offline Report comment to moderator  
Reply With Quote
Old 05-23-10, 06:45 PM  
Morsker
A Deviate Faerie Dragon
AddOn Author - Click to view AddOns

Forum posts: 12
File comments: 84
Uploads: 13
This seems to get confused by the "rank" of alternate Polymorph spells like Polymorph(Rabbit) vs. Polymorph(Pig). When I try to save my action bars with the Rabbit version, it restores with the Pig version.

Also I just want to say how useful this mod is. Thanks!
Morsker is offline Report comment to moderator  
Reply With Quote
Old 05-17-10, 10:58 PM  
trclocke
A Kobold Labourer
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 110
Uploads: 1
Just wanted to post a quick thanks. I'm constantly swapping between three specs, and ABS makes things nice and painless
trclocke is offline Report comment to moderator  
Reply With Quote
Old 05-09-10, 04:04 AM  
PingHansen
Guest

Join Date: Not Yet
Forum posts: 0
File comments: 0
Uploads: 0
Originally posted by Salerix
Has keybinding support been added to this addon yet? Or is there an addon that I could get to save my keybindings already in place and change them with the option of restoring them to how they were previously?
I just noticed Respec Bind Saver
Report comment to moderator  
Edit/Delete Message Reply With Quote
Post A Reply



Category Jump:

Support AddOn Development!

You have just downloaded by the author . If you like this AddOn why not consider supporting the author? This author has set up a donation account. Donations ensure that authors can continue to develop useful tools for everyone.