Thread Tools Display Modes
06/25/14, 11:02 PM   #1
Xrystal
caritas omnia vincit
 
Xrystal's Avatar
Premium Member
AddOn Author - Click to view addons
Join Date: Feb 2014
Posts: 369
I think I may consider this option when I rewrite the saved variable layout in version 2 of my gatherer.
  Reply With Quote
06/26/14, 07:53 AM   #2
SkOODaT
 
SkOODaT's Avatar
AddOn Author - Click to view addons
Join Date: Mar 2014
Posts: 58
It's funny how everyone is like this happen b4 it's going to fix itself on the main forums, everyone is in the dark as to what's going on no official post bout the saved vars bug lol the PTS is still uesing account names too everything is inconsistent lol
  Reply With Quote
06/26/14, 11:07 AM   #3
TheBelgarion
AddOn Author - Click to view addons
Join Date: Apr 2014
Posts: 13
1.2.3.

just checked after i did not have any setting on my addons.

But did not found any addons saved files with the "" they still have the @AccountName ...

ok found some [""] =

That I did was Search&Replace

[""] = to ["@OTHER"] = ( to get rid of some setting which might have been saved )
["@Account"] = to [""] = ( to get my old setting )

(used TextCrawler to do that on all saved Files)

PLEASE BACKUP YOUR FILES BEFORE THAT!

Last edited by TheBelgarion : 06/26/14 at 11:32 AM.
  Reply With Quote
06/26/14, 01:18 PM   #4
Seerah
Fishing Trainer
 
Seerah's Avatar
WoWInterface Super Mod
AddOn Author - Click to view addons
Join Date: Feb 2014
Posts: 648
Just noting another bug, though not so game-breaking...

Since hiding the lock icon on tooltips and switching to text for enchantment locks, the game incorrectly reports all items as not being locked. The 5th return from GetItemInfo returns false and the locked field in the data table on an inventory slot has false as well.
  Reply With Quote
06/26/14, 01:41 PM   #5
GrfxGawd
 
GrfxGawd's Avatar
AddOn Author - Click to view addons
Join Date: May 2014
Posts: 11
If this was a "bug", as it has been so generously monikered, ZOS has had a great many hours to announce and make apology for the accidental disruption and deletion of data caused by their programming error, the User Account "" error. Nothing has been said.

This was no accidental oversight on the part of Zenimax. The "@nothingHereNow" combined with the borderline draconian additional TOS along with no API being delivered and utter and complete disregard of of basic industry standard of deprecation of functions (and more) - this wasn't an accident. At best, you can call it massive systemic corporate incompetence, but I think that's just playing the part of the naive apologist.

Now, lest someone says "You should worry about fixing a problem and not waste our space - blah blah blah" - Accurately assessing the origin of a failure is an extremely crucial part of systemically isolating both the chain of events, and where/how errors were induced before you can begin to formulate methodologies to mitigate what's wrong now, and implement solutions to help prevent future failures.
  Reply With Quote
06/26/14, 02:06 PM   #6
zgrssd
AddOn Author - Click to view addons
Join Date: May 2014
Posts: 280
Just some news: Apparently this is part of the currently know issues, so it is a confirmed bug:
http://forums.elderscrollsonline.com...nown-issues/p1
The last entiry on the list reads:
Addon Settings: The add-on settings currently are not working as intended.
STATUS: Currently investigating.
  Reply With Quote
06/26/14, 02:09 PM   #7
GrfxGawd
 
GrfxGawd's Avatar
AddOn Author - Click to view addons
Join Date: May 2014
Posts: 11
Originally Posted by zgrssd View Post
Just some news: Apparently this is part of the currently know issues, so it is a confirmed bug:
http://forums.elderscrollsonline.com...nown-issues/p1
The last entiry on the list reads:
Too little much too late.

Last edited by GrfxGawd : 06/27/14 at 07:51 PM. Reason: removed my snarky comment, it was out of line
  Reply With Quote
06/26/14, 04:59 PM   #8
zgrssd
AddOn Author - Click to view addons
Join Date: May 2014
Posts: 280
Originally Posted by GrfxGawd View Post
Too little much too late.
As a real programmer, I really thought you'd be much too smart for this.
I know I am a awesome programmer, even if I have to learn lua a lot more.

And as such the first thing I understand is that if I were in thier situation I would have made the same or a similary serious mistake.
They don't have to appologize. They don't have to explain.
They are just fallible humans like I am. And stuff like this just happens with big updates in something that has the complexity of a MMO.
  Reply With Quote
06/26/14, 08:08 PM   #9
GrfxGawd
 
GrfxGawd's Avatar
AddOn Author - Click to view addons
Join Date: May 2014
Posts: 11
Originally Posted by zgrssd View Post
I know I am a awesome programmer, even if I have to learn lua a lot more.

And as such the first thing I understand is that if I were in thier situation I would have made the same or a similary serious mistake.
They don't have to appologize. They don't have to explain.
They are just fallible humans like I am. And stuff like this just happens with big updates in something that has the complexity of a MMO.
That was childish of me. I threw back the second comment you ever made interacting with me. But I'm moving on from that, and I'm not doing that with you anymore. Regardless of how wide apart our feelings and ideas may be on however many subjects there is one commonality we share - we're both here to help support a community and a game we care about.
  Reply With Quote
06/26/14, 04:22 PM   #10
Sephiroth018
 
Sephiroth018's Avatar
AddOn Author - Click to view addons
Join Date: Apr 2014
Posts: 20
Originally Posted by GrfxGawd View Post
This was no accidental oversight on the part of Zenimax. The "@nothingHereNow" combined with the borderline draconian additional TOS along with no API being delivered and utter and complete disregard of of basic industry standard of deprecation of functions (and more) - this wasn't an accident. At best, you can call it massive systemic corporate incompetence, but I think that's just playing the part of the naive apologist.
/signed

Also, normally you would have such nice little things called unit tests and integration tests, which would have shown at least that issue, as it happens for everyone. And if they have a professional build environment (which I really hope they have, anything else would be highly unprofessional), it also wouldn't matter that it was not happening on PTS, as the final build that went live would also have it's automatic tests executed and would only show up as broken build because of failed tests.
I really don't understand how something like that can happen.
  Reply With Quote
06/26/14, 07:56 PM   #11
mctaylor
 
mctaylor's Avatar
AddOn Author - Click to view addons
Join Date: Mar 2014
Posts: 21
Wish upon a star

Originally Posted by Sephiroth018 View Post
...normally you would have such nice little things called unit tests and integration tests...
Look, ZeniMax Online Studios - Job listings

Including Build & Release Engineer

and oddly a Producer

I guess they ran out of monkeys.

I didn't know my vanity pet was rescued from the ZOS dungeons of development and customer support. Makes me feel good to know that I fostered a code-slinging monkey that was rescued from a digital dungeon in Maryland.

Disclaimer: No monkeys were abused in the production of the message or any add-ons I'm involved with. Not that I'm claiming ZeniMax Online Studios did; I don't speak for them, and they take my money every month.
  Reply With Quote
06/29/14, 05:12 PM   #12
Garkin
 
Garkin's Avatar
AddOn Author - Click to view addons
Join Date: Mar 2014
Posts: 832
Today farangkao gave me an idea how to deal with missing account name in saved variables or maybe I should say how to deal with broken GetDisplayName() function.

Just put this code to the main chunk any of your .lua files:
Lua Code:
  1. local displayName = GetDisplayName()
  2. if displayName == nil or displayName == "" then
  3.    if GetNumGuilds() > 0 then
  4.       displayName = GetGuildMemberInfo(GetGuildId(1), GetPlayerGuildMemberIndex(GetGuildId(1)))
  5.    else
  6.       displayName = "@" .. GetCVar("AccountName")
  7.    end
  8. end
  9.  
  10. function GetDisplayName()
  11.    return displayName
  12. end

And voilą, your saved variables with @AccountName works again.

Last edited by Garkin : 06/29/14 at 05:31 PM.
  Reply With Quote
06/29/14, 05:32 PM   #13
farangkao
 
farangkao's Avatar
AddOn Author - Click to view addons
Join Date: May 2014
Posts: 59
It got already tested by the guy with 2 Accounts, and the 2nd account without Guild was also correctly displayed, once he saved his Account Name at the Login screen.

So there is a small chance the function will still return "" ,but for most cases it will work until they fix the function.
  Reply With Quote
06/29/14, 09:03 PM   #14
Flamage
 
Flamage's Avatar
AddOn Author - Click to view addons
Join Date: Mar 2014
Posts: 60
Originally Posted by Garkin View Post
Today farangkao gave me an idea how to deal with missing account name in saved variables or maybe I should say how to deal with broken GetDisplayName() function
This looks like a very useful piece of code, if they don't fix the bug in 1.2.4 then I'll be employing this and stop using ZO_SavedVars altogether. Thanks!
  Reply With Quote
06/30/14, 10:53 AM   #15
farangkao
 
farangkao's Avatar
AddOn Author - Click to view addons
Join Date: May 2014
Posts: 59
2nd Toughts about Garkin's Code....

I'm not sure if i see this correctly, but be aware, if you replace the default GetDisplayName() function,
it might affect other Addons as well, and therefore make their Saved Data invalid.

So before you distribute any Addon which replaces GetDisplayName() ,you should do some tests incl. some other Addons who saves their data.

We don't want the End-Users to have a 2nd time frustrated about data-loss.

If ZOS is fixing the Function ,it might end up being the same situation ,or they maybe consider to migrate autoamtically all "" data back to "@accountname" ...

However , it might be possible with rewrite of GetDisplayName to automatically load the old Data and by reverting the function to the original to save it in the new container.

Some tests are certainly necessairy before releasing anything to the public.
  Reply With Quote
07/02/14, 04:01 AM   #16
zgrssd
AddOn Author - Click to view addons
Join Date: May 2014
Posts: 280
Originally Posted by farangkao View Post
2nd Toughts about Garkin's Code....

I'm not sure if i see this correctly, but be aware, if you replace the default GetDisplayName() function,
it might affect other Addons as well, and therefore make their Saved Data invalid.
I see only one problem: It ends up overriding GetDisplayName() regardless if it works properly or not.
And if you put that code into multiple Addons, each of those would would verride GetDisplayName() again.

Based on that data, this verison might be slightly better:
Code:
    --First get the current function
    local currentGDN = GetDisplayName

    --Second, defined your corrected function
    local function newGDN()
       local displayName

       if GetNumGuilds() > 0 then
          displayName = GetGuildMemberInfo(GetGuildId(1), GetPlayerGuildMemberIndex(GetGuildId(1)))
       else
          displayName = "@" .. GetCVar("AccountName")
       end

       return displayName
    end
     
    --Thrid, check if the currently used GDN function is faulty
    local displayName = currentGDN()
    if displayName == nil or displayName == "" then
       --Overwrite the current version
       GetDisplayName = newGDN
    end
Just putting it in your code would be too agressive/out of user hands. How about:
We make a Addon just for this (call it "DisplayNameFix" or something like this)
Users can choose to install it or not. And can prerpar thier settings files accordingly.
We put this addon as OptionalDependency for all our Addons, so it runs before them (only nessesary if we need the DisplayName before the LoadedEvent/Settings loading).
Once the issues is solved Zenimax Side, we can just make it a blank (empty the .lua file and remove the entry from the manifest, as well as).

Edit:
Noticed one mistake - we do not check if our retrival functiosn returns anything valid either. Each of those functions might bug out. I need to look into it a bit more...

Last edited by zgrssd : 07/02/14 at 04:06 AM.
  Reply With Quote
07/04/14, 06:01 PM   #17
Ethelsia
AddOn Author - Click to view addons
Join Date: Apr 2014
Posts: 4
looks like they fixed it half-way. The @username is back in the SavedVariables file, but GetDisplayName still returns nothing... Also in the SavedVariables file they now add the same data twice once with the correct AccountName and once more with a blank username .. Anyhow, I guess my AddOn is a special case as I'm not using the SavedVariables file inside the game but use it to export data out of the game for another application to pick it up.

Last edited by Ethelsia : 07/04/14 at 06:11 PM.
  Reply With Quote
07/04/14, 06:19 PM   #18
SkOODaT
 
SkOODaT's Avatar
AddOn Author - Click to view addons
Join Date: Mar 2014
Posts: 58
Originally Posted by Ethelsia View Post
looks like they fixed it half-way. The @username is back in the SavedVariables file, but GetDisplayName still returns nothing... Also in the SavedVariables file they now add the same data twice once with the correct AccountName and once more with a blank username .. Anyhow, I guess my AddOn is a special case as I'm not using the SavedVariables file inside the game but use it to export data out of the game for another application to pick it up.
they havent fixed it lol its prolly your old data pre 1.2.3
  Reply With Quote
07/05/14, 02:06 AM   #19
zgrssd
AddOn Author - Click to view addons
Join Date: May 2014
Posts: 280
Originally Posted by Ethelsia View Post
looks like they fixed it half-way. The @username is back in the SavedVariables file, but GetDisplayName still returns nothing... Also in the SavedVariables file they now add the same data twice once with the correct AccountName and once more with a blank username .. Anyhow, I guess my AddOn is a special case as I'm not using the SavedVariables file inside the game but use it to export data out of the game for another application to pick it up.
Basically the problem is that GetDisplayName returns "" (empty string). So when trying to load/create the saved variables, the SavedVar system goes for the "" account entry in the SavedVar table.
It still keeps you old one around (just as if you logged in with a different account on same window user). It just cannot access it anymore because it does not look for the right account name in the table.

Unless we force it too:
http://www.esoui.com/forums/showthread.php?t=1904
At least as far as saved variables are concerned, this forces the proper Display name to be used. It is also designed to turn off the second the original GetDisplayName() starts working again. But it is still a pretty deep change on the client side so I have no idea what issues it might cause.
You still have to modify the saved var files. But it will make the transition back a lot smoother and gives you seperation by account name back now.
  Reply With Quote
08/04/14, 11:28 PM   #20
Ayantir
 
Ayantir's Avatar
AddOn Author - Click to view addons
Join Date: Jul 2014
Posts: 1,019
Because Users don't know to to want what is GetDisplayName() bug and wants theirs addons work without some work, here is a little guide to get your settings back :

So, ESO 1.2 introduce a bug called as GetDisplayName() bug, resulting the loss of your addon settings in June when this update was released. And as this bug has been corrected in 1.3, we lost our settings again. So if you got an addon with a whole bunch of datamining or personnalization, this could help :


All you need to do is:
  1. Go to your Documents folder (the same one that you had to use to install your addons)
  2. Go to your Elder Scrolls folder
  3. Go to your Live folder (or liveeu for european users)
  4. Go to your SavedVariables folder
  5. MAKE A BACKUP OF THIS FOLDER!
  6. You should see a listing of files for each addon you used. They will be named [AddOnName].lua
  7. You can open those files using any text editor (just use NotePad). Right click the file name, choose Open With and pick whatever editor you want to use
  8. Start to search (Ctrl+F) for string ["@Username"] (replace Username with your ESO Username), if not found, go to line under, if found, go to the Post Scriptum section
  9. If you didn't find ["@Username"], somewhere close to the top of the .lua file will be a line that says [""] = (generally line 5)
  10. Change that to replace [""] with ["@Username"]
  11. Save and close.

Do this for each of the addon .lua files that you have in that folder. Once you've done all of them, you should be able to log into the game and not lose all your settings now.

Relog and try your addon again?
If it didn't work, please replace your addon settings file from your backup.




--------




PS:

Okay, Your addon settings already got ["@Username"]
First, please take note that is for advanced users only !
  1. Start to enlarge notepad window to full screen, it will help.
  2. Then, you will need to find the whole block of settings under ["@Username"] this block contains all your saved settings before ESO 1.2 - and/or if you already patched and launched game, your new settings.
  3. This block must be deleted (with ["@Username"] too and closing brackets too !), read exemple under !
  4. Then, find the line (Ctrl+F) with [""] =. It must be changed with ["@Username"] =
  5. Save and close.


Example : Lines in red will be deleted, Line in green will be changed :


Code:
SN_FS_SavedVariables =
{
    ["Default"] = 
    {
        ["@MyAcountName"] = 
        {
            ["Ayantir"] = 
            {
                ["SN_FS"] = 
                {
                    ["debug"] = true,
                    ["version"] = 1,
                    ["stack_on_insert"] = false,
                    ["configVersion"] = 1,
                },
            },
        },
        [""] = 
        {
            ["Ayantir"] = 
            {
                ["SN_FS"] = 
                {
                    ["debug"] = false,
                    ["version"] = 1,
                    ["stack_on_insert"] = false,
                    ["configVersion"] = 2,
                },
            },
            ["Victoire"] = 
            {
                ["SN_FS"] = 
                {
                    ["debug"] = false,
                    ["version"] = 1,
                    ["stack_on_insert"] = false,
                    ["configVersion"] = 2,
                },
            },
        },
    },
}
Resulting in :

Code:
SN_FS_SavedVariables =
{
    ["Default"] = 
    {
        ["@MyAccountName"] = 
        {
            ["Ayantir"] = 
            {
                ["SN_FS"] = 
                {
                    ["debug"] = false,
                    ["version"] = 1,
                    ["stack_on_insert"] = false,
                    ["configVersion"] = 2,
                },
            },
            ["Victoire"] = 
            {
                ["SN_FS"] = 
                {
                    ["debug"] = false,
                    ["version"] = 1,
                    ["stack_on_insert"] = false,
                    ["configVersion"] = 2,
                },
            },
        },
    },
}
  Reply With Quote

ESOUI » Site Forums » News » Saved Variables Bug and AddOns ToU


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off