Thread Tools Display Modes
08/28/21, 04:59 PM   #1
Leonardo1123
AddOn Author - Click to view addons
Join Date: Aug 2021
Posts: 19
Supressing native warming (not UI error)

Hi there!

I'm working on my wardrobe manager addon and I've hit a snag. Every once in a while when my addon successfully automatically changes outfits, a little alert shows up in the upper right (along with a sound) saying "Outfit cannot be changed at this time" even though the outfit was successfully changed. I haven't been able to pin down exactly what circumstances cause this to happen, as it's not every time.

Is there a way to suppress that kind of error...? Thanks for any and all help!
  Reply With Quote
08/29/21, 04:32 AM   #2
Baertram
Super Moderator
 
Baertram's Avatar
WoWInterface Super Mod
AddOn Author - Click to view addons
Join Date: Mar 2014
Posts: 4,912
Your thread name was about "native warming" and I just thought we are talking about different things here

This is how you find the source code causing this:
You need to find the text, it most probably is a SI_ constant of ZOs which are defined here e.g.
https://raw.githubusercontent.com/es...tedstrings.lua
e.g. if the text would be "That outfit is locked.", the constant would be SI_EQUIPOUTFITRESULT2

Search for SI_EQUIPOUTFITRESULT2 in the esoui source code then:
https://github.com/esoui/esoui/tree/master/esoui
Top left, search box


Github search sometimes is strange and will not show you all results. Only 4 found and non of it is the function calling this text :-(
btw: the messages with alerts at the top right or center are called "Center Screen Announcements" and teh functions calling them are in these files: https://github.com/esoui/esoui/tree/...screenannounce



I have downloaded the git files as a zip, extracted it and search the files via notepad++ or IntelliJ IDEA (my used IDE for lua development -> https://www.esoui.com/downloads/info...cessearch.html).

For the example here it does not find more so Github seems to be correct, so it was a bad example

So check what text is used "exactly" and check the localization files for the text, or portions of it, and then search it in the source codes.
Maybe it's somewhere directly within esoui/ingame/outfit as well and searching for center_screen will find it. Else search the whole ingame code for center_screen and check which one relates to outfits.


And to suppress the announcements there is a function than:
CENTER_SCREEN_ANNOUNCE:SupressAnnouncementByType(CENTER_SCREEN_ANNOUNCE_TYPE_SINGLE_COLLECTIBLE_UPDATED)
You need to check what type your announcement uses and suppress it then.
With CENTER_SCREEN_ANNOUNCE:ResumeAnnouncementByType(CENTER_SCREEN_ANNOUNCE_TYPE_SINGLE_COLLECTIBLE_UPDATED) you can resume it then.

-> Make sure to replace the type CENTER_SCREEN_ANNOUNCE_TYPE_SINGLE_COLLECTIBLE_UPDATED with the type needed!
Possible types should be listed in the ESOUI APIDocumentation_Pxx.txt file
Most probably it is CENTER_SCREEN_ANNOUNCE_TYPE_OUTFIT_CHANGES_APPLIED

Code:
CENTER_SCREEN_ANNOUNCE_TYPE_ABILITY_PROGRESSION_RANK_MORPH = 12
CENTER_SCREEN_ANNOUNCE_TYPE_ABILITY_PROGRESSION_RANK_UPDATE = 11
CENTER_SCREEN_ANNOUNCE_TYPE_ACHIEVEMENT_AWARDED = 1
CENTER_SCREEN_ANNOUNCE_TYPE_ACTIVITY_COMPLETE = 60
CENTER_SCREEN_ANNOUNCE_TYPE_ANTIQUITY_DIGGING_GAME_UPDATE = 46
CENTER_SCREEN_ANNOUNCE_TYPE_ANTIQUITY_DIG_SITES_UPDATED = 33
CENTER_SCREEN_ANNOUNCE_TYPE_ANTIQUITY_LEAD_ACQUIRED = 45
CENTER_SCREEN_ANNOUNCE_TYPE_ANTIQUITY_SCRYING_RESULT = 34
CENTER_SCREEN_ANNOUNCE_TYPE_ARTIFACT_CONTROL_STATE = 2
CENTER_SCREEN_ANNOUNCE_TYPE_AVENGE_KILL = 8
CENTER_SCREEN_ANNOUNCE_TYPE_BAG_CAPACITY_CHANGED = 56
CENTER_SCREEN_ANNOUNCE_TYPE_BANK_CAPACITY_CHANGED = 57
CENTER_SCREEN_ANNOUNCE_TYPE_BATTLEGROUND_MINUTE_WARNING = 51
CENTER_SCREEN_ANNOUNCE_TYPE_BATTLEGROUND_NEARING_VICTORY = 52
CENTER_SCREEN_ANNOUNCE_TYPE_BATTLEGROUND_OBJECTIVE = 53
CENTER_SCREEN_ANNOUNCE_TYPE_CHAMPION_LEVEL_ACHIEVED = 25
CENTER_SCREEN_ANNOUNCE_TYPE_CHAMPION_POINT_GAINED = 24
CENTER_SCREEN_ANNOUNCE_TYPE_COLLECTIBLES_UPDATED = 41
CENTER_SCREEN_ANNOUNCE_TYPE_COMPANION_ACTIVE_SKILL_UNLOCKED = 9
CENTER_SCREEN_ANNOUNCE_TYPE_COMPANION_SKILL_LINE_ADDED = 10
CENTER_SCREEN_ANNOUNCE_TYPE_CORONATE_EMPEROR = 4
CENTER_SCREEN_ANNOUNCE_TYPE_COUNTDOWN = 50
CENTER_SCREEN_ANNOUNCE_TYPE_CRAFTING_RESULTS = 64
CENTER_SCREEN_ANNOUNCE_TYPE_CYRODIIL_KEEP_REWARD = 44
CENTER_SCREEN_ANNOUNCE_TYPE_DAEDRIC_ARTIFACT_OBJECTIVE_STATE_CHANGED = 3
CENTER_SCREEN_ANNOUNCE_TYPE_DAILY_LOGIN_REWARD_CLAIMED = 36
CENTER_SCREEN_ANNOUNCE_TYPE_DEPOSE_EMPEROR = 5
CENTER_SCREEN_ANNOUNCE_TYPE_DISCOVERY_EXPERIENCE = 23
CENTER_SCREEN_ANNOUNCE_TYPE_DISPLAY_ANNOUNCEMENT = 61
CENTER_SCREEN_ANNOUNCE_TYPE_DUEL_COUNTDOWN = 49
CENTER_SCREEN_ANNOUNCE_TYPE_DUEL_FINISHED = 47
CENTER_SCREEN_ANNOUNCE_TYPE_DUEL_NEAR_BOUNDARY = 48
CENTER_SCREEN_ANNOUNCE_TYPE_ENLIGHTENMENT_GAINED = 54
CENTER_SCREEN_ANNOUNCE_TYPE_ENLIGHTENMENT_LOST = 55
CENTER_SCREEN_ANNOUNCE_TYPE_ESO_PLUS_SUBSCRIPTION_CHANGED = 62
CENTER_SCREEN_ANNOUNCE_TYPE_EXPERIENCE_GAIN = 26
CENTER_SCREEN_ANNOUNCE_TYPE_FORCE_RESPEC = 58
CENTER_SCREEN_ANNOUNCE_TYPE_JUSTICE_INFAMY_CHANGED = 37
CENTER_SCREEN_ANNOUNCE_TYPE_JUSTICE_NOW_KOS = 38
CENTER_SCREEN_ANNOUNCE_TYPE_JUSTICE_NO_LONGER_KOS = 39
CENTER_SCREEN_ANNOUNCE_TYPE_KEEP_GATE_CHANGED = 6
CENTER_SCREEN_ANNOUNCE_TYPE_LEVEL_GAIN = 27
CENTER_SCREEN_ANNOUNCE_TYPE_LORE_BOOK_LEARNED = 18
CENTER_SCREEN_ANNOUNCE_TYPE_LORE_BOOK_LEARNED_SKILL_EXPERIENCE = 19
CENTER_SCREEN_ANNOUNCE_TYPE_LORE_COLLECTION_COMPLETED = 16
CENTER_SCREEN_ANNOUNCE_TYPE_LORE_COLLECTION_COMPLETED_SKILL_EXPERIENCE = 17
CENTER_SCREEN_ANNOUNCE_TYPE_OBJECTIVE_COMPLETED = 28
CENTER_SCREEN_ANNOUNCE_TYPE_OUTFIT_CHANGES_APPLIED = 42
CENTER_SCREEN_ANNOUNCE_TYPE_PLEDGE_OF_MARA_RESULT = 0
CENTER_SCREEN_ANNOUNCE_TYPE_POI_DISCOVERED = 35
CENTER_SCREEN_ANNOUNCE_TYPE_QUEST_ADDED = 32
CENTER_SCREEN_ANNOUNCE_TYPE_QUEST_COMPLETED = 29
CENTER_SCREEN_ANNOUNCE_TYPE_QUEST_CONDITION_COMPLETED = 31
CENTER_SCREEN_ANNOUNCE_TYPE_QUEST_PROGRESSION_CHANGED = 30
CENTER_SCREEN_ANNOUNCE_TYPE_RAID_TRIAL = 22
CENTER_SCREEN_ANNOUNCE_TYPE_REVENGE_KILL = 7
CENTER_SCREEN_ANNOUNCE_TYPE_RIDING_SKILL_IMPROVEMENT = 43
CENTER_SCREEN_ANNOUNCE_TYPE_SINGLE_COLLECTIBLE_UPDATED = 40
CENTER_SCREEN_ANNOUNCE_TYPE_SKILL_LINE_ADDED = 13
CENTER_SCREEN_ANNOUNCE_TYPE_SKILL_POINTS_GAINED = 21
CENTER_SCREEN_ANNOUNCE_TYPE_SKILL_POINTS_PARTIAL_GAINED = 20
CENTER_SCREEN_ANNOUNCE_TYPE_SKILL_RANK_UPDATE = 14
CENTER_SCREEN_ANNOUNCE_TYPE_SKILL_XP_UPDATE = 15
CENTER_SCREEN_ANNOUNCE_TYPE_SYSTEM_BROADCAST = 63
CENTER_SCREEN_ANNOUNCE_TYPE_TIMED_ACTIVITY_COMPLETED = 59
So you could test it ingame via /script CENTER_SCREEN_ANNOUNCE:SupressAnnouncementByType(CENTER_SCREEN_ANNOUNCE_TYPE_OUTFIT_CHANGES_APPLIED)
and then use your addon to apply the outfit and check if the message is shown or not.

Last edited by Baertram : 08/29/21 at 04:38 AM.
  Reply With Quote
08/29/21, 01:19 PM   #3
Leonardo1123
AddOn Author - Click to view addons
Join Date: Aug 2021
Posts: 19
Hey thanks so much for the help! So I tried throwing that into my initialize function and it threw an error:

Code:
user:/AddOns/LeonardosWardrobeManager/LeonardosWardrobeManager.lua:186: function expected instead of nil
stack traceback:
user:/AddOns/LeonardosWardrobeManager/LeonardosWardrobeManager.lua:186: in function 'LWM:Initialize'
|caaaaaa<Locals> self = [table:1]{LibFeedbackInstalled = T, username = "@Leonardo1123", name = "LeonardosWardrobeManager", variableVersion = 6, fullName = "Leonardo's Wardrobe Manager"} </Locals>|r
user:/AddOns/LeonardosWardrobeManager/LeonardosWardrobeManager.lua:231: in function 'LWM.OnAddOnLoaded'
|caaaaaa<Locals> _ = 65536, addonName = "LeonardosWardrobeManager" </Locals>|r
I tried testing it using script and it threw another error (but I'm guessing I'm not using script correctly, I also tried wrapping it in
Code:
function(_) .. end
and
Code:
function(_) do .. end
and that didn't work either):
Code:
[string "CENTER_SCREEN_ANNOUNCE:SuppressAnnouncementByType(CENTER_SCREEN_ANNOUNCE_TYPE_OUTFIT_CHANGES_APPLIED)"]:1: function expected instead of nil
stack traceback:
[string "CENTER_SCREEN_ANNOUNCE:SuppressAnnouncementByType(CENTER_SCREEN_ANNOUNCE_TYPE_OUTFIT_CHANGES_APPLIED)"]:1: in function '(main chunk)'
/EsoUI/Ingame/SlashCommands/SlashCommands_Shared.lua:6: in function 'fn'
|caaaaaa<Locals> txt = "CENTER_SCREEN_ANNOUNCE:Suppres...", f = [string "CENTER_SCREEN_ANNOUNCE:SuppressAnnouncementByType(CENTER_SCREEN_ANNOUNCE_TYPE_OUTFIT_CHANGES_APPLIED)"]:0 </Locals>|r
/EsoUI/Ingame/SlashCommands/SlashCommands_Shared.lua:204: in function 'DoCommand'
|caaaaaa<Locals> text = "/script CENTER_SCREEN_ANNOUNCE...", command = "/script", arguments = "CENTER_SCREEN_ANNOUNCE:Suppres...", fn = /EsoUI/Ingame/SlashCommands/SlashCommands_Shared.lua:4 </Locals>|r
/EsoUI/Ingame/ChatSystem/SharedChatSystem.lua:1799: in function 'SharedChatSystem:SubmitTextEntry'
|caaaaaa<Locals> self = [table:1]{numUnreadMails = 0, requirementErrorMessage = "", ignoreTextEntryChangedEvent = F, suppressSave = F, isAgentChatActive = F, lastValidChannel = 13, currentChannel = 3, maxContainerHeight = 1026, minContainerHeight = 170, loaded = T, shouldMinimizeAfterEntry = F, maxContainerWidth = 1824, minContainerWidth = 300, currentNumNotifications = 2, allowMultipleContainers = F, isMinimizingOrMaximizing = F, isMinimized = F}, text = "/script CENTER_SCREEN_ANNOUNCE...", valid = F, prefix = 47 </Locals>|r
(tail call): ?
/EsoUI/Ingame/ChatSystem/SharedChatSystem.lua:2524: in function 'ZO_ChatTextEntry_Execute'
|caaaaaa<Locals> control = ud </Locals>|r
ZO_ChatWindowTextEntryEditBox_Enter:3: in function '(main chunk)'
|caaaaaa<Locals> self = ud </Locals>|r
(tail call): ?
(tail call): ?

Originally Posted by Baertram View Post
Your thread name was about "native warming" and I just thought we are talking about different things here

This is how you find the source code causing this:
You need to find the text, it most probably is a SI_ constant of ZOs which are defined here e.g.
https://raw.githubusercontent.com/es...tedstrings.lua
e.g. if the text would be "That outfit is locked.", the constant would be SI_EQUIPOUTFITRESULT2

Search for SI_EQUIPOUTFITRESULT2 in the esoui source code then:
https://github.com/esoui/esoui/tree/master/esoui
Top left, search box


Github search sometimes is strange and will not show you all results. Only 4 found and non of it is the function calling this text :-(
btw: the messages with alerts at the top right or center are called "Center Screen Announcements" and teh functions calling them are in these files: https://github.com/esoui/esoui/tree/...screenannounce



I have downloaded the git files as a zip, extracted it and search the files via notepad++ or IntelliJ IDEA (my used IDE for lua development -> https://www.esoui.com/downloads/info...cessearch.html).

For the example here it does not find more so Github seems to be correct, so it was a bad example

So check what text is used "exactly" and check the localization files for the text, or portions of it, and then search it in the source codes.
Maybe it's somewhere directly within esoui/ingame/outfit as well and searching for center_screen will find it. Else search the whole ingame code for center_screen and check which one relates to outfits.


And to suppress the announcements there is a function than:
CENTER_SCREEN_ANNOUNCE:SupressAnnouncementByType(CENTER_SCREEN_ANNOUNCE_TYPE_SINGLE_COLLECTIBLE_UPDATED)
You need to check what type your announcement uses and suppress it then.
With CENTER_SCREEN_ANNOUNCE:ResumeAnnouncementByType(CENTER_SCREEN_ANNOUNCE_TYPE_SINGLE_COLLECTIBLE_UPDATED) you can resume it then.

-> Make sure to replace the type CENTER_SCREEN_ANNOUNCE_TYPE_SINGLE_COLLECTIBLE_UPDATED with the type needed!
Possible types should be listed in the ESOUI APIDocumentation_Pxx.txt file
Most probably it is CENTER_SCREEN_ANNOUNCE_TYPE_OUTFIT_CHANGES_APPLIED

Code:
CENTER_SCREEN_ANNOUNCE_TYPE_ABILITY_PROGRESSION_RANK_MORPH = 12
CENTER_SCREEN_ANNOUNCE_TYPE_ABILITY_PROGRESSION_RANK_UPDATE = 11
CENTER_SCREEN_ANNOUNCE_TYPE_ACHIEVEMENT_AWARDED = 1
CENTER_SCREEN_ANNOUNCE_TYPE_ACTIVITY_COMPLETE = 60
CENTER_SCREEN_ANNOUNCE_TYPE_ANTIQUITY_DIGGING_GAME_UPDATE = 46
CENTER_SCREEN_ANNOUNCE_TYPE_ANTIQUITY_DIG_SITES_UPDATED = 33
CENTER_SCREEN_ANNOUNCE_TYPE_ANTIQUITY_LEAD_ACQUIRED = 45
CENTER_SCREEN_ANNOUNCE_TYPE_ANTIQUITY_SCRYING_RESULT = 34
CENTER_SCREEN_ANNOUNCE_TYPE_ARTIFACT_CONTROL_STATE = 2
CENTER_SCREEN_ANNOUNCE_TYPE_AVENGE_KILL = 8
CENTER_SCREEN_ANNOUNCE_TYPE_BAG_CAPACITY_CHANGED = 56
CENTER_SCREEN_ANNOUNCE_TYPE_BANK_CAPACITY_CHANGED = 57
CENTER_SCREEN_ANNOUNCE_TYPE_BATTLEGROUND_MINUTE_WARNING = 51
CENTER_SCREEN_ANNOUNCE_TYPE_BATTLEGROUND_NEARING_VICTORY = 52
CENTER_SCREEN_ANNOUNCE_TYPE_BATTLEGROUND_OBJECTIVE = 53
CENTER_SCREEN_ANNOUNCE_TYPE_CHAMPION_LEVEL_ACHIEVED = 25
CENTER_SCREEN_ANNOUNCE_TYPE_CHAMPION_POINT_GAINED = 24
CENTER_SCREEN_ANNOUNCE_TYPE_COLLECTIBLES_UPDATED = 41
CENTER_SCREEN_ANNOUNCE_TYPE_COMPANION_ACTIVE_SKILL_UNLOCKED = 9
CENTER_SCREEN_ANNOUNCE_TYPE_COMPANION_SKILL_LINE_ADDED = 10
CENTER_SCREEN_ANNOUNCE_TYPE_CORONATE_EMPEROR = 4
CENTER_SCREEN_ANNOUNCE_TYPE_COUNTDOWN = 50
CENTER_SCREEN_ANNOUNCE_TYPE_CRAFTING_RESULTS = 64
CENTER_SCREEN_ANNOUNCE_TYPE_CYRODIIL_KEEP_REWARD = 44
CENTER_SCREEN_ANNOUNCE_TYPE_DAEDRIC_ARTIFACT_OBJECTIVE_STATE_CHANGED = 3
CENTER_SCREEN_ANNOUNCE_TYPE_DAILY_LOGIN_REWARD_CLAIMED = 36
CENTER_SCREEN_ANNOUNCE_TYPE_DEPOSE_EMPEROR = 5
CENTER_SCREEN_ANNOUNCE_TYPE_DISCOVERY_EXPERIENCE = 23
CENTER_SCREEN_ANNOUNCE_TYPE_DISPLAY_ANNOUNCEMENT = 61
CENTER_SCREEN_ANNOUNCE_TYPE_DUEL_COUNTDOWN = 49
CENTER_SCREEN_ANNOUNCE_TYPE_DUEL_FINISHED = 47
CENTER_SCREEN_ANNOUNCE_TYPE_DUEL_NEAR_BOUNDARY = 48
CENTER_SCREEN_ANNOUNCE_TYPE_ENLIGHTENMENT_GAINED = 54
CENTER_SCREEN_ANNOUNCE_TYPE_ENLIGHTENMENT_LOST = 55
CENTER_SCREEN_ANNOUNCE_TYPE_ESO_PLUS_SUBSCRIPTION_CHANGED = 62
CENTER_SCREEN_ANNOUNCE_TYPE_EXPERIENCE_GAIN = 26
CENTER_SCREEN_ANNOUNCE_TYPE_FORCE_RESPEC = 58
CENTER_SCREEN_ANNOUNCE_TYPE_JUSTICE_INFAMY_CHANGED = 37
CENTER_SCREEN_ANNOUNCE_TYPE_JUSTICE_NOW_KOS = 38
CENTER_SCREEN_ANNOUNCE_TYPE_JUSTICE_NO_LONGER_KOS = 39
CENTER_SCREEN_ANNOUNCE_TYPE_KEEP_GATE_CHANGED = 6
CENTER_SCREEN_ANNOUNCE_TYPE_LEVEL_GAIN = 27
CENTER_SCREEN_ANNOUNCE_TYPE_LORE_BOOK_LEARNED = 18
CENTER_SCREEN_ANNOUNCE_TYPE_LORE_BOOK_LEARNED_SKILL_EXPERIENCE = 19
CENTER_SCREEN_ANNOUNCE_TYPE_LORE_COLLECTION_COMPLETED = 16
CENTER_SCREEN_ANNOUNCE_TYPE_LORE_COLLECTION_COMPLETED_SKILL_EXPERIENCE = 17
CENTER_SCREEN_ANNOUNCE_TYPE_OBJECTIVE_COMPLETED = 28
CENTER_SCREEN_ANNOUNCE_TYPE_OUTFIT_CHANGES_APPLIED = 42
CENTER_SCREEN_ANNOUNCE_TYPE_PLEDGE_OF_MARA_RESULT = 0
CENTER_SCREEN_ANNOUNCE_TYPE_POI_DISCOVERED = 35
CENTER_SCREEN_ANNOUNCE_TYPE_QUEST_ADDED = 32
CENTER_SCREEN_ANNOUNCE_TYPE_QUEST_COMPLETED = 29
CENTER_SCREEN_ANNOUNCE_TYPE_QUEST_CONDITION_COMPLETED = 31
CENTER_SCREEN_ANNOUNCE_TYPE_QUEST_PROGRESSION_CHANGED = 30
CENTER_SCREEN_ANNOUNCE_TYPE_RAID_TRIAL = 22
CENTER_SCREEN_ANNOUNCE_TYPE_REVENGE_KILL = 7
CENTER_SCREEN_ANNOUNCE_TYPE_RIDING_SKILL_IMPROVEMENT = 43
CENTER_SCREEN_ANNOUNCE_TYPE_SINGLE_COLLECTIBLE_UPDATED = 40
CENTER_SCREEN_ANNOUNCE_TYPE_SKILL_LINE_ADDED = 13
CENTER_SCREEN_ANNOUNCE_TYPE_SKILL_POINTS_GAINED = 21
CENTER_SCREEN_ANNOUNCE_TYPE_SKILL_POINTS_PARTIAL_GAINED = 20
CENTER_SCREEN_ANNOUNCE_TYPE_SKILL_RANK_UPDATE = 14
CENTER_SCREEN_ANNOUNCE_TYPE_SKILL_XP_UPDATE = 15
CENTER_SCREEN_ANNOUNCE_TYPE_SYSTEM_BROADCAST = 63
CENTER_SCREEN_ANNOUNCE_TYPE_TIMED_ACTIVITY_COMPLETED = 59
So you could test it ingame via /script CENTER_SCREEN_ANNOUNCE:SupressAnnouncementByType(CENTER_SCREEN_ANNOUNCE_TYPE_OUTFIT_CHANGES_APPLIED)
and then use your addon to apply the outfit and check if the message is shown or not.
  Reply With Quote
08/29/21, 03:24 PM   #4
Leonardo1123
AddOn Author - Click to view addons
Join Date: Aug 2021
Posts: 19
Okay, so they misspell "suppress" as "supress". Changing that fixed the UI error, but didn't suppress my alert.

I think I need to do something involving the file alerthandlers.lua, and I think I even found the right alert to suppress, but I'm not sure how exactly to suppress it.

Edit:
This works!
Code:
    local handlers = ZO_AlertText_GetHandlers()
    handlers[EVENT_OUTFIT_EQUIP_RESPONSE] = function() end

Last edited by Leonardo1123 : 08/29/21 at 03:41 PM.
  Reply With Quote
08/30/21, 01:32 AM   #5
Baertram
Super Moderator
 
Baertram's Avatar
WoWInterface Super Mod
AddOn Author - Click to view addons
Join Date: Mar 2014
Posts: 4,912
/script needs to entered into the chat editbox followed by a space and then normal lua syntax.
Same like in your .lua files (where there is no /script at each line).

Glad it worked for you.
  Reply With Quote

ESOUI » Developer Discussions » Lua/XML Help » Supressing native warming (not UI error)

Thread Tools
Display Modes

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