1.6 Addon API Feedback
Feel free to post any questions or concerns about the 1.6 Addon API changes here.
|
Admit it! You are actually testing your updates against our addons to ensure maximum mayhem :p
I just tried my addons on the pts and most of them won't run without some fixes. Also a bit sad that there are no updates to the trading house search API. Could use a few improvements. Other than that I haven't looked to deeply into the changes yet. Will save that for the weekend. |
Quote:
|
Maybe a dumb question but where can I find the changes to the API with patch 1.6 listed?
|
Quote:
btw... is there an issue with existing version of LibMapPins-1.0 in 1.6? I can't see any changes made to the API that should affect my Destinations addon, but there are no tooltips on ANY of the pins. |
Quote:
Quote:
|
I haven't really started banging on any of mine yet, but I was pleasantly surprised to log in to only one error message from an addon under my care.
The error was in Dye Station Achievement Links, had to change ZO_Dyeing to DYEING (which was originally how I thought it should have worked, but didn't). I noticed in the source code some inconsistencies with the usage of collectible/collectable. Might consider ironing that out :) I'm excited to see what may be possible with the champion UI, collections UI, and crown store UI. |
Quote:
http://www.esoui.com/forums/showthre...8442#post18442 |
In one of my addons I'm using item link in the label text:
Lua Code:
Text is set in this code (actualy it is in LibAddonMenu-2.0, this is just simplified version): Lua Code:
The same goes for tooltip: Lua Code:
|
Chip thank you for GetAPIVersion. It is small thing but nice to have. I only had a chance to play PTS for a couple hours so far and not delved into add-on parts yet.
|
Quote:
Would be nice to see any or all of them in the future :cool: |
I wasn't able to get the main API functions to work for setting pending points or adjusting them. ClearPendingChampionPoints doesn't take any arguments, but wouldn't work from /script. I could get a dump of the points in each skill but feeding those same indices back in didn't do anything.
However, I was able to directly update the controls on the ui with something like this: Lua Code:
What's the correct syntax for AddPendingChampionPoints and such? Does it need to be prefixed by particular calls or is it just not working? |
Quote:
1) Clear the pending point storage in the client. 2) Add points that you want to spend by passing the discipline (constellation) index, skill index, and number of points to spend. 3) Call SpendPendingChampion points. If are just adding points, pass in false and the pending points will be interpreted as points to add to each skill. If you are respecing, pass in true and the pending points will be interpreted as the final point values for each skill. These functions have no impact on the UI. They are just used to pass all of the requested points to the client. |
Actually I was hoping for the Object function SetShapeType to do something usefull :rolleyes:.
At least for controlls like Scroll. Values to be passed are SHAPE_BOX and SHAPE_CIRCLE, but it is well known that this function doesn't do anything. So, my question is - are there any plans on to make SetShapeType do anything at all? |
Quote:
|
Quote:
|
Quote:
|
Quote:
|
Quote:
|
There are 4 (or 5) variables leaking to global. ;)
http://www.esoui.com/forums/showpost...1&postcount=16 |
There are some UI objects that are difficult to get hold of, because they're only kept in local variables.
ingame/mainmenu/mainmenu.lua Function ZO_MainMenuManager:Initialize creates an instance of ZO_AddOnManager, and puts it in a local variable. In AddonProfiles, I override ZO_AddOnManager:OnShow with the sole purpose of getting that instance. If not global, it could at least be a member in ZO_MainMenuManager (MAIN_MENU). ingame/campaign/campaignbrowser.lua CAMPAIGN_BROWSER is local in this file Again, I was able to get it, but this one required a dirty hack. As to what for, it's a not-yet-ready add-on that flattens campaign tree, so that all (Normal) campaigns appear in one list. ingame/leaderboards/leaderboards_shared.lua And now for something completely different. Function ZO_LeaderboardsListManager_Shared:IndexFunction, which is used to implement __index meta-method on data tables, returns dataTable[key]. As long as every accessed key either exists or is added in SetupDataTable, it works. But when someone foolish enough attempts to access dataTable.foobar, it will lead to infinite recursion. Yes, I learned that the hard way ;) The function should return rawget(dataTable, key). |
Quote:
|
ITEMTYPE enums and provisioning ingredients:
With the new provisioning changes, we now have one in-game item with ITEMTYPE_SPICE, one in-game item with ITEMTYPE_FLAVORING, and alllllllll the rest have ITEMTYPE_INGREDIENT. Perhaps the following might be implemented? ITEMTYPE_MEAT (fish, white meat, red meat, game, small game, poultry) ITEMTYPE_FRUIT (apples, bananas, jazbay grapes, melons, tomatoes, pumpkins) ITEMTYPE_VEGETABLE (carrots, potatoes, corn, radishes, beets, greens) ITEMTYPE_ALCOHOL, ITEMTYPE_TEA, ITEMTYPE_TONIC similarly And the other 12 ingredients can stay ITEMTYPE_INGREDIENT, since they're pretty generic. I figure, since enchanting runes got subdivided, it's worth a shot, and it would make certain things in SousChef much easier :-) |
Quote:
|
Quote:
im not really a developer, but can ZOS add to api smthing to detect all number of players in the home campaing to calculate a "gold reward position"? afaik its top 10% like described there http://www.esoui.com/forums/showthread.php?t=4260 |
Quote:
|
sorry, looks like rewards for campaign works like this
- first 100 ppl det purple items - first 10 ppl get gold items disregard my prev question |
I have wondered if this one:
EVENT_QUEST_ADDED (integer eventCode, integer journalIndex, string questName, string objectiveName) could get changed to something like this: EVENT_QUEST_ADDED (integer eventCode, integer journalIndex, string questName, string objectiveName, integer questID) so we can get the quest ID's. Actually I would like to be able to get/use ID's for all those quest events. |
Quote:
I also apologize for the delay in response, am under the weather with hay-fever at present. |
what does
Code:
GetChampionPointAttributeForRank() Atm it returns 0 Does it returns an integer, that describes, what the next CP will be? Like 0 = Blue 1 = Red 2 = Green ? And another important thing: Can we get the Buffs/Hots/Dots and Debuffs back please? Especially in trials its really hard to see if a buff or debuff is active or if it's not. And the current API gives only feedback on a really low number of buffs / debuffs. For example: Poison arrow. You can see an effect on the target and you can see your hands glowing green. Everything fine, while playing solo. But if you are fighting in a big crowd like in trials or PvP you can't see if a buff is up or if its not. I know, that there are some addons wich show buffs, but these buffs are only interpreted by klicking a button with the assigned skill and they also say that there is a buff running, when you have canceled the skill or pressed it while stunned or something. i think a working buffinfo from the API would be really nice, and a lot of people would love to see this feature! |
I will answer just the first part of your question:
Quote:
ATTRIBUTE_NONE = 0 ATTRIBUTE_HEALTH = 1 ATTRIBUTE_MAGICKA = 2 ATTRIBUTE_STAMINA = 3 So it is more like: 0 = None 1 = Red 2 = Blue 3 = Green Here is a small piece of code from UI (center screen anounnce handler) which shows how to use this function: Lua Code:
|
Ty Garkin,
that was exactly what i was looking for. |
Yesterday I found out that CAMPAIGN_LEADERBOARDS became local. I didn't have much time to investigate, so far it seems it's only obtainable via hooking base class methods. Edit: I don't need it, as I was only hooking UpdatePlayerInfo, which was moved to a base class, so I can hook it there. But the detective work required everytime I want to hook something that's declared local is becoming tedious.
Well, reducing the amount of globals is generally a good thing, but could all those localized capitalized objects be made accessible from outside of their module? I mean ZOS code would keep using locals, but after construction also add them to a global table for add-on tackling. |
Travel to and Invite Guildmate to group bug
The "Travel to Player" and "Invite to Group" menu items are missing from the guild roster context menu. I can't test, because ZO_KeyboardGuildRosterManager is local, but I believe the issue is located in the function ZO_KeyboardGuildRosterManager:GuildRosterRow_OnMouseUp in the file guildroster_keyboard.lua.
The variable playerAlliance is used to check that the player and the target are in the same alliance, but playerAlliance is not declared within the scope of ZO_KeyboardGuildRosterManager:GuildRosterRow_OnMouseUp. :) |
Quote:
EsoUI\Ingame\Guild\Keyboard\GuildRoster_Keyboard.lua, lines 232-237: Lua Code:
|
hmm - so we can fix this? or its the path to internal part of the file we cannot change, only ZOs can?
|
Quote:
Or to be more precise, object ZO_KeyboardGuildRosterManager is local, so we can't redefine it's methods directly - we have to find instance of this object (in this case GUILD_ROSTER_KEYBOARD) and then make a new definition of GuildRosterRow_OnMouseUp method. |
and what about this? icon now always visible on pts
friends indicator |
Quote:
Lua Code:
|
Is there easy way to tell if you are interacting with fence or with regular merchant? Intraction type for both is INTREACTION_VENDOR.
|
Quote:
|
Quote:
|
could you by any chance also change zo_callLater to call the method after unregistering the update? because when the method throws an error, it never gets removed and will call the broken method again until I reload the ui... :D
|
Hello!
A question to Chip: In update 1.5 you guys made CopyAllTextToClipboard function private. Was this really necessary? It would be great if you could bring it back to public. It would be even better if you could also extend the copy buffer to something bigger than 1023 characters. This functionality is necessary for my Book Copy addon to work. |
Quote:
|
Quote:
There is a FENCE_SCENE though, you could check the current scene. I also saw these which you might find useful, they are all from the FENCE_MANAGER Lua Code:
|
Infmay Nil Error
PTS Error:
It looks like: ZO_HUDInfamyMeter_Update(..) doesn't get called until the ZO_HUDInfamyMeter is shown. xml Code:
Which is the only place I see :Update(..) getting called Lua Code:
Which calls :OnInfamyUpdate(..) Lua Code:
and finally self.oldInfamy does not get initialized until the last line of this function: Lua Code:
So if this event fires before the HUDInfamyMeter gets displayed (by opening some ui panel) then self.oldInfamy is still nil Lua Code:
|
- Function GetChampionXPInRank(3600) returns nil. But 3600 is the last point you can get, so there has to be value for XP in rank 3600. Or this function returns not XP in specified rank, but in the next rank?
- If you have maximum champion points earned, why experience bar shows next champion point? |
Quote:
|
Quote:
|
@ZOS_ChipHilseberg: Could you please add something like:
Lua Code:
Many of us wondered at least once why our d("hello world!") shouts from initialization handlers wouldn't show up. There are workarounds (buffering until chat is ready), but unless CHAT_SYSTEM is guarranteed to receive EVENT_PLAYER_ACTIVATED before any other add-on/control listening for that event (which I assume it isn't), only the dirty one is reliable (hooking LoadChatFromSettings). |
Or make d() work in a way that outputs things that are sent before chat is ready ;)
|
Quote:
|
This is not originally my idea, but I think it is really useful - can we get confirmation dialog when we try to equip "bound on equip" item? It really hurts if you find out that you have accidentaly equiped wrong Ring of the Healer...
It could be optional - the same way like autoloot etc. |
And it hurts even more when customer service tells you that they haven't gotten the tools to undo it...
|
This is function in MailInbox.lua:
Lua Code:
|
Is it intended that you get "item repaired" alerts even in "keyboard" mode?
I believe that those alerts are from ZO_GamepadStoreManager: Lua Code:
|
Quote:
|
Waypoint Bug on PTS
Waypoints, on the normal zone maps, removed with RemovePlayerWaypoint() get recreated when zooming back into your zone on the map.
By "normal" zone maps I mean that I could not reproduce it while in a subzone that has its own map, like a town. With no addons installed I was able to reproduce this in cyrodil and craglorn (I didn't try anywhere else) while in a location of the "normal" zone map. Steps to recreate:
If it helps track it down I also noticed that the bug does not occur if:
|
Correct API version for Update 1.6.x, but client still lists addons as out of date
I have noticed that newly updated addons for 1.6 are still shown as out of date even though their .txt files show a reference to the correct API version. Anyone know what's happening here? Was there some crucial change in how the client software detects addon API compliance?
The only exception I've seen so far is that Wykkyd's Gaming Suite addons are listed as current. |
All times are GMT -6. The time now is 01:27 AM. |
vBulletin © 2024, Jelsoft Enterprises Ltd
© 2014 - 2022 MMOUI