Thread Tools Display Modes
02/09/15, 10:30 AM   #41
ZOS_ChipHilseberg
ZOS Staff!
Premium Member
Yes this person is from ZeniMax!
Join Date: Oct 2014
Posts: 551
Originally Posted by Garkin View Post
Ha, you're right. There is a typo in code.
A fix is in place for the next PTS push.
  Reply With Quote
02/09/15, 12:42 PM   #42
ZOS_ChipHilseberg
ZOS Staff!
Premium Member
Yes this person is from ZeniMax!
Join Date: Oct 2014
Posts: 551
Originally Posted by merlight View Post
There are some UI objects that are difficult to get hold of, because they're only kept in local variables.
These should be global before the live 1.6 patch launches as ADD_ON_MANAGER and CAMPAIGN_BROWSER. We also fixed the infinite loop with the meta-method but that may take a little longer.
  Reply With Quote
02/09/15, 01:09 PM   #43
sirinsidiator
 
sirinsidiator's Avatar
AddOn Author - Click to view addons
Join Date: Apr 2014
Posts: 1,566
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...
  Reply With Quote
02/10/15, 04:41 AM   #44
Harven
 
Harven's Avatar
AddOn Author - Click to view addons
Join Date: Apr 2014
Posts: 135
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.
  Reply With Quote
02/10/15, 07:50 AM   #45
merlight
AddOn Author - Click to view addons
Join Date: Jul 2014
Posts: 671
Originally Posted by ZOS_ChipHilseberg View Post
These should be global before the live 1.6 patch launches as ADD_ON_MANAGER and CAMPAIGN_BROWSER. We also fixed the infinite loop with the meta-method but that may take a little longer.
Great. Have you reached some consensus regarding exposure of these ALL_CAPS_OBJECTS? I noticed some are being registered through SYSTEMS. Is that the place we should be getting them from in the future?
  Reply With Quote
02/10/15, 04:12 PM   #46
circonian
AddOn Author - Click to view addons
Join Date: May 2014
Posts: 613
Originally Posted by Garkin View Post
Is there easy way to tell if you are interacting with fence or with regular merchant? Intraction type for both is INTREACTION_VENDOR.
I didn't see any API like IsAtFence()
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:
  1. EVENT_MANAGER:RegisterForEvent("ZO_Fence_Manager", EVENT_OPEN_FENCE, function(eventCode) self:OnFenceOpened() end)
  2. EVENT_MANAGER:RegisterForEvent("ZO_Fence_Manager", EVENT_CLOSE_STORE, function(eventCode) self:OnFenceClosed() end)
  3.  
  4. self:FireCallbacks("FenceOpened", self.sellsUsed, self.laundersUsed)
  5. self:FireCallbacks("FenceClosed")
  6. self:FireCallbacks("FenceSellSuccess")
  7. self:FireCallbacks("FenceLaunderSuccess")
  8. self:FireCallbacks("FenceUpdated", self.totalSells, sellsUsed, self.totalLaunders, laundersUsed)
  9. self:FireCallbacks("FenceEnterSell", self.totalSells, self.sellsUsed)
  10. self:FireCallbacks("FenceEnterLaunder", self.totalLaunders, self.laundersUsed)
  11. self:FireCallbacks("FenceInventoryUpdated")
  Reply With Quote
02/20/15, 12:35 AM   #47
circonian
AddOn Author - Click to view addons
Join Date: May 2014
Posts: 613
Infmay Nil Error

PTS Error:


It looks like:

ZO_HUDInfamyMeter_Update(..) doesn't get called until the ZO_HUDInfamyMeter is shown.
xml Code:
  1. <TopLevelControl name="ZO_HUDInfamyMeter" hidden="true" >
  2.    <OnInitialized>
  3.       ZO_HUDInfamyMeter_Initialize(self)
  4.    </OnInitialized>
  5.    <OnUpdate>
  6.       ZO_HUDInfamyMeter_Update(time)
  7.    </OnUpdate>
  8. </TopLevelControl>

Which is the only place I see :Update(..) getting called
Lua Code:
  1. function ZO_HUDInfamyMeter_Update(time)
  2.     HUD_INFAMY_METER:Update(time)
  3. end

Which calls :OnInfamyUpdate(..)
Lua Code:
  1. function ZO_HUDInfamyMeter:Update(time)
  2.     if self.nextUpdateTime <= time and not self.hiddenExternalRequest then
  3.         self.nextUpdateTime = time + INFAMY_METER_UPDATE_DELAY_SECONDS
  4.         self:OnInfamyUpdated(UPDATE_TYPE_TICK)
  5.     end
  6. end

and finally self.oldInfamy does not get initialized until the last line of this function:
Lua Code:
  1. function ZO_HUDInfamyMeter:OnInfamyUpdated(updateType)
  2.    ...
  3.     self.oldInfamy = self.infamy
  4. end

So if this event fires before the HUDInfamyMeter gets displayed (by opening some ui panel) then self.oldInfamy is still nil
Lua Code:
  1. -- Register for events
  2.     control:RegisterForEvent(EVENT_JUSTICE_INFAMY_UPDATED, function()
  3.         local infamy = GetInfamy()
  4.         if not self.hiddenExternalRequest and infamy ~= 0 and infamy > self.oldInfamy then self:OnInfamyUpdated(UPDATE_TYPE_EVENT) end
  5.     end)

Last edited by circonian : 02/20/15 at 12:52 AM.
  Reply With Quote
02/20/15, 08:42 AM   #48
Garkin
 
Garkin's Avatar
AddOn Author - Click to view addons
Join Date: Mar 2014
Posts: 832
- 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?

Last edited by Garkin : 02/20/15 at 08:52 AM.
  Reply With Quote
02/20/15, 09:08 AM   #49
merlight
AddOn Author - Click to view addons
Join Date: Jul 2014
Posts: 671
Originally Posted by Garkin View Post
- 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?
GetChampionXPInRank(0) returns 400k, so I guess you start at rank 0 and the value is how much you need to reach the next rank (get the next point).
  Reply With Quote
02/20/15, 09:28 AM   #50
ZOS_ChipHilseberg
ZOS Staff!
Premium Member
Yes this person is from ZeniMax!
Join Date: Oct 2014
Posts: 551
Originally Posted by merlight View Post
GetChampionXPInRank(0) returns 400k, so I guess you start at rank 0 and the value is how much you need to reach the next rank (get the next point).
This is correct.
  Reply With Quote
02/22/15, 06:18 AM   #51
merlight
AddOn Author - Click to view addons
Join Date: Jul 2014
Posts: 671
@ZOS_ChipHilseberg: Could you please add something like:
Lua Code:
  1. CALLBACK_MANAGER:FireCallbacks("ChatSystemLoaded", self)
to the end of SharedChatSystem:LoadChatFromSettings ?

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).
  Reply With Quote
02/22/15, 06:25 AM   #52
sirinsidiator
 
sirinsidiator's Avatar
AddOn Author - Click to view addons
Join Date: Apr 2014
Posts: 1,566
Or make d() work in a way that outputs things that are sent before chat is ready
  Reply With Quote
02/22/15, 08:14 AM   #53
merlight
AddOn Author - Click to view addons
Join Date: Jul 2014
Posts: 671
Originally Posted by sirinsidiator View Post
Or make d() work in a way that outputs things that are sent before chat is ready
Of course, but that wouldn't be a one-liner. And, sorry for being sceptical , if EVENT_MANAGER calls handlers in the order they were registered, I'll be fine with EVENT_PLAYER_ACTIVATED.
  Reply With Quote
02/23/15, 01:28 PM   #54
Garkin
 
Garkin's Avatar
AddOn Author - Click to view addons
Join Date: Mar 2014
Posts: 832
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.

Last edited by Garkin : 02/23/15 at 01:34 PM.
  Reply With Quote
02/23/15, 01:45 PM   #55
sirinsidiator
 
sirinsidiator's Avatar
AddOn Author - Click to view addons
Join Date: Apr 2014
Posts: 1,566
And it hurts even more when customer service tells you that they haven't gotten the tools to undo it...
  Reply With Quote
02/24/15, 08:46 PM   #56
Garkin
 
Garkin's Avatar
AddOn Author - Click to view addons
Join Date: Mar 2014
Posts: 832
This is function in MailInbox.lua:

Lua Code:
  1. function MailInbox:ConfirmDelete(mailId)
  2.     if not IsMailReturnable(self.mailId) then
  3.         DeleteMail(mailId, true)
  4.         PlaySound(SOUNDS.MAIL_ITEM_DELETED)
  5.     end
  6. end
Is it intended that IsMailReturnable is called for self.mailId and DeleteMail for argument mailId?
  Reply With Quote
02/24/15, 09:29 PM   #57
Garkin
 
Garkin's Avatar
AddOn Author - Click to view addons
Join Date: Mar 2014
Posts: 832
Is it intended that you get "item repaired" alerts even in "keyboard" mode?

I believe that those alerts are from ZO_GamepadStoreManager:
Lua Code:
  1. -- part of the ZO_GamepadStoreManager:Initialize(control) function
  2.     local function OnItemRepaired(bagId, slotIndex)
  3.         if self.isRepairingAll then
  4.             if self.numberItemsRepairing > 0 then
  5.                 self.numberItemsRepairing = self.numberItemsRepairing - 1
  6.                 if self.numberItemsRepairing == 0 then
  7.                     self:RepairMessageBox()
  8.                     self.isRepairingAll = false
  9.                 end
  10.             end
  11.         else
  12.             self:RepairMessageBox(bagId, slotIndex)
  13.         end
  14.     end
  15.  
  16.     SHARED_INVENTORY:RegisterCallback("ItemRepaired", OnItemRepaired)
  17. ---
  18.  
  19. function ZO_GamepadStoreManager:RepairMessageBox(bagId, slotId)
  20.     if not bagId then
  21.         local message = zo_strformat(SI_GAMEPAD_REPAIR_ALL_SUCCESS)
  22.         ZO_AlertNoSuppression(UI_ALERT_CATEGORY_ALERT, nil, message)
  23.     else
  24.         local name = zo_strformat(SI_TOOLTIP_ITEM_NAME, GetItemName(bagId, slotId))
  25.         local message = zo_strformat(SI_GAMEPAD_REPAIR_ITEM_SUCCESS, name)
  26.         if message then
  27.             ZO_AlertNoSuppression(UI_ALERT_CATEGORY_ALERT, nil, message)
  28.         end
  29.     end
  30. end
  Reply With Quote
02/25/15, 03:45 PM   #58
Baertram
Super Moderator
 
Baertram's Avatar
WoWInterface Super Mod
AddOn Author - Click to view addons
Join Date: Mar 2014
Posts: 4,912
Originally Posted by Garkin View Post
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.
I've added this to FCOItemSaver a while ago so you could use it for the moment to show a confirmation dialog. The only thing I did not get to work properly is the drag&drop of bindable items. I wished it would react on the "drop" to an equipment slot. But currently I can only react to the "drag" from inventories :-(
  Reply With Quote
02/28/15, 06:48 AM   #59
circonian
AddOn Author - Click to view addons
Join Date: May 2014
Posts: 613
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:
  1. Open the map & set a waypoint in the zone.
  2. Close the map
  3. Run: /script RemovePlayerWaypoint()
  4. Open the map
  5. Right click to zoom out to the Tamriel map.
  6. Left click on your zone to zoom back in to your zone.
  7. The waypoint gets recreated.

If it helps track it down I also noticed that the bug does not occur if:
  • You remove the waypoint by hoovering your mouse over it on the map & using the hotkey to remove the waypoint.
  • You /reloadUI after you set the waypoint and before you open the map to zoom out to Tamriel & back in to your zone.
  • I could not reproduce it in subzones that have their own maps like towns.
  Reply With Quote
03/08/15, 01:33 PM   #60
shiva7663
 
shiva7663's Avatar
Join Date: May 2014
Posts: 7
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.
  Reply With Quote

ESOUI » Developer Discussions » General Authoring Discussion » 1.6 Addon API Feedback

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