[implemented] CanJumpToZone
Similar to CanJumpToGroupMember I would like to have a function that can tell me beforehand if it is possible to travel to a zone via social jump.
The function would accept a name, id or index (whichever is easier) and return a boolean and the JumpToPlayerResult. A second function to determine the result based on a player name would also be nice. |
Zone ID is doable. By name would be difficult because the client doesn't know the zone of every player in the game.
|
Sounds good.
By player name would have been nice, but it can be done via CanJumpToZone(zoneId) too. Just a bit more complicated as it requires scanning all guild members and friends and then matching the zoneName to a zoneId. Maybe instead you could add zoneId as a return value of GetGuildMemberCharacterInfo and GetFriendCharacterInfo. Then it would become pretty easy. |
That should be easily done.
|
|
...................CHIP....................
|
This function would be a godsend, paired with the change to get[Guildmember|Friend]CharacterInfo returning a zone id.
Especially if it considers whether a player has unlocked the destination zone. I will send pizza and beer. No joke. |
AFAIK this should be on Live now as CanJumpToPlayerInZone. The zoneId returns were also added to the guild member and friend info.
|
Nice. I can't find it in the ESOUIDocumentation for PTS, so could you please upload a new version for live somewhere?
|
Quote:
|
1 Attachment(s)
Quote:
|
Thanks a lot!
|
I just tried the CanJumpToPlayerInZone method and unfortunately it doesn't seem to return the correct results.
For example I get "true, 0" for zoneId 181 which is Cyrodiil, but when I try to jump to a player in there, I of course get an error "This areas is not accessible via jumping". The same thing happens for places like dungeons and other instanced areas. :( |
Unfortunately there are limits to what a client side API can do. In the case of Cyrodiil we don't always know the campaign id that another player is part of so we can't do the check properly. In some cases we do (guild, friend) but that involves pulling the campaign info from the server which is async and expensive so we leave that to the server to verify.
|
Quote:
I'll try to make a list later of what results I get and what I would expect. |
I believe that you can jump to a player in Cyrodiil as long as you meet the requirements for joining that campaign and are of the same alliance.
|
Quote:
|
Quote:
If you are in IC, you can fast travel to the wayshrine closest to a friend in PVEland. You can not fast travel in overland Cyrodiil unless you use a wayshrine (note - different from a transit shrine). It would be nice to see Cyrodiil behavior made consistent, one way or the other. But back to CanJumpToPlayerInZone - Isn't there a way for you to see if a player is in PVPland without the costly async business (don't care which campaign, which zone, or any of that) and just return false if that's the case? |
For a friend or guild mate you can know their zone from the friends list or guild roster. Beyond that it would require a query to the server.
|
Quote:
In EasyTravel I have a slash command which autocompletes possible targets based on the group, friends and guild roster. (If you haven't tried that addon yet, you should. It's pretty neat. ;) ) The list of players is generated from these 3 social lists. The list of zones is currently hardcoded because there is no way to programmatically find out if I can potentially jump there. What I want CanJumpToZone to tell me is which zones I am allowed to social jump to and which zones I cannot jump to. With that I would be able to generate the target zone list dynamically so I do not have to edit it in every update where a new zone is added. It would also allow me to add more locations like public dungeons and delves to the autocompletion without having to collect their zone ids. This would mean it should return false for:
If a zone has players, it should return true for:
I think that wouldn't require any server calls. It would also be nice if I could somehow differentiate between zones I can never jump to and zones I cannot jump to right now because there are no players or it is locked behind a dlc. In the case of no players, I would still like to add it to the auto completion list, as EasyTravel has a feature to wait for players to enter the target zone and then automatically executes the jump. |
All times are GMT -6. The time now is 04:44 PM. |
vBulletin © 2024, Jelsoft Enterprises Ltd
© 2014 - 2022 MMOUI