The Gold Road Chapter – which includes the Scribing system – and Update 42 is now available to test on the PTS! You can read the latest patch notes here: https://forums.elderscrollsonline.com/en/discussion/656454/
Maintenance for the week of April 29:
• PC/Mac: No maintenance – April 29

[ZOS Input Needed] Plugins Breaking ESC Key

zazamalek
zazamalek
✭✭✭
Some plugins (such as one I work on: "Exterminatus Group Leader") are causing the escape key to stop functioning - since the Craglorn patch. The repro steps with mine are pretty straightforward:
  1. Install the plugin: http://www.esoui.com/downloads/fileinfo.php?id=329 http://www.esoui.com/downloads/info329-ExterminatusGroupLeader.html#other and download 0.5 (I will be outright disabling the plugin tonight GMT+2).
  2. Allow out-of-date plugins.
  3. Join a group.
  4. Open the map.
  5. Close the map.
  6. Withdraw money from the bank.
  7. The ESC key now no longer works.

I really need input here as I have no idea what's causing this. Can you let us (addon authors) know what we need to do differently?

@ZOS_JessicaFolsom or @ZOS_GinaBruno‌ ?
Edited by zazamalek on May 26, 2014 8:38AM
410
  • zgrssd
    zgrssd
    ✭✭✭✭
    I do not have this issue myself. But I did notice that Group Members are no longer shown on the Maps for Dungeons.
    Could be related. Could not be.

    Have you tried /reloadui to solve it? What about /stuck?
    It could help nail down where the issue is.
    Elana Peterson (EU), Dominion, Imperial Sorc, Rune & Alchemy Crafting Char
    Leonida Peterson (EU), Daggerfall, Kajiit Nightblade, Tank & main Crafter
    Kurga Peterson (EU), Ebonhart, Ork Dragonknight, Provision Mule
    Coldblood Peterson (EU) Argonian Templer, Daggerfall, Healer
    Incendia Peterson (EU), Dominion, Dunmer Dragonknight, fire DPS & healer
    Haldor Belendor (EU), Ebonhart, Breton Sorcerer, Tank
    Fuliminictus Peterson (EU), Ebonhart, Altmer Sorcerer, Electric DPS

    Me babbling about PvE roles and Armor, Short Guide to Addon Programming (for Programmers)

    If you think anything I or somebody else said violates the Rules of this Forum, you are free to flag my posts. Till I get any notifcaion from this, I just asume you know you have no case against me or Zenimax disagrees with you.
  • zazamalek
    zazamalek
    ✭✭✭
    My addon is definitely one of the addons causing it. I told a guildie to disable mine in TS last night and he still encountered the issue - so he had a different plugin causing the same problem (it seems that the vast majority of plugins are not causing this problem).

    /reloadui works but you need to do it every time you open the map (or inventory, or any other UI).

    I just need to know what I have to fix. The game isn't displaying any errors or anything, so I have no idea where to start with this.
    Edited by zazamalek on May 26, 2014 7:58AM
    410
  • zgrssd
    zgrssd
    ✭✭✭✭
    I installed your addon jsut to see if it happened.
    And it did without being in a group. I need to nail down wich other screens can cause this.
    Elana Peterson (EU), Dominion, Imperial Sorc, Rune & Alchemy Crafting Char
    Leonida Peterson (EU), Daggerfall, Kajiit Nightblade, Tank & main Crafter
    Kurga Peterson (EU), Ebonhart, Ork Dragonknight, Provision Mule
    Coldblood Peterson (EU) Argonian Templer, Daggerfall, Healer
    Incendia Peterson (EU), Dominion, Dunmer Dragonknight, fire DPS & healer
    Haldor Belendor (EU), Ebonhart, Breton Sorcerer, Tank
    Fuliminictus Peterson (EU), Ebonhart, Altmer Sorcerer, Electric DPS

    Me babbling about PvE roles and Armor, Short Guide to Addon Programming (for Programmers)

    If you think anything I or somebody else said violates the Rules of this Forum, you are free to flag my posts. Till I get any notifcaion from this, I just asume you know you have no case against me or Zenimax disagrees with you.
  • zgrssd
    zgrssd
    ✭✭✭✭
    zgrssd wrote: »
    I installed your addon jsut to see if it happened.
    And it did without being in a group. I need to nail down wich other screens can cause this.
    All I did was:
    Logging in with my 2nd Char this day/first char since installation of addon.
    Go to Stablemaster to train my horse.
    Go to Clothing Station to check if I can start reserach, nothing there.
    Go to Blacksmithign station and doing the same, started one (2nd Trait on Greataxe).
    Try to either exit mapscreen or BS screen using ESC and it not working (Alt still working).

    I cannot reproduce it even by following the steps precisely, so it might be realted to some Reserach Start traking addon.
    Edited by zgrssd on May 26, 2014 8:10AM
    Elana Peterson (EU), Dominion, Imperial Sorc, Rune & Alchemy Crafting Char
    Leonida Peterson (EU), Daggerfall, Kajiit Nightblade, Tank & main Crafter
    Kurga Peterson (EU), Ebonhart, Ork Dragonknight, Provision Mule
    Coldblood Peterson (EU) Argonian Templer, Daggerfall, Healer
    Incendia Peterson (EU), Dominion, Dunmer Dragonknight, fire DPS & healer
    Haldor Belendor (EU), Ebonhart, Breton Sorcerer, Tank
    Fuliminictus Peterson (EU), Ebonhart, Altmer Sorcerer, Electric DPS

    Me babbling about PvE roles and Armor, Short Guide to Addon Programming (for Programmers)

    If you think anything I or somebody else said violates the Rules of this Forum, you are free to flag my posts. Till I get any notifcaion from this, I just asume you know you have no case against me or Zenimax disagrees with you.
  • zazamalek
    zazamalek
    ✭✭✭
    Thanks for the helpful feedback zgrssd.
    zgrssd wrote: »
    I cannot reproduce it even by following the steps precisely, so it might be realted to some Reserach Start traking addon.

    It would be a bit unfortunate if it were caused by an interaction between addons. I'll try running it by itself tonight and see if the issue crops up (I'm fairly certain I tried that but I was having so much fun this weekend in Craglorn it's a bit of a blur). Otherwise I will try whittle it down to the two addons that are causing it.
    Edited by zazamalek on May 26, 2014 8:18AM
    410
  • zgrssd
    zgrssd
    ✭✭✭✭
    ESC also becomes unuseable whenever:
    I start a Trait Reserach, while having your addon on (seems to be unreltead with research addons).
    Withdrawing money from the bank while having your addon on (this makes reproduction a lot easer, I guess).

    The only tip I have:
    Add d() messages to every function and especially events handlers (start and end)
    Use BugEater wit henamebeld pre-init debug (needs only be optional dependency) to get d() messages from around Addon Load Event

    Double and tripple check that you do not use any Global variables anywhere, unelss you really need them.
    I got into debugging hell while developing my UnifiedChatTabs because I accidently used global variables as temp for my functions return values (wich resulted in the value being not what I expected).
    Could be you and the API programmers choose a similar name for something global.
    Edited by zgrssd on May 26, 2014 8:32AM
    Elana Peterson (EU), Dominion, Imperial Sorc, Rune & Alchemy Crafting Char
    Leonida Peterson (EU), Daggerfall, Kajiit Nightblade, Tank & main Crafter
    Kurga Peterson (EU), Ebonhart, Ork Dragonknight, Provision Mule
    Coldblood Peterson (EU) Argonian Templer, Daggerfall, Healer
    Incendia Peterson (EU), Dominion, Dunmer Dragonknight, fire DPS & healer
    Haldor Belendor (EU), Ebonhart, Breton Sorcerer, Tank
    Fuliminictus Peterson (EU), Ebonhart, Altmer Sorcerer, Electric DPS

    Me babbling about PvE roles and Armor, Short Guide to Addon Programming (for Programmers)

    If you think anything I or somebody else said violates the Rules of this Forum, you are free to flag my posts. Till I get any notifcaion from this, I just asume you know you have no case against me or Zenimax disagrees with you.
  • zazamalek
    zazamalek
    ✭✭✭
    zgrssd wrote: »
    ESC also becomes unuseable whenever:

    Awesome! Thanks for the easier repro steps. I have updated the OP.
    zgrssd wrote: »
    Add d() messages to every function and especially events handlers (start and end)
    Use BugEater wit henamebeld pre-init debug (needs only be optional dependency) to get d() messages from around Addon Load Event

    I'll give that addon a go to see if anything odd is going on.
    zgrssd wrote: »
    Double and tripple check that you do not use any Global variables anywhere, unelss you really need them.

    I do have one. I'll make it more unique and see what happens.
    410
  • zgrssd
    zgrssd
    ✭✭✭✭
    Some things about your code:
    In getKey you have the same mistake I had with temp values for function return:
    local function GetKeys(table)
    result = {} -- not marked local, so it is global and will collide with any other use of "result" in any addon or the API that is not marked local either

    Same in
    function EXT_GROUPLEADER.Extend(value, default)
    value = value or {}
    Edit: Not there, as the Parameter is automatically local. Overlooked that part.

    But fixing those two for my copy did not solve it.
    You should perhaps use LibStub in your Lib File instead of the code you use for uniqness. But then again I cannot quite follow your code.
    Edited by zgrssd on May 26, 2014 8:42AM
    Elana Peterson (EU), Dominion, Imperial Sorc, Rune & Alchemy Crafting Char
    Leonida Peterson (EU), Daggerfall, Kajiit Nightblade, Tank & main Crafter
    Kurga Peterson (EU), Ebonhart, Ork Dragonknight, Provision Mule
    Coldblood Peterson (EU) Argonian Templer, Daggerfall, Healer
    Incendia Peterson (EU), Dominion, Dunmer Dragonknight, fire DPS & healer
    Haldor Belendor (EU), Ebonhart, Breton Sorcerer, Tank
    Fuliminictus Peterson (EU), Ebonhart, Altmer Sorcerer, Electric DPS

    Me babbling about PvE roles and Armor, Short Guide to Addon Programming (for Programmers)

    If you think anything I or somebody else said violates the Rules of this Forum, you are free to flag my posts. Till I get any notifcaion from this, I just asume you know you have no case against me or Zenimax disagrees with you.
  • zazamalek
    zazamalek
    ✭✭✭
    Awesome stuff. I think the "state" global that I use may be an issue - I'll try rename that, but, I'm at work :(.
    Edited by zazamalek on May 26, 2014 8:55AM
    410
  • zgrssd
    zgrssd
    ✭✭✭✭
    Okay, I tried adding some d-messages and figured out fast that putting ones into extGroupLeaderUpdate or any of it's sub functions was a bad idea. Because they get called every Frame.
    Just a tip here: You might be able to cut down on the computational load if you first checked if the angle has even changed compared to last run. The angle will change only on very few frames/updates Plus maybe write a library for this function seperately, so other code can use it without having to register the event/change of mouse angle seperately.

    Í also noticed that you tried to mimic classes using metatables (something I only heard of, never done myself). So it could also be some incomplete seperation of data between instances. But like I said: Never used this technique in .lua before.

    Nothing from the Main lua or Library file seems to be called when I withdraw from the bank so events don't seem to get fired when they should not. That was pretty much my best guess.
    I am thoroughly stumped at the moment at what could cause this, but will continue to investiage if I have time.
    Edited by zgrssd on May 26, 2014 5:22PM
    Elana Peterson (EU), Dominion, Imperial Sorc, Rune & Alchemy Crafting Char
    Leonida Peterson (EU), Daggerfall, Kajiit Nightblade, Tank & main Crafter
    Kurga Peterson (EU), Ebonhart, Ork Dragonknight, Provision Mule
    Coldblood Peterson (EU) Argonian Templer, Daggerfall, Healer
    Incendia Peterson (EU), Dominion, Dunmer Dragonknight, fire DPS & healer
    Haldor Belendor (EU), Ebonhart, Breton Sorcerer, Tank
    Fuliminictus Peterson (EU), Ebonhart, Altmer Sorcerer, Electric DPS

    Me babbling about PvE roles and Armor, Short Guide to Addon Programming (for Programmers)

    If you think anything I or somebody else said violates the Rules of this Forum, you are free to flag my posts. Till I get any notifcaion from this, I just asume you know you have no case against me or Zenimax disagrees with you.
  • zazamalek
    zazamalek
    ✭✭✭
    @zgrssd thank you for the hints and suggestions - I figured it out. I'm not sure what changed in the Lua runtime between 100003 and 100004 but this line caused the issue:

    https://github.com/Exterminatus/eso-extGroupLeader/commit/6f8f33475fb655d39daafffae4f61fdae60ea29f#diff-ab06ae73caed4d8a413beee516885616L243

    I restructured my sub-addon architecture and all is well in the land of the leader pointer. I'm leaving this here in case anyone else runs up against the issue.
    410
Sign In or Register to comment.