Download
(212 Kb)
Download
Updated: 03/22/24 03:14 PM
Pictures
File Info
Compatibility:
Scions of Ithelia (9.3.0)
Updated:03/22/24 03:14 PM
Created:01/16/21 02:22 PM
Monthly downloads:9,919
Total downloads:258,079
Favorites:140
MD5:
Categories:Character Advancement, Raid Mods
9.3.0
Caro's Skill Point Saver (Builds, Champion Points, Presets, Gear, Quickslots, Appearances/Outfits)  Updated this week!  Popular! (More than 5000 hits)
Version: 5.4.3
by: Irniben [More]
FAQ

Open the UI with /csps or specify a keybind.

Main features:
  • Save your complete build for character respeccing (including gear, mundus, quickslots and appearances - LibSets is required for gear information, mundus can't be applied by the addon itself)
  • Import/export your build data
  • Create and manage sub profiles for different categories/disciplines
    • Sub-profiles can be saved for the whole account or for the current character
    • Sub-profiles for champion bars and quickslots can be bound to hotkeys, to specific locations or to AlphaGear/DressingRoom/Wizard's sets
  • Champion point presets included:
    • DD presets by Skinny Cheeks
    • Tank presets by The Tank Club
    • Healer presets by ESO University
    • Different craft tree presets, some of them optimized to use together with 'Jack of all Trades'
    • Rightclick on a preset to see a detailed list of skills before loading it
  • Text-based import for champion points
    • Import any list of champion point allocations directly into the game
    • Create dynamic profiles if you are still leveling (will require the list to be sorted in the order the skills should be supplied - multiple entries for the same skill are supported in this mode)
  • Display slotted CPs on your in-game overlay (optional)
  • Transfer your saved data from other characters/accounts/servers

This addon comes with an extended help section. Click on the question mark in the top right corner of the addon for more details or have a look into the FAQ on esoui.com!

Saving data:
  • Click on 'Read current data'.
  • Optionally, click on the plus/minus next to your skills to add/remove a skill point. (You will be able to edit your skills later, too.)
  • Click on 'Save shown data'. All skills, attributes and CP are saved.

Loading saved data (see below for respeccing):
  • Click on 'Load saved data'.
  • At the top, select which data you want to apply (skills, attributes, CP).
  • Optionally, click on the plus/minus next to your skills to add/remove a skill point.
  • Click on 'Apply loaded data'. Your selected data is applied.
  • Click on the options button (topright corner) to toggle the hotbar. The hotbar skills have to be applied separately.

Create profiles for respecing:
You may use the plus and minus right of the profile dropdown box to create/delete new profiles. If you want to use this for respeccing you can delete all skills from the build that shall not be changed - this saves storage space and makes the profile more clear to read. Just go to the shrine and get into morph respec mode to apply the profile - you don't need to reset all your skills to do that.



Section 1) These buttons are for managing the main profiles. Those include all the data of your build, including skills, attributes and champion points. You can use those to backup or respec your complete char. Do NOT use those, if you want to save profiles for your champion points only.

Section 2) These three buttons open the champion point profile menu. There you will find controls to create and edit separate champion point profiles. As said: do not use the main profile buttons at the top to do this. It will work, but it will save way too much data.

Section 3) The apply section. Here you can select which parameters of the currently shown data the addon should apply to your character. After selecting use the button at the right to confirm.

The champion point profile section:

Here you can find different options to save and load profiles and presets for your champion points.
  • Select a discipline and a category (complete cp profile for char / account, preset, champion bar only).
  • Click on the plus to create a new profile from the currently loaded cp data.
  • Rename your new profile if you want to.
For the last category (champion bar only) you also have the option to create automizations and keybinds via Options => Manage Champion Bars. Please note, that you will ONLY find the "bar only"-profiles in there.

Import/export data:
  • Click on the options button to open the import/export section.
  • Select the platform (for now, eso-skillfactory.com only)
  • Generate a link from your current displayed build and copy it to your browser (ctrl+c).
  • Insert a link from your browser (ctrl+v) and import it as your new build.
  • You will be able to edit the build between importing and applying it.

Champion point import/export (text based):
  • If you find a useful cp setup in a guide etc. you can now easily import it into the game.
  • No need to manually enter your champion points - just copy them into the addon.
  • As long as there is a number followed by the English name of a champion skill, the addon will automatically import the champion point distribution you copied.
  • If the skills in your text are presented in the opposite order (name first, then value), you can change the reading order by activating the checkbox below the input textfield.
  • To reduce the possibility of mistakes the three champion disciplines have to be imported separately.
  • There are several options you can use when clicking the import button:
    • Use rightclick when you click the import button to create a dynamic profile
    • When holding Ctrl at the same time the created profile will be account-wide
    • When holding Ctrl while doing a left-click code for a preset will be generated
    • All of these options won't warn you when they encounter problems - so make sure the text you're importing is without typos etc. (e.g. by importing it the usual way first)
    • If you are importing from a list where multiple entries for the same champion skill should be added up instead of replacing each other, hold Shift while clicking on the import button (works with any of the options above)




Planned for the future:
  • import/export for more platforms

Current languages: English, German, French (if you would like to translate to other languages, contact me)

DependsOn:
LibAddonMenu
LibCustomMenu
Optional dependency:
LibSets (needed for gear support)

Many thanks to Baertram for his invaluable help!
Many thanks to Keldor for allowing me to use his mappings for eso-skillfactory and for his great work with that website.
Many thanks to @jakez31 for the French translation.
Thanks to CyberOnEso for allowing me to include presets optimized for his addon 'Jack of all Trades' and in genral for his great work with that addon.
Thanks to TC Lee13 / The Tank Club for letting me include their tank cp presets.
Thanks to NefasQ/ESO-U for allowing me to use their cp presets (using the healer ones).
Thanks to Skinny Cheeks for providing the cp presets for damage dealers and his helpful advice.
More thanks than I can say here to @Orejana for just being herself.
  • v. 5.4.3
    • added new sets to skillfactory-export/import
    • added russian translation thanks to mychaelo
  • v. 5.4.2
    • fixed an issue with the dropdowns for sub-profile bindings
  • v. 5.4.1
    • adjusted to changes in the API for Update 41
    • added new sets
  • v. 5.4.0
    • fixed an issue that could occur when importing builds with too many attribute points
    • applying more attribute points than you can have on your current character will no longer fail automatically - instead the addon will ask you wether as many points as possible should be applied
    • new options for situations when to open the addon automatically (including level-up and earned champion points - addon will only open once out of combat)
    • new option to save the current build as a temporary profile when closing the addon so you can continue where you left off the next time you start the game and open the addon
  • v. 5.3.3
    • fixed an issue with retrieving and equipping gear if there were multiple instances in the bank
    • quick-slot profiles will now also save which quick slot is active and change it when applied. you can also change that via left-click inside the addon
    • the gear list now also shows numbers for active items of a set behind the item name (frontbar/backbar for sets including a weapon). can be deactivated in the settings.
    • when editing gear in CSPS you have a new button to select sets that are either already in your build or in your inventory/bank
  • v. 5.3.2
    • fixed an issue with the stam-dd fitness cp preset flagged as old
    • added arcanist and current sets to eso-skillfactory-import/export
  • v. 5.3.1
    • fixed an issue with account-wide cp bar profiles
  • v. 5.3.0
    • added compability for update 30
  • v. 5.2.0
    • added the arcanist to skillfactory-export/import
    • added Sanity's Edge to the abbreviations for automatically created sub-profile names
    • the context menu to quickly choose slottable champion points can now also be used in the base game UI
    • added an apply button the the champion point hotbar to only apply the currently selected slottables
    • fixed the tooltip for mundus boons and added tooltips to the dropdown menu
    • added tooltips to the ability hotbars
    • added ability stats (cost, duration, range, etc.) to the skill tooltips
    • fixed an issue where some items wouldn't be applied to quick slots (e.g. alliance items)
    • fixed an issue with binding groups to Wizards Wardrobe sets
    • fixed an issue where some parts of the apply all options would be enabled even the button itself was disabled
    • fixed some issues with custom icons not always being shown on the base game champion bar
  • v. 5.1.3
    • fixed an issue that would prevent the addon from loading on the pts - happy testing!
  • v. 5.1.2
    • fixed an issue that could occur on new characters or new installations of the addon
  • v. 5.1.1
    • fixed a minor issue where the cp sidebar would be shown without a background
    • fixed a minor issue where clicking on a tree section name to open it wouldn't work for champion point disciplines and clusters
  • v. 5.1.0
    • added appearances
      • you can disable the appearence-section in the addon's settings (the appearance section won't be shown in the tree view and appearances won't be loaded/saved if deactivated)
      • you can save your title, outfit and active collectibles and edit them inside the addon
      • you can create account-wide and char-based sub profiles for your appearances
    • fixed an issue with the tooltip for adding quickslot sub profiles
  • v. 5.0.3
    • fixed an issue with adding bindings to AlphaGear profiles (works fine for me with AlphaGear 2, but I'm not really using AG so let me know, if you encounter any more issues)
    • fixed an issue with removing conflicting bindings
    • added the sets from Scribes of Fate to eso-skillfactory import/export function
  • v. 5.0.2
    • fixed an issue that could occur when applying empty champion bar slots
    • fixed an issue that could prevent you from saving your champion bars
    • when pressing 'apply all' and now champion point changes are necessary then that message is posted to chat instead of 'champion points successfully applied'
  • v. 5.0.1
    • fixed an issue with the apply-all-function that came with v. 5.0.0
  • v. 5.0.0
    • fixed a very old but never addressed issue with the tree view: you can now open/close sections by clicking on their titles
    • the default setting for displaying the skill hotbar at the bottom of the addon is now 'active' and the setting moved to the addon's setting menu
    • when right-clicking on the apply-labels or opening a sub-profile-section the tree view will now scroll to the corresponding category and open it
      • note that their might be a small delay if that category is opened for the first time
    • added the option to choose which key should be used to jump 10 points when adjusting attribute/champion points and to connect sub-profiles to a build profile (shift, ctrl, alt)
    • added tooltips for skill sub-profiles
    • added the option to save hotbars together with skill sub-profiles (or hotbars only)
    • added options to suppress messages on loading cp profiles, hiding the addon without applying changes etc.
    • fixed an issue where shift-clicking on a sub-profile icon would load it instead of connecting it to the current build
    • complete overhaul of the quickslot section
      • quickslots are now part of the tree view
      • all quickslot bars can be saved and loaded together or separately
      • note: when applying more than one quickslot bar at once there is a little waiting time between categories so you won't get kicked for spamming
        • when filling all quickslot bars on an empty character you might still get a spam warning
      • quickslot profiles can still be connected to build profiles (similar to cp profiles)
    • complete overhaul of the "manage-bars" feature (connecting groups of sub profiles to keybinds, places, etc.)
      • now you can add quickslot profiles and even complete build profiles to your binding groups (the option to include complete build profiles must be activated in the addon's settings)
      • now you can bind your binding groups to your Wizard's Wardrobe Sets (not needed for cp subprofiles of course, but who knows what you might want to use this for)
      • binding groups now can be defined character-based or account-wide
      • using keybinds will always prefer the character-based binding group if one exists, but you can setup a second keybind (shift/ctrl/alt) to force the addon to load the account-wide group instead.
    • changes to the champion point section
      • complete overhaul of the underlying code to save and handle champion points - please let me know if you encounter any problems
      • new option to choose if the champion points should be sorted in clusters like the base game ui displays them or listed in alphabetical order (optionally grouped by slottable/passive)
      • you can now apply slottable CPs to the first empty hotbar slot by right-clicking them in the list
      • left-clicking champion point hotbar slots at the left of the window now opens a context menu to quickly apply new skills to the slot
      • old champion point presets will not be shown in the preset list anymore unless you choose otherwise in the addon's settings (they are still included and will be loaded when connected to a profile)
    • changes to the import/export section
      • if you use the game in French, German oder Spanish you can now choose to use your own language for text-based champion point import/export
      • fixed an issue that could occur on transferring profiles from one char to another
      • transferring profiles is a little more convenient now, at least current server and account are pre-selected
      • new option to import/export the complete build profile in an csps-specific format
  • v. 4.2.9
    • Fixed an issue that would prevent some cp presets from being shown in the preset list
  • v. 4.2.8
    • Fixed an issue with creating new bindings for AlphaGear and DressingRoom profiles
  • v. 4.2.7
    • Fixed an issue with generating links for eso-skillfactory
    • The new buttons to quickly save cp profiles now have tooltips
    • Made some alterations in the way the UI is handled (let me know if you encounter any issues). Changed quite a few controls so they will only be created once you need them the first time. This should benefit loading times and performance impact.
  • v. 4.2.6
    • NEW DEPENDENCY: LibCustomMenu - please donwload before updating if you don't already have it
    • Added new DPS presets based on the builds by Skinny Cheeks
    • Updated the warfare tank preset
    • Added the option to quickly save cp profiles from within the tree view (both create new profiles and save existing connected ones)
    • Fixed an issue where the High Isle champion points would not be imported correctly
    • Added a developer-function to quickly show you skill and cp data: left click + shift + ctrl on list entries now writes the list entry id and base data to chat
  • v. 4.2.5
    • You can now change the size of the addon window (that took a while, I know) - please let me know if you encounter any issues with that
    • Added the new sets for Firesong to the eso-skillfactory import/export
  • v. 4.2.4
    • Fixed an issue that could occur on 'apply all' without ability hotbars
    • Added the option to add gear items to a profile by dragging them from your inventory into the addon
  • v. 4.2.3
    • Fixed an issue that could occur on login for chars without saved profiles
    • Fixed an issue that could cause an ui error in the inventory (for items without an itemlink?)
  • v. 4.2.2
    • Fixed two issues with the new apply-all button preventing hotbars and connected quickslots from being loaded at first try
    • The addon now longer asks you to save changes if you select another profile without having made any changes
    • Mundus display will now refresh and show the correct color when the mundus is changed in-game
    • Added an option to mark items in the inventory that belong to the build (icon is a little red rhombus)
      • FCOIS is not yet supported but support is planned for the future
    • Items that are saved by their unique ID and not by their properties and have been found in your inventory will be marked inside the addon with a small lock-icon
  • v. 4.2.1
    • Fixed an issue with the new open-on-armory option
    • Champion Point slottables that can be slotted but aren't now get a small grey circle around them
  • v. 4.2.0
    • Moved most of the addons settings to LibAddonMenu (new dependency), added some new settings:
      • Option to open the addon automatically when the armory is accessed
      • Option to save specific gear items instead of just the items data
      • Option to change the accepted level difference of gear that the addon should find and equip
      • Explanation: when you are saving your gear in most of the other addons (like DressingRoom, AlphaGear or WizzardsWardrobe), the addon will save specific items by their unique item id. This way when you reapply them the exact same item will be equipped again. Since CSPS is also used for theorycrafting, I went another way. Instead of saving the exact item you are wearing, the addon saves the items data, for example 'medium Legs, legendary, divine, max-magicka enchantment'. That way your builds can be imported/exported and the addon will still be able to find fitting gear. But of course if you have two identical items in your inventory it will be random which one the addon equips. Also the addon will try to find equipment fitting the current character's level. If you want to equip a specific item or an item not fitting your level you should use the option to save specific items via their UniqueID.
      • Option to add a new 'equip all' button to the addon (and pre-select which parts of the current profile should be applied)
      • Option to hide the last saved date in the profile list
    • Added the possibility to connect quickslot profiles to the current build (this only affects the new 'apply all' button)
      • Use shift + left click to connect/disconnect a quickslot profile to the current build
    • Fixed an issue that came with the werewolf implementation and would prevent hotbars with empty slots from loading correctly
  • v. 4.1.11
    • Fixed an issue that could prevent you from saving your old builds after the new werewolf hotbar was implemented
  • v. 4.1.11
    • Fixed an issue where right-clicking on linked cp profiles in the treeview wouldn't disconnect them
    • Added the werewolf hotbar (open the werewolf skills in the treeview to show the hotbar)
  • v. 4.1.10
    • Fixed an issue where profiles with dynamic cp presets linked to them would cause errors
    • Fixed an issue where set items without a trait would have incorrect tooltips
  • v. 4.1.9
    • Added the new sets for Lost Depths to the eso-skillfactory import/export
  • v. 4.1.8
    • Added the new sets for Lost Depths
    • Pushed the API version
  • v. 4.1.7
    • Fixed an issue where the CSPS window would sometimes be hidden behind the champion point ui
    • Fixed an issue where gear sometimes would not be found in the inventory if poison was part of the build
    • Fixed an issue where builds with non-set items in the gear section would not load properly
    • Fixed an issue where the tooltip for gear would not be hidden
    • Added an API function to quickly load a complete build by name: CSPS.loadAndApplyByName(profileName, excludeSkills, excludeAttributes, excludeGreenCP, excludeBlueCP, excludeRedCP, excludeHotbar, excludeGear) - if none of the booleans is set to true the complete build will be loaded. No confirmation dialogs will be shown except for errors or gold costs.
  • v. 4.1.6
    • Added High Isle item sets for eso-skillfactory build import/export
    • Removed the chat output that could occur on skill point changes
  • v. 4.1.5
    • Adjusted the quick slot manager to the changes made in High Isle (for now only the standard quick slot menu is supported)
    • Fixed an issue that could occur when opening the cp-profile editor from within the bar manager
    • Added icons for the new champion points
    • Pushed the API version
  • v. 4.1.1-4.1.4
    • Fixed some issues that came with v.4.1.0
  • v. 4.1.0
    • Completeley rewrote the skill section of the addon and changed the way skills are handled codewise
    • Also removed some old compability functions from the early days - please let me know in the comments if you encounter any problems
    • The apply/retrieve buttons for gear are now shown only when the gear node is open/visible (better performance for the rest of the addon)
    • Added the option to link champion point profiles to build profiles making them more dynamic (use right-click to link a champion point profile to the current build profile. every time that build profile is loaded the champion point profile will be applied to the build)
    • Added the option to save skill profiles as separate profiles that can be loaded (adding the skills to the currently shown, so you can use them to quickly add sets of skills you need on more than one profile)
    • Added the option to use shift while clicking on the plus button to set passive skills to their highest rank
    • Added the option to add all passive skills to a skilltype or skillline and set them to their highest possible rank
    • Added Ascending Tide item sets for eso-skillfactory build import/export
    • Pushed the API version
  • v. 4.0.1
    • Fixed some issues in the new gear selector (item type and trait dropdown)
    • Added information on crafting knowledge and reconstruction options for missing set items
    • Added armor type information to the item tooltip
  • v. 4.0.0
    • Added gear information. The addon will save information about the items, not the unique item in your inventory. It's not intended to replace Wizards/AlphaGear/DressingRoom. You can import/export your full build including gear from eso-skillfactory. The addon will tell you if you have any fitting items in your inventory or bank and can retrieve/equip them. Items that only fit partwise will be listed but not equipped by the addon.
    • Added mundus stone information (topright corner).
    • Cleaned up some older parts of the code (still some work to do in that regard).
  • v. 3.4.0
    • Added information to all profiles (cp and build) when they were saved last (is shown in the dropdown for builds and in the tooltip for cp profiles) - will only show for profiles saved after this update
    • Added more information to the custom champion point profile tooltips
    • Fixed an issue where existing quickslot profiles couldn't be changed
  • v. 3.3.0
    • Added the option to save and load your quickslots (this function has a 5-second-cooldown)
    • Fixed an issue that could occur when trying to transfer a profile from one char to another with different race/class
    • Changed the way hotbars are applied (you no longer need a bar swap)
  • v. 3.2.0
    • Added tooltips showing the full names for champion point profiles that get truncated
    • Changed the options for the cp text-import. Instead of one checkbox for "reverse order" you now can select one of three possible name-value-slot-orders.
    • Removed a debugging function that would post champion skill ids to chat when clicking on them
  • v. 3.1.2
    • Fixed an issue with profile-transfer for champion hotbars that could occur when transferring from a char without any hotkey groups
  • v. 3.1.1
    • Added new set ids (deadlands) to the skillfactory export
  • v. 3.1.0
    • Pushed the API version
    • Added a routine to automatically switch to cursor mode and back when opening/closing the addon (and after you exit dialogs)
    • Changed the way the 'apply'-menu is shown when you change something in the build so it doesn't move the whole list.
  • v. 3.0.3
    • Added some options to the cp text import feature:
      • Use rightclick when you click the import button to create a dynamic profile
      • When holding Ctrl at the same time the created profile will be account-wide
      • When holding Ctrl while doing a left-click code for a preset will be generated
      • All of these options won't warn you when they encounter problems - so make sure the text you're importing is without typos etc. (e.g. by importing it the usual way first)
      • If you are importing from a list where multiple entries for the same champion skill should be added up instead of replacing each other, hold Shift while clicking on the import button (works with any of the options above)
    • Added the missing namechanges from Waking Flame to the CP text import database
    • Using rightclick to preview the skills contained in a CP preset now also works with custom profiles
  • v. 3.0.2
    • Fixed an issue that could occur when trying to apply CP with an empty slot
  • v. 3.0.1
    • Changed the api version to the correct number
    • Fixed a small issue that could cause an UI error when opening the CP profile section
    • Added a text messages when trying to apply a cp profile group that doesn't require any changes
  • v. 3.0.0
    • Completely changed the way skills are saved in the addon - skills are now saved by ID rather then indices, which should be easier to maintain for future updates. All saved data for your account will be converted on your first login after updating.
    • Added new sets to the skillfactory import/export (Waking Flame)
    • Fixed an issue where an empty slot would sometimes prevent your cp hotbar from being applied
    • Replaced the one apply button and the checkboxes with different apply buttons for skills, attributes and champion points
  • v. 2.3.0
    • Added gear export for skillfactory. When generating a link for eso-skillfactory the currently worn gear will be included (won't be shown in the addon)
    • Added cp icons for the new skills on pts (Waking Flame)
    • Major changes in the way the skill/cp-list is handled codewise - should improve the performance when reading data for the first time
    • Current skills and champion point allocations are now displayed by default whithout manually refreshing the data (you still have to refresh if changes are made outside the addon)
    • Removed the cp reminder option (became kind of obsolete with cp 2.0)
    • Removed the old CP from the treeview and from the export window
  • v. 2.2.0
    • Updated the export/import function for eso-skillfactory.com to support the current version of the skill planner
  • v. 2.1.1
    • Updated the blue and red champion point presets for dds
  • v. 2.1.0
    • Added the new champion skills to the text import (Blackwood)
    • Added custom icons for the new slottable champion skills (Blackwood)
  • v. 2.0.5
    • Fixed an issue with cp profiles that came with 2.0.4
  • v. 2.0.4
    • Fixed some issues with the tank presets > 1700 cp
    • Fixed an issue that would occur on login on the current PTS (Blackwood)
    • Fixed an issue that the addon would ignore the lower max points for some cp on the current PTS (Blackwood)
  • v. 2.0.3
    • Fixed an issue that could occur when the custom icons are activated without the custom bar
  • v. 2.0.2
    • Fixed an issue where the stamina dummy parse preset was listed as magicka
  • v. 2.0.1
    • Fixed some issues with the dynamic presets
      • Some incorrect/missing values in the DD presets (you might have to respec those to optimize your CP)
      • Remaining points should now be distributed as intended to jumppoints and basestats to make as much use of them as possible
  • v. 2.0.0
    • Added new cp presets for healer and for the green cp tree (craft)
      • Healer preset (blue/red) by ESO University
      • Different green presets I'm using myself
      • Presets by @Orejana that are optimized to use in combination with 'Jack of all Trades'
    • Added an option to filter cp presets by role
    • Added the possibility to see a detailed list of skills in a cp preset before loading it by doing a rightclick on the list entry
    • CP values are now color coded like the skills: green if the selected value is exactly the same as the currently applied and orange if the currently applied value is higher than the selected one
    • Added a chat message when closing the addon with unapplied changes to CP
    • The names of AlphaGear and DressingRoom bindings are now created dynamically and refreshed when you rename the linked sets/profiles/builds
    • Added an option to apply dynamic presets in a strict order (thereby having more leftover points but probably saving 3000 gold when applying the preset again)
  • v.1.7.2
    • fixed an issue where some messages would contain codes instead of skill names
    • added cp tooltips and icons to the bar manager
    • removed some of the older pre-update29 routines that are not needed anymore
  • v.1.7.1
    • added a French translation (thanks to @jakez31)
    • fixed an issue where incompability issues with some dressing room versions could cause an UI error (hopefully, couldn't replicate the errors myself)
    • presets can now be sorted by source and role (both are now displayed in separate columns)
  • v.1.7.0
    • added the option to display different icons for the slottable champion points (activate under options)
    • added the option to display a separate champion bar as part of the in-game overlay (activate under options)
    • if a new cp profile is created it is now positioned at the top of the list and colored yellow until you resort the list or switch to another view
    • the auto-names for new cp profiles now also distinguish between mag- and stam-dd
    • the tooltips for champion points now also appear while hovering over the progress-bars/values
    • updated the cp presets by Skinny Cheeks and added the ones for dummy parsing
  • v.1.6.5
    • added a new option under import/export called "transfer", allowing you to load profiles or copy cp bindings from another character (server and account wide)
    • added a new binding option: location by category (group dungeon, trial, housing, battleground)
    • fixed an issue where the location based hotbar binding wouldn't work
  • v.1.6.4
    • fixed an issue where text-export would exclude skills from clusters (only affected warfare)
    • the champion profiles and presets are now sorted by name (will add more sorting options soon)
    • added a step-by-step tutorial for import from alcast or justlootit to the help section
  • v.1.6.3
    • updated the tank club presets
    • added a "secret" create-preset option: if you are in text-based import and hold ctrl+shift while clicking on the import-button, the text won't be imported but converted to a dynamic preset, which you can send to me (with a short explanation what you're doing and why it should be in the addon), or you can copy into the presets.lua in the addons data folder (replace X with the next number in line)
    • fixed an issue where the champion bars from the main profiles wouldn't be saved correctly
    • fixed an issue where the start-text in the import-export-section wouldn't always fit the selected method
    • fixed an issue where the location based automization would only work if the cp reminder was on
    • fixed an issue with the non-cp-profile-warning
    • the dressing room role-icon now refreshes when you re-enter the cp bar manager
  • v.1.6.2
    • fixed an issue where your champion bar profile groups wouldn't be saved
    • added export-to-text for the new champion point system
    • added support for profile-by-role in Dressing Room (you can save bindings to the current role)
    • added a new feature: right-click on a locked champion skill in the list and the addon will tell you the cheapest path to unlock it
    • changed the name on minion to make it easier to find
  • v.1.6.1
    • fixed an issue where you couldn't recreate a binding to dressing room or alpha gear after you removed it
  • v.1.6.0
    • added automization for champion bars
      • bind your champion bars to dressing room, alpha gear or certain locations
      • Attention! When binding CP to Alpha Gear make sure to load your AG build directly and NOT by toggling through all your AG builds one after the other - otherwise the addon will try to reslot your champion skills for every build it is bound to, causing the 30 second cooldown to prevent you from slotting the points you actually need!
    • extended the whole help section of the addon
    • added an option to auto-load the addon when opening the cp window
    • opening the cp profile section now toggles the cp-section in the treeview which lets you see your slotted cp skills
    • fixed an issue where two skills from soul magic would be loaded incorrectly after the update (works only for chars on which you haven't logged in since the update)
    • fixed an issue where the cp bar manager wouldn't refresh the dropdown menu after you created new champion bar profiles
  • v.1.5.6
    • fixed an issue with loading presets and importing cp where skills close to the players current max points wouldn't be applied
  • v.1.5.5
    • fixed an issue with saving cp without skills being loaded first
  • v.1.5.4
    • integrated a remap function for the switched skills in provisioning and enchanting
  • v.1.5.3
    • checked with the live server version of Flames of Oblivion
      • changed the scyring skill line migation
    • added a "clean text" button to the cp text import (needd if importing from alcasthq)
  • v.1.5.2
    • fixed a small issue with the loading process that would have caused an UI error tomorrow
  • v.1.5.1
    • fixed an issue with text import for red and green champion points that came with v. 1.5.0
    • fixed a small issue that could occur while editing skill profiles
    • fixed an issue where the user could try to apply skills and attributes even if none had been loaded
  • v.1.5.0
    • extended the keybinding option for champion hotbar profiles
      • now up to 20 groups (each group contains one hotbar profile for each discipline)
    • included basic presets for warfare and fitness
      • presets provided by The Tank Club and Skinny Cheeks (thank you!)
      • these presets are dynamic and will automatically adjust to your level (up to 2100 CP)
    • changes to the text-based cp import:
      • added the option to reverse the reading order (name before value)
      • added the option to stop the import once the accounts available points are reached
      • fixed an issue where slottables would be slotted twice if they appeared twice in the text
      • The addon now searches for the word "slot" in the text - if found, this keyword will determine which champion points should be used on the champion bar. Otherwise the addon will try to slot all slottable imported skills starting at the beginning of the text.

  • v.1.4.4
    • added the option to save only the champion point hotbars to profiles and assign key binds
    • some minor ui tweaks
    • added a preset list for champion points (not yet filled)
  • v.1.4.3
    • added a warning when trying to apply skills regarding the change of the major gallop buff
      • if you select 'No' in the dialog, the addon will offer to switch the skills automatically
    • fixed an issue with a change in the skill order that came with one of the latest PTS patches
    • fixed an issue that could prevent the migration of skill lines when changing the ingame language
    • fixed an issue where the champion point hotbars wouldn't be read correctly
  • v.1.4.2
    • fixed an issue that was caused by PTS patch v.6.3.4 (the reimplementation of the championstar animation)
    • fixed an issue that could prevent the user from respeccing champion points (CP 2.0)
    • small ui tweaks in the champion point purchase request dialog
  • v.1.4.1
    • fixed an issue where the cp reminder for trials and arenas would be switched on by default and after a reload
  • v.1.4.0
    • added text based import for champion points (2.0)
    • added a trial cp reminder
    • fixed an ui issue with the save profile dialog

  • v.1.3.3
    • fixed an issue that came with v. 1.3.2
  • v. 1.3.2
    • extended tooltips for skills in the treeview
    • added support for the new champion system - only on pts of course
      • you can save your cp into the general profile or in separate cp profiles for each discipline
      • you can choose to save the cp profiles by char or account
      • you can import cp profiles as comma separated lists (more info on that feature coming soon)
  • v. 1.3.1
    • added export as text
      • list of skills is too long for the ingame textfield, so I split them up in three parts
      • like the link to skillfactory you will have to copy the texts to save them outside of eso
  • v. 1.3.0
    • added support for multiple profiles for each character
      • please note that champion points from the old cp system won't be saved for other profiles than the standard one since you don't want them to unnecessarily pollute your saved data after the update
      • if you want to respec, just save the skills you want to change to save storage space
      • you can go to a shrine and enter the morphs-only respec mode to apply your profile
    • added the options to remove a whole skill line from a build (useful to reduce the data for respec-profiles)
    • added plus/minus-buttons to the attribute points
    • fixed an issue, where empty slots in the hotbar wouldn't be saved/loaded correctly
    • fixed an issue in import from eso-skillfactory, where a missing mundus would prevent the following data from loading
    • started to change some code segments to get rid of the bad habit of German function names... :-)
  • v. 1.2.1
    • fixed an issue for non-cp-accounts which prevented the addon to work properly
    • fixed some minor ui issues
  • v. 1.2.0
    • added hotbars (click on the options-button at the top to show/hide them)
      • drag and drop skills from the list
    • added import/export to/from eso-skillfactory.com
    • added color coding for the skill types/lines to help finding conflicts
    • changed the name of the old cp-values to CP 1.0
      • old CP will still be shown after update 29 but not applied or imported
    • adjusted the skill mapping for the new armor passives in update 29
    • fixed an issue, where some skills would be wrongly identified as conflicting with existing ones
    • fixed an issue, where the addon would try to apply skills from unavailable skill lines
  • v. 1.1.1
    • on special request: additional auto save for cp and attributes if one of them is missing at login
  • v. 1.1.0
    • fixed an issue where attribute points were listed but not saved
    • found and fixed an issue where the skills would be mapped wrong when saved in a different language
    • added a plus button to the skill section
      • only visible if not maxed out
      • plus and minus also work to switch between morphs
    • the number of free skill points and the ones you need in order to apply your current data are now shown while you edit them
    • your skills are now color-coded
      • red if you can't apply them
      • green if they are already applied
      • orange if they are already at a higher rank than intended
  • v. 1.0.0
    • changed the way the data is stored (after the first login a ui-reload is recommended)
    • changed the way inactive skills are treated in the listing
    • the first time you log in to a character without any previous saved data, the current data will be saved automatically
    • fixed an issue with incorrect order of cp (ui only, don't worry)
    • added attribute points besides skills and cp (not important for the update 29 reset, but we never know)
    • the checkboxes at the top now only affect the applying of saved data, not the loading/saving-process itself
    • extended the information shown when trying to apply skills (now showing the actual needed skill points and potential conflicts with already applied skills)
    • added a migration process if you load data that was saved in a different language (skill types that are ordered alphabetically like open world or guilds would otherwise be incorrect)
    • some other minor bugfixes and changes
  • v. 0.9.3
    • minor bugfix - error message if you try to load data that isn't there
  • v. 0.9.2
    • some changes in the general UI
    • warning if you have less skill points than you need to apply your saved skills
    • possibility to change the skills
    • new parameter in the saved data to later fix the problem below
    • known issue: if you change the language of your game client, you can't read your old saved skills.
      • a solution is on it's way.
Optional Files (0)


Archived Files (92)
File Name
Version
Size
Uploader
Date
5.4.2
200kB
Irniben
03/21/24 03:50 PM
5.4.1
200kB
Irniben
03/11/24 04:01 AM
5.4.0
199kB
Irniben
12/28/23 07:43 AM
5.3.3
213kB
Irniben
12/23/23 05:38 AM
5.3.2
212kB
Irniben
12/22/23 02:29 AM
5.3.1
211kB
Irniben
10/24/23 11:37 AM
5.3.0
218kB
Irniben
10/05/23 12:08 PM
5.2.0
195kB
Irniben
04/28/23 03:09 AM
5.1.3
192kB
Irniben
04/19/23 01:35 PM
5.1.2
192kB
Irniben
04/05/23 01:00 PM
5.1.1
192kB
Irniben
03/30/23 01:47 PM
5.1.0
192kB
Irniben
03/29/23 11:49 AM
5.0.3
186kB
Irniben
03/21/23 12:30 AM
5.0.2
186kB
Irniben
03/14/23 07:20 AM
5.0.1
186kB
Irniben
03/12/23 05:35 AM
4.2.9
162kB
Irniben
01/18/23 03:27 AM
4.2.8
162kB
Irniben
12/13/22 02:15 PM
4.2.7
162kB
Irniben
11/29/22 01:46 PM
4.2.6
162kB
Irniben
11/18/22 01:11 PM
4.2.5
159kB
Irniben
11/08/22 03:06 PM
4.2.4
156kB
Irniben
10/18/22 01:19 PM
4.2.4
155kB
Irniben
10/16/22 02:15 PM
4.2.2
153kB
Irniben
10/16/22 03:02 AM
4.2.1
150kB
Irniben
10/13/22 12:13 PM
4.2.0
149kB
Irniben
10/12/22 12:44 PM
4.1.12
146kB
Irniben
10/05/22 12:12 PM
4.1.11
146kB
Irniben
10/01/22 01:07 PM
4.1.10
146kB
Irniben
09/18/22 09:00 AM
4.1.9
146kB
Irniben
08/27/22 12:24 PM
4.1.8
146kB
Irniben
08/22/22 12:26 PM
4.1.7
146kB
Irniben
08/09/22 01:23 PM
4.1.6
145kB
Irniben
06/13/22 12:27 PM
4.1.5
145kB
Irniben
06/06/22 12:30 AM
4.1.4
142kB
Irniben
03/22/22 03:36 PM
4.1.3
142kB
Irniben
03/22/22 12:47 PM
4.1.2
142kB
Irniben
03/22/22 10:24 AM
4.1.1
142kB
Irniben
03/22/22 05:29 AM
4.0.1
143kB
Irniben
03/10/22 01:37 AM
4.0.0
142kB
Irniben
03/09/22 12:52 PM
3.4.0
120kB
Irniben
01/06/22 08:09 AM
3.3.0
120kB
Irniben
11/21/21 07:29 AM
3.2.0
118kB
Irniben
11/14/21 06:26 AM
3.1.2
117kB
Irniben
11/04/21 01:44 PM
3.1.1
117kB
Irniben
11/03/21 12:27 AM
3.1.0
117kB
Irniben
11/02/21 11:36 PM
3.0.3
117kB
Irniben
09/13/21 11:03 AM
3.0.2
115kB
Irniben
09/12/21 01:40 AM
3.0.1
115kB
Irniben
09/10/21 09:02 AM
3.0.1
115kB
Irniben
09/05/21 09:57 AM
2.3.0
113kB
Irniben
08/05/21 02:23 PM
2.2.0
107kB
Irniben
07/30/21 12:25 PM
2.1.1
105kB
Irniben
06/01/21 10:33 AM
2.1.0
105kB
Irniben
05/30/21 12:03 PM
2.0.5
105kB
Irniben
04/26/21 01:12 PM
2.0.4
105kB
Irniben
04/25/21 08:20 AM
2.0.3
105kB
Irniben
04/15/21 03:45 PM
2.0.2
105kB
Irniben
04/09/21 11:09 AM
2.0.1
105kB
Irniben
04/06/21 05:10 AM
2.0.0
105kB
Irniben
04/05/21 10:02 AM
1.7.2
101kB
Irniben
03/29/21 11:02 AM
1.7.1
100kB
Irniben
03/22/21 11:36 AM
1.7.0
91kB
Irniben
03/20/21 03:34 AM
1.6.5
86kB
Irniben
03/13/21 11:21 AM
1.6.4
83kB
Irniben
03/11/21 04:17 PM
1.6.3
82kB
Irniben
03/11/21 11:24 AM
1.6.2
82kB
Irniben
03/10/21 09:51 AM
1.6.1
80kB
Irniben
03/09/21 04:05 PM
1.6.0
80kB
Irniben
03/09/21 06:52 AM
1.5.6
71kB
Irniben
03/08/21 04:51 PM
1.5.5
71kB
Irniben
03/08/21 10:19 AM
1.5.4
70kB
Irniben
03/08/21 09:05 AM
1.5.4
70kB
Irniben
03/08/21 06:15 AM
1.5.2
70kB
Irniben
03/07/21 10:40 AM
1.5.1
70kB
Irniben
03/07/21 05:37 AM
1.5.0
70kB
Irniben
03/04/21 12:14 PM
1.4.4
62kB
Irniben
02/26/21 08:09 AM
1.4.3
60kB
Irniben
02/24/21 08:28 AM
1.4.2
58kB
Irniben
02/22/21 12:30 PM
1.4.1
58kB
Irniben
02/21/21 03:34 PM
1.4.0
58kB
Irniben
02/21/21 09:13 AM
1.3.3
52kB
Irniben
02/18/21 02:28 PM
1.3.2
52kB
Irniben
02/18/21 09:41 AM
1.3.1
39kB
Irniben
02/16/21 03:51 PM
1.3.0
38kB
Irniben
02/06/21 12:49 PM
1.2.1
34kB
Irniben
02/03/21 04:37 PM
1.2.0
34kB
Irniben
02/03/21 05:30 AM
1.1.1
18kB
Irniben
01/24/21 01:25 PM
1.1.0
18kB
Irniben
01/24/21 10:02 AM
1.0.0
17kB
Irniben
01/22/21 02:02 PM
0.9.3
15kB
Irniben
01/17/21 04:43 PM
0.9.2
15kB
Irniben
01/17/21 02:19 PM
0.9
13kB
01/16/21 02:22 PM


Post A Reply Comment Options
Unread 01/16/21, 04:39 PM  
silvereyes
 
silvereyes's Avatar
AddOn Author - Click to view AddOns

Forum posts: 66
File comments: 384
Uploads: 17
Great idea!

I was just thinking about how great it would be to have an addon like this for Update 29. Thanks so much for putting in the work! It looks really great!
Report comment to moderator  
Reply With Quote
Unread 01/17/21, 05:53 AM  
iskip

Forum posts: 0
File comments: 3
Uploads: 0
Plattform PC
Das Speicher Item und Lade Item sieht man nicht.

Wo werden die Daten gespeichert? Kann man die Daten einsehen?
Report comment to moderator  
Reply With Quote
Unread 01/17/21, 07:56 AM  
Irniben
 
Irniben's Avatar
AddOn Author - Click to view AddOns

Forum posts: 6
File comments: 129
Uploads: 13
Originally Posted by iskip
Plattform PC
Das Speicher Item und Lade Item sieht man nicht.

Wo werden die Daten gespeichert? Kann man die Daten einsehen?
German answer: Die beiden Symbole fehlen ggf. aufgrund eines Problems mit dem Texture-Cache von Eso. Sie sollten aber auch unsichtbar anklickbar sein (Tooltip sollte erscheinen, wenn du mit der Maus darüber fährst). In der kommenden Version (heute irgendwann...) ersetze ich die beiden Icons durch Eso-interne Symbole um dieses Problem zu beheben. Die Daten werden wie bei allen Addons in der entsprechenden SavedVariables-Datei gespeichert. Format der Skills ist Typ-Linie-Skill-Morph (bzw. Typ-Linie-Skill-Rang für Passive).

English answer: because some people have problems seeing the custom icons for load/save I will go back to eso internal icons for that on the next version.
All data is stored in the saved variables file. Active skills are stored as type-line-skill-morph, passive skills are stored as type-line-skill-rank).
Report comment to moderator  
Reply With Quote
Unread 01/17/21, 11:49 AM  
Baertram
Super Moderator
 
Baertram's Avatar
ESOUI Super Moderator
AddOn Author - Click to view AddOns

Forum posts: 4912
File comments: 5988
Uploads: 78
Originally Posted by iskip
Plattform PC
Das Speicher Item und Lade Item sieht man nicht.

Wo werden die Daten gespeichert? Kann man die Daten einsehen?
SavedVariables Info -> How to find the file of an addon:
https://www.esoui.com/forums/showthread.php?t=9235

Textures missing:
Logout and close the game client!
Find the folder of your addons (described here: https://www.esoui.com/forums/faq.php..._howto_install)
Switch from the folder "live/AddOns" to only "live/".
Find the file "shader_cache.cooked" and delete it.
Start the client, login -> The file will be rebuild. Means the cache is build and your first login takes a bit longer now.

The missing textures of addons should be shown now.
If not: If you see a white placeholder the texture path was wrong in the addon and needs to be fixed. If it's invisible the texture might be broken/wrong size/format.

Ich übersetze das nicht in's Deutsche, hoffe ihr versteht English. Falls nicht, bitte hiermit einfach übersetzen:
https://translate.google.de/
Last edited by Baertram : 01/17/21 at 11:50 AM.
Report comment to moderator  
Reply With Quote
Unread 01/17/21, 02:52 PM  
Baertram
Super Moderator
 
Baertram's Avatar
ESOUI Super Moderator
AddOn Author - Click to view AddOns

Forum posts: 4912
File comments: 5988
Uploads: 78
Hey Caro,

please do NOT save the skills with the character "name" but the unique characterID! This will make it character rename safe.
use ZO_SavedVars:NewCharacterIdSettings to save them with the ZO_SavedVars wrapper.

Many thanks for supporting this now. Always a mess to change that many weeks later as SV are already built for all players.
As you work on the SV (from your mentioned bug with the language change) I recommand implementing this now as well.

Code:
GetCurrentCharacterid()
returns this uniqueId, or this function also provides it for all the characters of your logged in account:
Lua Code:
  1. local charsOfAccount = {}
  2. local function getCharsOfAccount()
  3.         --Get all of the characters/toons
  4.         for i = 1, GetNumCharacters() do
  5.             --Get name and unique id
  6.             -- @return name string,gender [Gender|#Gender],level integer,classId integer,raceId integer,alliance [Alliance|#Alliance],id string,locationId integer
  7.             local charName, _, _, classId, _, _, characterId, _ = GetCharacterInfo(i)
  8.             --Format the name
  9.             charName = ZO_CachedStrFormat(SI_UNIT_NAME, charName)
  10.             charsOfAccount[characterId] = charName
  11.        end
  12. end

You could even migrate the SVs from the name to the uniqueIds manually this way by using the table directly:

Lua Code:
  1. local accountName = GetDisplayName()
  2. local currentCharName = zo_strformat(SI_UNIT_NAME, GetUnitName("player"))
  3. local currentCharId = GetCurrentCharacterId()
  4.  
  5. local copyFrom = CSPSSavedVariables["Default"][accountName][currentCharName]
  6. CSPSSavedVariables["Default"][accountName][currentCharId] = {}
  7. ZO_ShallowTableCopy(copyFrom, CSPSSavedVariables["Default"][accountName][currentCharId])
  8. CSPSSavedVariables["Default"][accountName][currentCharId]["$LastCharacterName"] = currentCharName

Use ReloadUI("ingame") after that to save the SVs to the disk and then you'd be able to nil the old contents with the character name key.

Originally Posted by Baertram
Originally Posted by iskip
Plattform PC
Das Speicher Item und Lade Item sieht man nicht.

Wo werden die Daten gespeichert? Kann man die Daten einsehen?
SavedVariables Info -> How to find the file of an addon:
https://www.esoui.com/forums/showthread.php?t=9235

Textures missing:
Logout and close the game client!
Find the folder of your addons (described here: https://www.esoui.com/forums/faq.php..._howto_install)
Switch from the folder "live/AddOns" to only "live/".
Find the file "shader_cache.cooked" and delete it.
Start the client, login -> The file will be rebuild. Means the cache is build and your first login takes a bit longer now.

The missing textures of addons should be shown now.
If not: If you see a white placeholder the texture path was wrong in the addon and needs to be fixed. If it's invisible the texture might be broken/wrong size/format.

Ich übersetze das nicht in's Deutsche, hoffe ihr versteht English. Falls nicht, bitte hiermit einfach übersetzen:
https://translate.google.de/
Last edited by Baertram : 01/17/21 at 02:55 PM.
Report comment to moderator  
Reply With Quote
Unread 01/17/21, 03:24 PM  
Irniben
 
Irniben's Avatar
AddOn Author - Click to view AddOns

Forum posts: 6
File comments: 129
Uploads: 13
Originally Posted by Baertram
Hey Caro,

please do NOT save the skills with the character "name" but the unique characterID! This will make it character rename safe.
use ZO_SavedVars:NewCharacterIdSettings to save them with the ZO_SavedVars wrapper.

Many thanks for supporting this now. Always a mess to change that many weeks later as SV are already built for all players.
As you work on the SV (from your mentioned bug with the language change) I recommand implementing this now as well.

Code:
GetCurrentCharacterid()
returns this uniqueId, or this function also provides it for all the characters of your logged in account:
Lua Code:
  1. local charsOfAccount = {}
  2. local function getCharsOfAccount()
  3.         --Get all of the characters/toons
  4.         for i = 1, GetNumCharacters() do
  5.             --Get name and unique id
  6.             -- @return name string,gender [Gender|#Gender],level integer,classId integer,raceId integer,alliance [Alliance|#Alliance],id string,locationId integer
  7.             local charName, _, _, classId, _, _, characterId, _ = GetCharacterInfo(i)
  8.             --Format the name
  9.             charName = ZO_CachedStrFormat(SI_UNIT_NAME, charName)
  10.             charsOfAccount[characterId] = charName
  11.        end
  12. end

You could even migrate the SVs from the name to the uniqueIds manually this way by using the table directly:

Lua Code:
  1. local accountName = GetDisplayName()
  2. local currentCharName = zo_strformat(SI_UNIT_NAME, GetUnitName("player"))
  3. local currentCharId = GetCurrentCharacterId()
  4.  
  5. local copyFrom = CSPSSavedVariables["Default"][accountName][currentCharName]
  6. CSPSSavedVariables["Default"][accountName][currentCharId] = {}
  7. ZO_ShallowTableCopy(copyFrom, CSPSSavedVariables["Default"][accountName][currentCharId])
  8. CSPSSavedVariables["Default"][accountName][currentCharId]["$LastCharacterName"] = currentCharName

Use ReloadUI("ingame") after that to save the SVs to the disk and then you'd be able to nil the old contents with the character name key.

Originally Posted by Baertram
Originally Posted by iskip
Plattform PC
Das Speicher Item und Lade Item sieht man nicht.

Wo werden die Daten gespeichert? Kann man die Daten einsehen?
SavedVariables Info -> How to find the file of an addon:
https://www.esoui.com/forums/showthread.php?t=9235

Textures missing:
Logout and close the game client!
Find the folder of your addons (described here: https://www.esoui.com/forums/faq.php..._howto_install)
Switch from the folder "live/AddOns" to only "live/".
Find the file "shader_cache.cooked" and delete it.
Start the client, login -> The file will be rebuild. Means the cache is build and your first login takes a bit longer now.

The missing textures of addons should be shown now.
If not: If you see a white placeholder the texture path was wrong in the addon and needs to be fixed. If it's invisible the texture might be broken/wrong size/format.

Ich übersetze das nicht in's Deutsche, hoffe ihr versteht English. Falls nicht, bitte hiermit einfach übersetzen:
https://translate.google.de/
Hey, thanks for the tip - I will look into it for the next update!
Report comment to moderator  
Reply With Quote
Unread 01/17/21, 03:40 PM  
Baertram
Super Moderator
 
Baertram's Avatar
ESOUI Super Moderator
AddOn Author - Click to view AddOns

Forum posts: 4912
File comments: 5988
Uploads: 78
Just a hint as I had the same problems in the past:
For the first load of the addon as the migration should be done get your SV the same way you did as before via ZO_SavedVars:New e.g. to get the character "name" dependent saved settings.
Lad your SV file to a local table "settings" e.g., then settings will point to "CSPSSavedVariables["Default"][accountName][currentCharName]".

If you want to add stuff to that table (like the new key for the unique characterID, instead of currentCharName) directly changing the table
"settings" and doing a reloadui afterwards should work, you only need to set a flag like "wasMigrated = true" as well to the settings table.

In your addon's event_add_on_loaded, just get the settings the same way again.
Check for the variable settings.wasMigrated == true. If this is the case:
Do the ZO_ShallowTableCopy of settings to a new table called e.g. "oldSettingsAsDefault".
Use ZO_SavedVars:NewCharacterIdSettings entry now and use the new created SV subtable "oldSettingsAsDefault"
as default parameter so that the old values are used as default for the new characterId settings.
-> Default is the 3rd parameter of the ZO_SavedVars:New.... functions where you define a table containing the default values for the first load.

This will pass in the old values from the character name as new values for the characterId.

Make sure if settings.wasMigrated == true there won't be loaded any SV anymore with the old characterName via ZO_SavedVars:New! Else you will end with 2 savedvars tables, 1 old with the charNames and 1 new with the charUniqueIds.

One day in the future you could clean up the code then, increase the SV version number (which will reset the SV for all users!!!) and only safe it the proper way then. Or you do this now before the update, would be even easier. The users just would need to resave their profiles then but well, tthis is done quickly imo.



Originally Posted by Irniben
Originally Posted by Baertram
Hey Caro,

please do NOT save the skills with the character "name" but the unique characterID! This will make it character rename safe.
use ZO_SavedVars:NewCharacterIdSettings to save them with the ZO_SavedVars wrapper.

Many thanks for supporting this now. Always a mess to change that many weeks later as SV are already built for all players.
As you work on the SV (from your mentioned bug with the language change) I recommand implementing this now as well.

Code:
GetCurrentCharacterid()
returns this uniqueId, or this function also provides it for all the characters of your logged in account:
Lua Code:
  1. local charsOfAccount = {}
  2. local function getCharsOfAccount()
  3.         --Get all of the characters/toons
  4.         for i = 1, GetNumCharacters() do
  5.             --Get name and unique id
  6.             -- @return name string,gender [Gender|#Gender],level integer,classId integer,raceId integer,alliance [Alliance|#Alliance],id string,locationId integer
  7.             local charName, _, _, classId, _, _, characterId, _ = GetCharacterInfo(i)
  8.             --Format the name
  9.             charName = ZO_CachedStrFormat(SI_UNIT_NAME, charName)
  10.             charsOfAccount[characterId] = charName
  11.        end
  12. end

You could even migrate the SVs from the name to the uniqueIds manually this way by using the table directly:

Lua Code:
  1. local accountName = GetDisplayName()
  2. local currentCharName = zo_strformat(SI_UNIT_NAME, GetUnitName("player"))
  3. local currentCharId = GetCurrentCharacterId()
  4.  
  5. local copyFrom = CSPSSavedVariables["Default"][accountName][currentCharName]
  6. CSPSSavedVariables["Default"][accountName][currentCharId] = {}
  7. ZO_ShallowTableCopy(copyFrom, CSPSSavedVariables["Default"][accountName][currentCharId])
  8. CSPSSavedVariables["Default"][accountName][currentCharId]["$LastCharacterName"] = currentCharName

Use ReloadUI("ingame") after that to save the SVs to the disk and then you'd be able to nil the old contents with the character name key.

Originally Posted by Baertram
Originally Posted by iskip
Plattform PC
Das Speicher Item und Lade Item sieht man nicht.

Wo werden die Daten gespeichert? Kann man die Daten einsehen?
SavedVariables Info -> How to find the file of an addon:
https://www.esoui.com/forums/showthread.php?t=9235

Textures missing:
Logout and close the game client!
Find the folder of your addons (described here: https://www.esoui.com/forums/faq.php..._howto_install)
Switch from the folder "live/AddOns" to only "live/".
Find the file "shader_cache.cooked" and delete it.
Start the client, login -> The file will be rebuild. Means the cache is build and your first login takes a bit longer now.

The missing textures of addons should be shown now.
If not: If you see a white placeholder the texture path was wrong in the addon and needs to be fixed. If it's invisible the texture might be broken/wrong size/format.

Ich übersetze das nicht in's Deutsche, hoffe ihr versteht English. Falls nicht, bitte hiermit einfach übersetzen:
https://translate.google.de/
Hey, thanks for the tip - I will look into it for the next update!
Last edited by Baertram : 01/17/21 at 03:49 PM.
Report comment to moderator  
Reply With Quote
Unread 01/17/21, 04:16 PM  
DewiMorgan
 
DewiMorgan's Avatar
AddOn Author - Click to view AddOns

Forum posts: 14
File comments: 81
Uploads: 1
That was quick! I guess I'll stop working on my own version of this addon now.
https://github.com/DewiMorgan/BackupRespec is what I had done so far: only backup, no restore yet

I clicked the "Load Saved Skills" button before "Read Current Skills", and got:

user:/AddOns/CarosSkillPointSaver/CarosSkillPointSaver.lua:644: attempt to index a nil value
stack traceback:
user:/AddOns/CarosSkillPointSaver/CarosSkillPointSaver.lua:644: in function 'CSPS.skillungLaden'
CSPSWindowSkillungLaden_Clicked:2: in function '(main chunk)'
|caaaaaa<Locals> self = ud, button = 1, ctrl = F, alt = F, shift = F, command = F </Locals>|r
Report comment to moderator  
Reply With Quote
Unread 01/17/21, 04:36 PM  
Baertram
Super Moderator
 
Baertram's Avatar
ESOUI Super Moderator
AddOn Author - Click to view AddOns

Forum posts: 4912
File comments: 5988
Uploads: 78
Same error message for me.
CSPS.skillWerteClean (means CSPS.savedVariables.werte) seems to be nil

I'd just check for CSPS.savedVariables.werte ~= nil and disable the load button if this is the case.

Originally Posted by DewiMorgan
That was quick! I guess I'll stop working on my own version of this addon now.
https://github.com/DewiMorgan/BackupRespec is what I had done so far: only backup, no restore yet

I clicked the "Load Saved Skills" button before "Read Current Skills", and got:

user:/AddOns/CarosSkillPointSaver/CarosSkillPointSaver.lua:644: attempt to index a nil value
stack traceback:
user:/AddOns/CarosSkillPointSaver/CarosSkillPointSaver.lua:644: in function 'CSPS.skillungLaden'
CSPSWindowSkillungLaden_Clicked:2: in function '(main chunk)'
|caaaaaa<Locals> self = ud, button = 1, ctrl = F, alt = F, shift = F, command = F </Locals>|r
Report comment to moderator  
Reply With Quote
Unread 01/17/21, 04:45 PM  
Irniben
 
Irniben's Avatar
AddOn Author - Click to view AddOns

Forum posts: 6
File comments: 129
Uploads: 13
Originally Posted by Baertram
Same error message for me.
CSPS.skillWerteClean (means CSPS.savedVariables.werte) seems to be nil

I'd just check for CSPS.savedVariables.werte ~= nil and disable the load button if this is the case.

Originally Posted by DewiMorgan
That was quick! I guess I'll stop working on my own version of this addon now.
https://github.com/DewiMorgan/BackupRespec is what I had done so far: only backup, no restore yet

I clicked the "Load Saved Skills" button before "Read Current Skills", and got:

user:/AddOns/CarosSkillPointSaver/CarosSkillPointSaver.lua:644: attempt to index a nil value
stack traceback:
user:/AddOns/CarosSkillPointSaver/CarosSkillPointSaver.lua:644: in function 'CSPS.skillungLaden'
CSPSWindowSkillungLaden_Clicked:2: in function '(main chunk)'
|caaaaaa<Locals> self = ud, button = 1, ctrl = F, alt = F, shift = F, command = F </Locals>|r
Ok, your solution would have been more elegant - I just added an error message to the chat window saying "No stored data yet." - at least no UI error. Thanks to both of you.
Report comment to moderator  
Reply With Quote
Unread 01/17/21, 05:26 PM  
Baertram
Super Moderator
 
Baertram's Avatar
ESOUI Super Moderator
AddOn Author - Click to view AddOns

Forum posts: 4912
File comments: 5988
Uploads: 78
One more thing: You do not use
Code:
IsUnitChampion("player")
to check if CP ranks are enabled already. Could be the first char below lvl 50.
Maybe this makes no difference for your save methods but I'd use it as a security check beore any CP vaues are tried to be read or saved wher enot possible!
Especially for the "restore"!
Last edited by Baertram : 01/17/21 at 06:54 PM.
Report comment to moderator  
Reply With Quote
Unread 01/18/21, 07:28 AM  
Irniben
 
Irniben's Avatar
AddOn Author - Click to view AddOns

Forum posts: 6
File comments: 129
Uploads: 13
Just to make sure that I'm doing it right - this is what I came up with from your suggestions, Baertram:

In my init-function I'm loading the account wide savedvariables and check them to see if a migration has been done before.

Code:
CSPS.savedVariablesA = ZO_SavedVars:NewAccountWide("CSPSSavedVariables", 1, nil, {}) 
if CSPS.savedVariablesA.wasMigrated ~= true then migrate() end
CSPS.savedVariables = ZO_SavedVars:NewCharacterIdSettings("CSPSSavedVariables", 1, nil, {})
If the data hasn't been migrated, I call a function to do that, creating copies of all my chars that have been saved by name, transferring them to their ids.

Code:
local function migrate()
	d("Migrating the SV-Data from Charnames to Char-IDs")
	local accountName = GetDisplayName()
	local currentCharName = zo_strformat(SI_UNIT_NAME, GetUnitName("player"))
	local currentCharId = GetCurrentCharacterId()
 
        --Get all of the characters/toons, then migrate their Variables if they have any
        for i = 1, GetNumCharacters() do
        	--Get name and unique id
        	-- @return name string,gender [Gender|#Gender],level integer,classId integer,raceId integer,alliance [Alliance|#Alliance],id string,locationId integer
		local charName, _, _, classId, _, _, characterId, _ = GetCharacterInfo(i)
		--Format the name
		charName = ZO_CachedStrFormat(SI_UNIT_NAME, charName)
			
		if CSPSSavedVariables["Default"][accountName][charName] ~= nil then
			d("Kopiere Charakterdaten: "..charName.." -> "..characterId)
			local copyFrom = CSPSSavedVariables["Default"][accountName][charName]
			CSPSSavedVariables["Default"][accountName][characterId] = {}
			ZO_ShallowTableCopy(copyFrom, CSPSSavedVariables["Default"][accountName][characterId])
			CSPSSavedVariables["Default"][accountName][characterId]["$LastCharacterName"] = charName
			CSPSSavedVariables["Default"][accountName][charName] = nil
		end
	end
	CSPS.savedVariablesA.wasMigrated = true
	d("Done migrating.")
end
After this is done the init function continues and the saved variables for the current character are loaded by ID. This procedure should be called once per account and delete all duplicates in the process. Or am I missing something?

Btw. the IsUnitChampion("player") will return false, if the current char is below lvl 50, even if the player has already reached CP and points are active. I guess I will use GetPlayerChampionPointsEarned() instead (which will be > 0 if CPs are active, even if the char hasn't reached CP yet).
Last edited by Irniben : 01/18/21 at 07:32 AM.
Report comment to moderator  
Reply With Quote
Unread 01/18/21, 09:19 AM  
Aurrynthea Drake

Forum posts: 0
File comments: 2
Uploads: 0
What am I doing wrong?

I am a bit worried that after logging off the previous day when I logged on again the following day the addon did not have any saved info even tho I know I saved the profile.

I am trying to save 3 profiles for 3 different characters - is this designed for single characters only or will it save for each character?
Report comment to moderator  
Reply With Quote
Unread 01/18/21, 10:14 AM  
Baertram
Super Moderator
 
Baertram's Avatar
ESOUI Super Moderator
AddOn Author - Click to view AddOns

Forum posts: 4912
File comments: 5988
Uploads: 78
I've send you a PM, thanks.
From what I can see here this could work, yes.
Important as well: If you migratethe SavedVards to characterId ALSO add the server dependency at the same tim or you need to migrate that another time as well as someone asks for it.

Just add, as 2nd last parameter "profile" of ZO_SavedVars:NewAccountWide and ZO_SavedVars:NewCharacterIdSettings the value GetWorldName()
e.g. local worldName = GetWorldName()
If you then specify it like this:
Lua Code:
  1. local svName= "CSPSSavedVariables"
  2. local svVersion = 1
  3. local worldName = GetWorldName()
  4. local defaults = {}
  5.  
  6. --ZO_SavedVars:New ...            (savedVariableTable, version, namespace, defaults, profile, displayName)
  7. ZO_SavedVars:NewAccountWide(svName, svVersion , nil, defaults, worldName, nil)
  8. ZO_SavedVars:NewCharacterIdSettings (svName, svVersion , nil, defaults, worldName, nil)

The SV will provide a subtable named like the server, so you are able to differ the addon settings AND the character settings per server.
The characterId will be unique per server so it might eb that you got the same Ids on 2 servers, which would overwrite them in your SV.
Most unlikely for the same account but it could happen.

For your migration routines be sure to add the GetWorldName() behind the namespace "Default".
CSPSSavedVariables["Default"][worldName][accountName]...

Originally Posted by Irniben
Just to make sure that I'm doing it right - this is what I came up with from your suggestions, Baertram:

In my init-function I'm loading the account wide savedvariables and check them to see if a migration has been done before.

Code:
CSPS.savedVariablesA = ZO_SavedVars:NewAccountWide("CSPSSavedVariables", 1, nil, {}) 
if CSPS.savedVariablesA.wasMigrated ~= true then migrate() end
CSPS.savedVariables = ZO_SavedVars:NewCharacterIdSettings("CSPSSavedVariables", 1, nil, {})
If the data hasn't been migrated, I call a function to do that, creating copies of all my chars that have been saved by name, transferring them to their ids.

Code:
local function migrate()
	d("Migrating the SV-Data from Charnames to Char-IDs")
	local accountName = GetDisplayName()
	local currentCharName = zo_strformat(SI_UNIT_NAME, GetUnitName("player"))
	local currentCharId = GetCurrentCharacterId()
 
        --Get all of the characters/toons, then migrate their Variables if they have any
        for i = 1, GetNumCharacters() do
        	--Get name and unique id
        	-- @return name string,gender [Gender|#Gender],level integer,classId integer,raceId integer,alliance [Alliance|#Alliance],id string,locationId integer
		local charName, _, _, classId, _, _, characterId, _ = GetCharacterInfo(i)
		--Format the name
		charName = ZO_CachedStrFormat(SI_UNIT_NAME, charName)
			
		if CSPSSavedVariables["Default"][accountName][charName] ~= nil then
			d("Kopiere Charakterdaten: "..charName.." -> "..characterId)
			local copyFrom = CSPSSavedVariables["Default"][accountName][charName]
			CSPSSavedVariables["Default"][accountName][characterId] = {}
			ZO_ShallowTableCopy(copyFrom, CSPSSavedVariables["Default"][accountName][characterId])
			CSPSSavedVariables["Default"][accountName][characterId]["$LastCharacterName"] = charName
			CSPSSavedVariables["Default"][accountName][charName] = nil
		end
	end
	CSPS.savedVariablesA.wasMigrated = true
	d("Done migrating.")
end
After this is done the init function continues and the saved variables for the current character are loaded by ID. This procedure should be called once per account and delete all duplicates in the process. Or am I missing something?

Btw. the IsUnitChampion("player") will return false, if the current char is below lvl 50, even if the player has already reached CP and points are active. I guess I will use GetPlayerChampionPointsEarned() instead (which will be > 0 if CPs are active, even if the char hasn't reached CP yet).
Last edited by Baertram : 01/18/21 at 11:22 AM.
Report comment to moderator  
Reply With Quote
Unread 01/18/21, 10:16 AM  
Baertram
Super Moderator
 
Baertram's Avatar
ESOUI Super Moderator
AddOn Author - Click to view AddOns

Forum posts: 4912
File comments: 5988
Uploads: 78
Re: What am I doing wrong?

Originally Posted by Aurrynthea Drake
I am a bit worried that after logging off the previous day when I logged on again the following day the addon did not have any saved info even tho I know I saved the profile.

I am trying to save 3 profiles for 3 different characters - is this designed for single characters only or will it save for each character?
Each character needs to be logged in seperately and use the slash command /csps

Login with char1
Type /csps in the chat edit box and press return
Check the CP checkbox if you want to save CPs as well.
Press Feresh skills.
Press save button.
Logout.
Repeat with all other chars.

It had worked fine with the most up2date version of the addon (make sure to update!) for 18 chars of mine.
Maybe the SavedVariables data has changed between your save, then you had updated the addon, and loaded it with a newer version.
Not sure if there was a bug but something was mentioned in the changelog about the language change of the client e.g.

btw: if you had clicked the "Load" button and got an error message (with the version before the current one) it did not save the data properly afterwards. Error measn -> Addon is most likely broken until you do a /reloadui ingame. The same as with every addon.
Last edited by Baertram : 01/18/21 at 10:19 AM.
Report comment to moderator  
Reply With Quote
Post A Reply



Category Jump: