Untitled
unknown
plain_text
2 years ago
1.9 kB
4
Indexable
-- Text "compression" so it can be stored in our format fine function ABS:CompressText(text) text = string.gsub(text, "\n", "/n") text = string.gsub(text, "/n$", "") text = string.gsub(text, "||", "/124") return string.trim(text) end function ABS:UncompressText(text) text = string.gsub(text, "/n", "\n") text = string.gsub(text, "/124", "|") return string.trim(text) end -- Restore a saved profile function ABS:SaveProfile(name) self.db.sets[playerClass][name] = self.db.sets[playerClass][name] or {} local set = self.db.sets[playerClass][name] for actionID=1, MAX_ACTION_BUTTONS do set[actionID] = nil local type, id, subType, extraID = GetActionInfo(actionID) 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) -- Save an equipment set elseif( type == "equipmentset" ) then set[actionID] = string.format("%s|%s|%s", type, id, "") -- Save an item elseif( type == "item" ) then 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) if( spell ) then set[actionID] = string.format("%s|%d|%s|%s|%s|%s", type, id, "", spell, rank or "", extraID or "") end -- Save a macro elseif( type == "macro" ) then local name, icon, macro = GetMacroInfo(id) if( name and icon and macro ) then set[actionID] = string.format("%s|%d|%s|%s|%s|%s", type, actionID, "", self:CompressText(name), icon, self:CompressText(macro)) end end end end self:Print(string.format(L["Saved profile %s!"], name)) end
Editor is loading...