View Single Post
05/22/17, 03:46 PM   #2
ZOS_ChipHilseberg
ZOS Staff!
Premium Member
Yes this person is from ZeniMax!
Join Date: Oct 2014
Posts: 551
1) Getting all stores and kiosks
We don't really have any better data representation than the one you are accessing (POIs in Zones). The kiosk NPCs are all separate NPCs with no relation to each other. The NPCs also don't have information about where they spawn, since the spawning of an NPC is controlled by another system. The best info is really the map info.

2) Main problems here:
NPCs won't give away their map location when not talked to
Are these locations not static? Which is to say that you could capture them once? For the reasons above knowing the location of an NPC in the abstact can be challenging.
Information about the guild kiosk owners is only available from the unit caption and has to be matched when the guild store is not open
(On a side note, the kiosk caption language is not updated when the client language is changed on the fly and only refreshes on relog)
I'm not sure what you mean by matched here. But in general the owner of a guild store is messaged down with the NPC info. Messaging the state of all guild stores on login would naturally be a larger request and a system change. The caption bug has to do with caching we do for performance. It could be invalidated on a language change if it is hindering you.
Kiosk captions seem to trigger a server request when the NPC is looked at for the first time and only updates to show the guild owner when the player looks away and back to the NPC (it also sometimes takes several seconds before it finally shows up)
Guild names have to be resolved on the server so it takes some time to get the name for the guild id that is sent down with the NPC.
GetGuildOwnedKioskInfo returns a localized string which contains kiosk name and location, which has to be parsed in order to get the NPCs name, but different locations use different wording (e.g. a in b, a in the b, a on b, a near b). A second and third parameter to return just the kiosk and location would be really nice
The text passed down through the API is entirely designer controlled so unfortunately we don't have it split into pieces.
3) Problems:
No way to get the trader change time
This is a server setting that we could message down on player login.
No way to reliably update info about the kiosk of joined guilds when the trader change happened
It might be possible to broadcast a message to all clients when this happens, but it might also be too much traffic.

A lot of the requested changes would require adding more to the data setup and using a good bit of designer time to populate which I don't have control of. However, I can ask about the server time things. If you can think of changes that would not require accessing traders globally those would have a better chance of getting done too.