ESOUI

ESOUI (https://www.esoui.com/forums/index.php)
-   Tutorials & Other Helpful Info (https://www.esoui.com/forums/forumdisplay.php?f=172)
-   -   3.1 Update (https://www.esoui.com/forums/showthread.php?t=7212)

Ayantir 07/10/17 08:14 AM

3.1 Update
 
Hello there,

As we know, the next update of game will be launched this week on PTS (consider the opening today or tomorrow).

So the old new update thread. Please leave any comment, or issues you may encounter while doing your updates.

Now, back to business, so some placeholders :


Weolo 07/11/17 11:51 AM

This compatibility function is broken

GetSmithingStyleItemInfo() in addoncompatibilityaliases.lua

Lua Code:
  1. function GetSmithingStyleItemInfo(itemStyleId)
  2.     local styleItemLink = GetItemStyleMaterialLink(validItemStyleId)
  3.     local alwaysHideIfLocked = GetItemStyleInfo(validItemStyleId)
  4.     local name = GetItemLinkName(styleItemLink)
  5.     local icon, sellPrice, meetsUsageRequirement = GetItemLinkInfo(styleItemLink)
  6.     local quality = GetItemLinkQuality(styleItemLink)
  7.     return name, icon, sellPrice, meetsUsageRequirement, itemStyleId, quality, alwaysHideIfLocked
  8. end

Vvariable validItemStyleId does not exist on the 2nd and 3rd lines so styleItemLink and alwaysHideIfLocked are always blank

Weolo 07/11/17 11:59 AM

Just a little note for others, item style constants such as ITEMSTYLE_GLASS etc are on the way out. They will work for now as they are in the addoncompatibilityaliases.lua file but I am checking to see how to code without them with the PTS patch.
Will let you know what I figure out

Ayantir 07/11/17 01:16 PM

use styleItemIndex? but I do agree all addons are coded with the ITEMSTYLE constant.

Rhyono 07/11/17 02:12 PM

StyleItemIndex is great for dynamic lists, but the constants always made it easier for holding my own information on it. I'm surprised they are doing away with them so soon after cleaning them up in the last update.

ZOS_ChipHilseberg 07/11/17 04:40 PM

Quote:

Originally Posted by Weolo (Post 31804)
This compatibility function is broken

GetSmithingStyleItemInfo() in addoncompatibilityaliases.lua

Lua Code:
  1. function GetSmithingStyleItemInfo(itemStyleId)
  2.     local styleItemLink = GetItemStyleMaterialLink(validItemStyleId)
  3.     local alwaysHideIfLocked = GetItemStyleInfo(validItemStyleId)
  4.     local name = GetItemLinkName(styleItemLink)
  5.     local icon, sellPrice, meetsUsageRequirement = GetItemLinkInfo(styleItemLink)
  6.     local quality = GetItemLinkQuality(styleItemLink)
  7.     return name, icon, sellPrice, meetsUsageRequirement, itemStyleId, quality, alwaysHideIfLocked
  8. end

Vvariable validItemStyleId does not exist on the 2nd and 3rd lines so styleItemLink and alwaysHideIfLocked are always blank

This has been fixed.

ZOS_ChipHilseberg 07/11/17 04:50 PM

Quote:

Originally Posted by Rhyono (Post 31808)
StyleItemIndex is great for dynamic lists, but the constants always made it easier for holding my own information on it. I'm surprised they are doing away with them so soon after cleaning them up in the last update.

We often have to choose between using enumerations and using ids when making a system. Enums are great for writing code against because it makes checks against specific values easy. However, adding to an enumeration requires a programmer to make a code change, and then the new client needs to propagate through several branches before finally reaching the designer who can make use of it. If we use ids, changes do not require any programmer support, but it becomes hard to program against unless you want code like itemStyleId == 5. We've been thinking over some ways to have the best of both worlds, and our favorite option right now is adding a string identifier that can be used to fetch an id. These strings would not be localized and would probably look a lot like the enum values. The designers could fill them out and we would keep them as stable as possible so code could fetch ids using them, or use them for equality checks, etc. But we're open to other ideas.

votan 07/12/17 01:27 AM

Quote:

Originally Posted by ZOS_ChipHilseberg (Post 31814)
These strings would not be localized and would probably look a lot like the enum values. The designers could fill them out and we would keep them as stable as possible so code could fetch ids using them, or use them for equality checks, etc. But we're open to other ideas.

Maybe let you inspire from the Enum of C# (not necessarily copy 1:1): Create a ZO_Enum sub-class with some meta methods like :GetNames, :Parse :GetName :GetDisplayName.
Instead of creating millions of global constants, an Enum class like ITEM_STYLE, ITEM_TRAIT, ABILITY.
In Lua there is close to no difference reading a continous index based list and an ID based hash-table:
Lua Code:
  1. for value,name in pairs(ITEM_STYLE) do
  2.   what ever
  3. end

The Enum classes may get auto-generated from work-sheets of your designers.

You may allow us to override and/or extend these Enum instances for things like :GetNameWithQualityColor.

Shinni 07/12/17 03:32 AM

@Ayantir, you might want to put the .txt in your post:
https://forums.elderscrollsonline.co...change-log-pts


@Chip
Quote:

3D Controls
3D controls with no parent that are positioned using world coordinates now update their position automatically when you cross a boundary. We also added two APIs to help convert between Gui Render 3D positions and World positions:

GuiRender3DPositionToWorldPosition(renderX, renderY, renderZ) – worldX, worldY, worldZ.
WorldPositionToGuiRender3DPosition(worldX, worldY, worldZ) – renderX, renderY, renderZ.
Thanks a lot! This is great.

Weolo 07/12/17 10:06 AM

Cool changes but it does mean I have some learning and re-writting to do, all good :cool:

I will be trying to make use of these

Code:

GetItemStyleName(styleId) – styleName
GetItemStyleMaterialLink(styleId, LinkStyle) – link
GetNumValidItemStyles() – numStyles
GetValidItemStyleId(index) – styleId

Will try these out, hopefully I can take out some of my code in place of them

Code:

GetSkillLineIndicesFromSkillId(skillId) – SkillType, skillIndex.
GetSkillLineIndicesFromSkillLineId(skillLineId) – SkillType, skillIndex.

Also the GetNonCombatBonus() function looks very handy

Code:

NON_COMBAT_BONUS_BLACKSMITHING_BOOSTER_BONUS
NON_COMBAT_BONUS_BLACKSMITHING_CRAFT_PERCENT_DISCOUNT
NON_COMBAT_BONUS_BLACKSMITHING_EXTRACT_LEVEL
NON_COMBAT_BONUS_BLACKSMITHING_HIRELING_LEVEL
NON_COMBAT_BONUS_BLACKSMITHING_LEVEL
NON_COMBAT_BONUS_BLACKSMITHING_RESEARCH_LEVEL
NON_COMBAT_BONUS_BLACKSMITHING_SHOW_NODES

Maybe I can finally detect when the research skill is changed

Rhyono 07/12/17 07:31 PM

Was GetSmithingStyleItemLink supposed to be removed? If so, could someone point me in the direction of its replacement?

Weolo 07/13/17 11:05 AM

Quote:

Originally Posted by Rhyono (Post 31842)
Was GetSmithingStyleItemLink supposed to be removed? If so, could someone point me in the direction of its replacement?

Did that used to give you a link to the style material?
If so this is the kind of thing
Lua Code:
  1. for itemStyleIndex = 1, GetNumValidItemStyles() do
  2.     local validItemStyleId = GetValidItemStyleId(itemStyleIndex)
  3.     if validItemStyleId > 0 then
  4.         local styleItemLink = GetItemStyleMaterialLink(validItemStyleId, LINK_STYLE_DEFAULT)
  5.     end
  6. end

Rhyono 07/13/17 08:22 PM

Thanks, that is what I needed. Still trying to fix the rest of the code now, though...

Also: Clockwork is a lie. It's in the books area, the items exist in the data, but the style and achievement do not.

Whoever transcribed the style names to GetItemStyleName() used the constants verbatim. E.g. Celestial is now called Craglorn which is...not good.

Is Mimic being in the valid style list as "Universal" intentional? If so, I'm going to have to write a work around to make that non-style not appear in CraftStore.

Weolo 07/14/17 11:24 AM

Yes I saw one of the style names from GetItemStyleName(validItemStyleId) was Craglorn which did not fit.

Ayantir 07/14/17 11:53 AM

Quote:

Event found on Wiki but not in ZOS ref -> EVENT_BANKED_TELVAR_STONES_UPDATE (integer eventCode,number newBankedTelvarStones,number oldBankedTelvarStones)
Event found on Wiki but not in ZOS ref -> EVENT_COLLECTIBLE_ON_COOLDOWN (number eventCode)
Event found on Wiki but not in ZOS ref -> EVENT_COLLECTIBLE_USE_BLOCKED (integer eventCode,number reason)
Event found on Wiki but not in ZOS ref -> EVENT_DIFFICULTY_LEVEL_CHANGED (integer eventCode,integer difficultyLevel)
Event found on Wiki but not in ZOS ref -> EVENT_SHOW_GUI (integer eventCode,string guiName,string desiredStateName)
Event found on Wiki but not in ZOS ref -> EVENT_ESO_PLUS_SUBSCRIPTION_NOTIFICATION_CLEARED (number eventCode)
Event found on Wiki but not in ZOS ref -> EVENT_ESO_PLUS_SUBSCRIPTION_STATUS_CHANGED (integer eventCode, boolean hasSubscription)
Event found on Wiki but not in ZOS ref -> EVENT_QUICK_REPORT_ALREADY_REPORTED (number eventCode)
Event found on Wiki but not in ZOS ref -> EVENT_QUICK_REPORT_TICKET_SENT (number eventCode)
New ZOS event -> EVENT_SMITHING_TRAIT_RESEARCH_CANCELED (integer eventCode, number craftingSkillType, number researchLineIndex, number traitIndex)
New ZOS event -> EVENT_BANKED_CURRENCY_UPDATE (integer eventCode, number currency, number newValue, number oldValue)
New ZOS event -> EVENT_SHOW_PREGAME_GUI_IN_STATE (integer eventCode, string desiredStateName)
New ZOS event -> EVENT_ESO_PLUS_FREE_TRIAL_STATUS_CHANGED (integer eventCode, boolean hasFreeTrial)
New ZOS event -> EVENT_CARRIED_CURRENCY_UPDATE (integer eventCode, number currency, number newValue, number oldValue, number reason)
New ZOS event -> EVENT_BATTLEGROUND_SHUTDOWN_TIMER (integer eventCode, boolean enabled)
New ZOS event -> EVENT_ESO_PLUS_FREE_TRIAL_NOTIFICATION_CLEARED (number eventCode)
New ZOS event -> EVENT_CRAFT_FAILED (integer eventCode, number tradeskillResult)
New ZOS event -> EVENT_BATTLEGROUND_KILL (integer eventCode, string killedPlayerCharacterName, string killedPlayerDisplayName, number killedPlayerBattlegroundAlliance, string killingPlayerCharacterName, string killingPlayerDisplayName, number killingPlayerBattlegroundAlliance, number battlegroundKillType)
In case of.

Weolo 07/14/17 12:14 PM

Oh no my brain only just kicked in, I am going to have to add code to my crafting addon to cover when someone cancels researching EVENT_SMITHING_TRAIT_RESEARCH_CANCELED durrr me

Ayantir 07/14/17 12:15 PM

About Methods of Controls :


ColorSelectControl
New: * GetThumbNormalizedPosition()
** _Returns:_ *number* _normalizedX_, *number* _normalizedY_
New: * SetThumbNormalizedPosition(*number* _normalizedX_, *number* _normalizedY_)



Control
Changed: * Set3DRenderSpaceOrigin(*number* _xM_, *number* _yM_, *number* _zM_)



LabelControl
New: * Clean()



TooltipControl
Changed: * SetSmithingStyleItem(*integer* _itemStyleId_)
New: * SetVerticalPadding(*number* _paddingY_)

Weolo 07/14/17 12:17 PM

Is there any point checking for EVENT_ESO_PLUS_SUBSCRIPTION_STATUS_CHANGED?
Would it be enough to just check IsESOPlusSubscriber() on player activation?

sirinsidiator 07/14/17 12:39 PM

I guess it could make sense if you got eso plus activated ingame like during the free eso+ event last weekend or if it ran out while you are ingame.

Btw @Chip, would it be possible to deactivate ESO+ on PTS and permanently add the activation thingy for 1 day of ESO+ to the crownstore there? Or instead of making it last only 1 day, add a second item to turn it off again.

Weolo 07/14/17 12:43 PM

Quote:

Originally Posted by sirinsidiator (Post 31879)
I guess it could make sense if you got eso plus activated ingame like during the free eso+ event last weekend or if it ran out while you are ingame.

Btw @Chip, would it be possible to deactivate ESO+ on PTS and permanently add the activation thingy for 1 day of ESO+ to the crownstore there? Or instead of making it last only 1 day, add a second item to turn it off again.

Maybe 2 free items on the store to turn on ESO+ and another to turn it off

ZOS_ChipHilseberg 07/14/17 02:06 PM

Quote:

Originally Posted by Rhyono (Post 31861)
Thanks, that is what I needed. Still trying to fix the rest of the code now, though...

Also: Clockwork is a lie. It's in the books area, the items exist in the data, but the style and achievement do not.

Whoever transcribed the style names to GetItemStyleName() used the constants verbatim. E.g. Celestial is now called Craglorn which is...not good.

Is Mimic being in the valid style list as "Universal" intentional? If so, I'm going to have to write a work around to make that non-style not appear in CraftStore.

Universal is meant to be in ther, yes. The names have been bugged and will be fixed.

Weolo 07/14/17 02:49 PM

Mundus stone bug
 
I go and get the Lady mundus stone, the next time I log in I have no mundus stone effect at all and have to go and get it again. I will do a /bug report

sirinsidiator 07/14/17 04:10 PM

Quote:

Originally Posted by Weolo (Post 31882)
I go and get the Lady mundus stone, the next time I log in I have no mundus stone effect at all and have to go and get it again. I will do a /bug report

That bug should get fixed next week: https://forums.elderscrollsonline.co...omment_4332086

Ayantir 07/15/17 02:58 PM

I've updated http://wiki.esoui.com/StyleItemIndex

If your addon deals with smithing (+wood / clothing) or style knowledge, you should rewrite it.

Weolo 07/16/17 09:21 AM

Quote:

Originally Posted by Ayantir (Post 31885)
I've updated http://wiki.esoui.com/StyleItemIndex

If your addon deals with smithing (+wood / clothing) or style knowledge, you should rewrite it.

Nice one Ayantir
I think your dynamic list code could be tweaked slightly.
I am happy to do this but wanted to get your opinion first.

Looking at how ZOS do it in "function ZO_SharedSmithingCreation:RefreshStyleList()" they loop using GetNumValidItemStyles() instead of GetHighestItemStyleId(). And they get the ID from the index, ItemStyleId from GetValidItemStyleId(itemStyleIndex)

How about this:
Lua Code:
  1. for itemStyleIndex = 1, GetNumValidItemStyles() do
  2.     local itemStyleId = GetValidItemStyleId(itemStyleIndex)
  3.     if itemStyleId > 0 then
  4.         local styleItemLink = GetItemStyleMaterialLink(itemStyleId)
  5.         local _, _, meetsUsageRequirement = GetItemLinkInfo(styleItemLink)
  6.         if meetsUsageRequirement then
  7.             d(zo_strformat("<<1>> : <<2>> (<<3>>)", itemStyleId, styleItemLink, GetItemStyleName(itemStyleId)))
  8.         end
  9.     end
  10. end

Maybe even remove GetItemLinkInfo(styleItemLink) completely

Ayantir 07/16/17 09:49 AM

It basically lead to the same thing.

GetNumValidItemStyles() only returns craftable styles in an indexlist.

So basically :

styleItemIndex styleId 59 (hollowjack) == itemStyleId 53

Your code is correct, after for meetsUsageRequirement, for me, it's basically always true for a style in the loop of GetNumValidItemStyles() and with GetValidItemStyleId() > 0 ..

But I'll keep GetHighestItemStyleId() because this one contains non craftable styles and they can be interesting. (I've added the list and the code snippet).
ex : 10 Unique, 18 Bandit, 32 Maormer, 37 Reach Winter, 38 Tsaesci, 55 Worm Cult

Also, this lead to ANOTHER index which will also confuse everyone.
We had before ITEMSTYLES_ constants and styleItemIndex
Now styleItemIndex is renamed into itemStyleId (or styleId depends where it's used).. so i'm not fan of GetNumValidItemStyles.. it's maybe proper but it's another table of correspondance..

Weolo 07/16/17 10:54 AM

New Styles
 
For anyone wanting the details and item ids of the 3 new motifs

Crafting Motif 50: Telvanni
itemStyleId = 51
Learn All Motif = 121332
AXES = 121333
BELTS = 121334
BOOTS = 121335
BOWS = 121336
CHESTS = 121337
DAGGERS = 121338
GLOVES = 121339
HELMETS = 121340
LEGS = 121341
MACES = 121342
SHIELDS = 121343
SHOULDERS = 121344
STAVES = 121345
SWORDS = 121346
Crown Crafting Motif = 121347

Crafting Motif 51: Hlaalu
itemStyleId = 49
Learn All Motif = 129994
AXES = 129995
BELTS = 129996
BOOTS = 129997
BOWS = 129998
CHESTS = 129999
DAGGERS = 130000
GLOVES = 130001
HELMETS = 130002
LEGS = 130003
MACES = 130004
SHIELDS = 130005
SHOULDERS = 130006
STAVES = 130007
SWORDS = 130008
Crown Crafting Motif = 130009

Crafting Motif 52: Redoran
itemStyleId = 48
Learn All Motif = 130010
AXES = 130011
BELTS = 130012
BOOTS = 130013
BOWS = 130014
CHESTS = 130015
DAGGERS = 130016
GLOVES = 130017
HELMETS = 130018
LEGS = 130019
MACES = 130020
SHIELDS = 130021
SHOULDERS = 130022
STAVES = 130023
SWORDS = 130024
Crown Crafting Motif = 130025

Weolo 07/18/17 10:41 AM

The trait material icons for Hlaalu, Redoran, and Telvanni still do not load at crafting stations.
I am going to assume this is a known bug but will /bug report is anyway

Weolo 07/25/17 10:20 AM

Quote:

Originally Posted by Weolo (Post 31917)
The trait material icons for Hlaalu, Redoran, and Telvanni still do not load at crafting stations.
I am going to assume this is a known bug but will /bug report is anyway

I just checked with the v3.1.2 patch and the material icons for these 3 styles is still not loading.


Ayantir 07/25/17 10:51 AM

dds are generally pushed very late in the client. I generally dump textures at the very end of the pts

ZOS_ChipHilseberg 07/25/17 01:26 PM

Quote:

Originally Posted by Weolo (Post 32001)
I just checked with the v3.1.2 patch and the material icons for these 3 styles is still not loading.


I sent this along to the systems designers to fix.

Weolo 07/26/17 10:52 AM

I made a template character after v3.1.2 and my class skills were level 1 and my crafting skills ranged from level 1 to 15 after visiting the crafting stations.
Is that right?

I also just made a new template character today; 26th; and the class skills were correct at lvl 50 but I had no crafting skills.

It may have been a bug on the one character not having the class skills maxed but neither of them had any crafting skills or points.

Weolo 08/15/17 10:20 AM

SavedVariables
 
Anyone else noticing something a bit weird with SavedVariables?
I am seeing some settings not be remembered unless the user quits the game and loads it back up again.
When logging out and switching characters some values were not remembered from the character you came from.

Weolo 08/15/17 04:12 PM

SavedVariables
 
Before the HotR DLC my addon was saving settings just fine in to a SavedVariables file but now it is doing this:

- I log in to a character who can research 2 items
- Do a /reloadui to force a settings save
- Check my SavedVariables file and it correctly shows it has stored a value of 2

If I log out to the character selection screen, or quit the game, and then check the file again this setting has changed back to 1.

What could be causing a setting which used to work now not be saved?

If it makes any difference the setting would have been 1 in the file before the DLC.

ZOS_DanBatson 08/16/17 09:31 AM

Quote:

Originally Posted by Weolo (Post 32311)
Before the HotR DLC my addon was saving settings just fine in to a SavedVariables file but now it is doing this:

- I log in to a character who can research 2 items
- Do a /reloadui to force a settings save
- Check my SavedVariables file and it correctly shows it has stored a value of 2

If I log out to the character selection screen, or quit the game, and then check the file again this setting has changed back to 1.

What could be causing a setting which used to work now not be saved?

If it makes any difference the setting would have been 1 in the file before the DLC.

Have you observed this happening with any other SavedVars not related to researching? What about SavedVars in vanilla UI, are they having the same behavior?

Weolo 08/16/17 11:08 AM

Quote:

Originally Posted by ZOS_DanBatson (Post 32324)
Have you observed this happening with any other SavedVars not related to researching? What about SavedVars in vanilla UI, are they having the same behavior?

I have not had the chance to check other addons, I was focusing too much on my addon :)
Today I will remove all other addons, SavedVariable files and just log in to a couple of my characters and see what sticks.

That's if the game comes back up today, some exploit being fixed :$

Weolo 08/16/17 04:00 PM

Event_non_combat_bonus_changed
 
I have figured out what is bugged, I was not expecting this..
There is a problem with the new event EVENT_NON_COMBAT_BONUS_CHANGED, it fires on logout to character selection screen and I guess at quit game also.

I hope I am correct in assuming this event should only fire when playing on your character when the skills are changed and not when going to the character selection screen or quitting the game.

Brand new example addon and code:

Name: TestAddon
SavedVariables file: TestAddon
Test value: TestAddon.settings.test.something

Steps:
1. Pick a character and log in
2. /reloadui
3. Check SV file
4. TestAddon.settings.test.something = "First"
5. Log out to character selection screen
6. Check SV file
7. TestAddon.settings.test.something = "Non Combat"

TestAddon.lua:
Lua Code:
  1. local function OnNonCombatBonusChanged(eventCode, nonCombatBonusType)
  2.     TestAddon.settings.test.something = "Non Combat"
  3. end
  4. local function DefaultSettings()
  5.     local defaults = {
  6.         test = {}
  7.     }
  8.     return defaults
  9. end
  10. local function OnPlayerActivated()
  11.     if TestAddon.player_activated then return end
  12.     TestAddon.player_activated = true
  13.     EVENT_MANAGER:UnregisterForEvent("TestAddon", EVENT_PLAYER_ACTIVATED)
  14.    
  15.     TestAddon.settings.test.something = "First"
  16. end
  17. local function OnLoaded(eventType, addonName)
  18.     if addonName ~= "TestAddon" then return end
  19.     TestAddon.settings = ZO_SavedVars:NewAccountWide("TestAddonSettings", 1, nil, DefaultSettings())
  20.     EVENT_MANAGER:RegisterForEvent("TestAddon", EVENT_PLAYER_ACTIVATED, OnPlayerActivated)
  21.     EVENT_MANAGER:RegisterForEvent("TestAddon", EVENT_NON_COMBAT_BONUS_CHANGED, OnNonCombatBonusChanged)
  22. end
  23.  
  24. TestAddon = {
  25.     player_activated = false
  26. }
  27. EVENT_MANAGER:RegisterForEvent("TestAddon", EVENT_ADD_ON_LOADED, OnLoaded)

TestAddon.txt
Code:

## Title: TestAddon
## APIVersion: 100020
## SavedVariables: TestAddonSettings
## Version: 1.0

TestAddon.lua

SavedVariables File TestAddon.lua After reloadui
Lua Code:
  1. TestAddonSettings =
  2. {
  3.     ["Default"] =
  4.     {
  5.         ["@Weolo"] =
  6.         {
  7.             ["$AccountWide"] =
  8.             {
  9.                 ["version"] = 1,
  10.                 ["test"] =
  11.                 {
  12.                     ["something"] = "First",
  13.                 },
  14.             },
  15.         },
  16.     },
  17. }

SavedVariables File TestAddon.lua After log out to character selection screen
Lua Code:
  1. TestAddonSettings =
  2. {
  3.     ["Default"] =
  4.     {
  5.         ["@Weolo"] =
  6.         {
  7.             ["$AccountWide"] =
  8.             {
  9.                 ["version"] = 1,
  10.                 ["test"] =
  11.                 {
  12.                     ["something"] = "Non Combat",
  13.                 },
  14.             },
  15.         },
  16.     },
  17. }

Enodoc 08/16/17 05:04 PM

LUA Error
 
Anyone able to assist with the cause of a couple of UI Errors?

Code:

Checking type on argument interfaceColorType failed in GetInterfaceColor_lua
 stack traceback:
 [C]: in function 'GetInterfaceColor'
 EsoUI/Libraries/Utility/ZO_ColorDef.lua:46: in function 'ZO_ColorDef.FromInterfaceColor'
 user:/AddOns/CyrodiilAlert/CyrodiilAlert.lua:134: in function 'CA.Initialise'

This is line 134:
Lua Code:
  1. CA.colGrn = ZO_ColorDef:FromInterfaceColor(INTERFACE_COLOR_TYPE_KEEP_TOOLTIP,KEEP_TOOLTIP_COLOR_ACCESSIBLE)

Code:

user:/AddOns/CyrodiilAlert/CyrodiilAlert.lua:210: attempt to index a nil value
 stack traceback:
 user:/AddOns/CyrodiilAlert/CyrodiilAlert.lua:210: in function 'CA.InitKeeps'
 EsoUI/Libraries/Globals/globalapi.lua:195: in function '(anonymous)'

This is line 210:
Lua Code:
  1. local initText = zo_strformat(CA.colOng:Colorize(GetString(SI_CYRODIIL_ALERT_INIT_TEXT)))

I haven't changed these lines for months and as far as I can remember it was all working fine on PTS. Based on the ESOUI Wiki, line 134 should be fine, as ZO_ColorDef:FromInterfaceColor still exists, as do the constants INTERFACE_COLOR_TYPE_KEEP_TOOLTIP and KEEP_TOOLTIP_COLOR_ACCESSIBLE, and I don't know what is nil in 210 as CA.colOng is defined in line 138 as
Lua Code:
  1. CA.colOng = ZO_ColorDef:New(0.84,0.4,0.05,1)
and the string SI_CYRODIIL_ALERT_INIT_TEXT is defined in my lang file:
Lua Code:
  1. ZO_CreateStringId("SI_CYRODIIL_ALERT_INIT_TEXT", "Cyrodiil Alert Initialized")

Any insight would be greatly appreciated!

Thanks :)

ZOS_DanBatson 08/16/17 05:06 PM

Quote:

Originally Posted by Weolo (Post 32328)
I have figured out what is bugged, I was not expecting this..
There is a problem with the new event EVENT_NON_COMBAT_BONUS_CHANGED, it fires on logout to character selection screen and I guess at quit game also.

I hope I am correct in assuming this event should only fire when playing on your character when the skills are changed and not when going to the character selection screen or quitting the game.

I see the issue, I'll look into it. Thanks for the detailed info!

Weolo 08/16/17 05:11 PM

@Enodoc either go with
Lua Code:
  1. ZO_ColorDef.FromInterfaceColor(colorType, fieldValue)
Using the dot instead, or just use this instead, which I think is better
Lua Code:
  1. ZO_ColorDef:New(GetInterfaceColor(colorType, fieldValue))

So for you that would be
Lua Code:
  1. ZO_ColorDef:New(GetInterfaceColor(INTERFACE_COLOR_TYPE_KEEP_TOOLTIP,KEEP_TOOLTIP_COLOR_ACCESSIBLE))

Weolo 08/16/17 05:12 PM

Quote:

Originally Posted by ZOS_DanBatson (Post 32331)
I see the issue, I'll look into it. Thanks for the detailed info!

Cool! :cool: Glad I could help

Shinni 08/16/17 05:16 PM

You want to call ZO_ColorDef.FromInterfaceColor instead of ZO_ColorDef:FromInterfaceColor as this is the definition:
Code:

function ZO_ColorDef.FromInterfaceColor(colorType, fieldValue)
    return ZO_ColorDef:New(GetInterfaceColor(colorType, fieldValue))
end

edit: too slow...

Quote:

Originally Posted by Enodoc (Post 32330)
Anyone able to assist with the cause of a couple of UI Errors?

Code:

Checking type on argument interfaceColorType failed in GetInterfaceColor_lua
 stack traceback:
 [C]: in function 'GetInterfaceColor'
 EsoUI/Libraries/Utility/ZO_ColorDef.lua:46: in function 'ZO_ColorDef.FromInterfaceColor'
 user:/AddOns/CyrodiilAlert/CyrodiilAlert.lua:134: in function 'CA.Initialise'

This is line 134:
Lua Code:
  1. CA.colGrn = ZO_ColorDef:FromInterfaceColor(INTERFACE_COLOR_TYPE_KEEP_TOOLTIP,KEEP_TOOLTIP_COLOR_ACCESSIBLE)

Code:

user:/AddOns/CyrodiilAlert/CyrodiilAlert.lua:210: attempt to index a nil value
 stack traceback:
 user:/AddOns/CyrodiilAlert/CyrodiilAlert.lua:210: in function 'CA.InitKeeps'
 EsoUI/Libraries/Globals/globalapi.lua:195: in function '(anonymous)'

This is line 210:
Lua Code:
  1. local initText = zo_strformat(CA.colOng:Colorize(GetString(SI_CYRODIIL_ALERT_INIT_TEXT)))

I haven't changed these lines for months and as far as I can remember it was all working fine on PTS. Based on the ESOUI Wiki, line 134 should be fine, as ZO_ColorDef:FromInterfaceColor still exists, as do the constants INTERFACE_COLOR_TYPE_KEEP_TOOLTIP and KEEP_TOOLTIP_COLOR_ACCESSIBLE, and I don't know what is nil in 210 as CA.colOng is defined in line 138 as
Lua Code:
  1. CA.colOng = ZO_ColorDef:New(0.84,0.4,0.05,1)
and the string SI_CYRODIIL_ALERT_INIT_TEXT is defined in my lang file:
Lua Code:
  1. ZO_CreateStringId("SI_CYRODIIL_ALERT_INIT_TEXT", "Cyrodiil Alert Initialized")

Any insight would be greatly appreciated!

Thanks :)


Weolo 08/16/17 05:26 PM

Two of us helping Shinni is only a good thing :)

Enodoc 08/16/17 05:38 PM

@Weolo @Shinni Thanks guys, that seems to have sorted it! Strange that it was never an issue before...

sirinsidiator 08/17/17 12:55 AM

Quote:

Originally Posted by Enodoc (Post 32336)
@Weolo @Shinni Thanks guys, that seems to have sorted it! Strange that it was never an issue before...

The function definition was changed in the first PTS release.


All times are GMT -6. The time now is 01:23 AM.

vBulletin © 2024, Jelsoft Enterprises Ltd
© 2014 - 2022 MMOUI