ESOUI

ESOUI (https://www.esoui.com/forums/index.php)
-   Wish List (https://www.esoui.com/forums/forumdisplay.php?f=177)
-   -   [implemented] CanJumpToZone (https://www.esoui.com/forums/showthread.php?t=6470)

sirinsidiator 08/18/16 10:41 AM

[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.

ZOS_ChipHilseberg 08/22/16 04:14 PM

Zone ID is doable. By name would be difficult because the client doesn't know the zone of every player in the game.

sirinsidiator 08/23/16 05:26 AM

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.

ZOS_ChipHilseberg 08/23/16 08:35 AM

That should be easily done.

sirinsidiator 08/23/16 10:27 AM


Scootworks 08/23/16 10:50 AM

...................CHIP....................

kerb9729 10/12/16 01:08 PM

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.

ZOS_ChipHilseberg 10/13/16 08:00 AM

AFAIK this should be on Live now as CanJumpToPlayerInZone. The zoneId returns were also added to the guild member and friend info.

sirinsidiator 10/13/16 11:27 AM

Nice. I can't find it in the ESOUIDocumentation for PTS, so could you please upload a new version for live somewhere?

kerb9729 10/13/16 06:58 PM

Quote:

Originally Posted by ZOS_ChipHilseberg (Post 28534)
AFAIK this should be on Live now as CanJumpToPlayerInZone. The zoneId returns were also added to the guild member and friend info.

Where do I send the pizza and beer?

ZOS_ChipHilseberg 10/14/16 08:38 AM

1 Attachment(s)
Quote:

Originally Posted by sirinsidiator (Post 28536)
Nice. I can't find it in the ESOUIDocumentation for PTS, so could you please upload a new version for live somewhere?

Here you go.

sirinsidiator 10/15/16 05:02 AM

Thanks a lot!

sirinsidiator 10/15/16 05:20 AM

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. :(

ZOS_ChipHilseberg 10/18/16 09:38 AM

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.

sirinsidiator 10/18/16 10:41 AM

Quote:

Originally Posted by ZOS_ChipHilseberg (Post 28596)
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.

That's understandable, but haven't social jumps to Cyrodiil been disabled a long time ago, or can you jump to players in your home/guest campaign again with One Tamriel? Haven't checked if the player was in the same campaign.

I'll try to make a list later of what results I get and what I would expect.

ZOS_ChipHilseberg 10/18/16 11:12 AM

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.

QuadroTony 10/18/16 12:39 PM

Quote:

Originally Posted by ZOS_ChipHilseberg (Post 28598)
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.

nop, its impossible=(

kerb9729 10/21/16 12:43 PM

Quote:

Originally Posted by ZOS_ChipHilseberg (Post 28598)
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.

Fast travel to anywhere in PVPland from PVEland isn't possible. (I can see why this is so; it would bypass the queue)

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?

ZOS_ChipHilseberg 10/25/16 08:23 AM

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.

sirinsidiator 10/25/16 12:17 PM

Quote:

Originally Posted by ZOS_ChipHilseberg (Post 28687)
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.

Maybe I should explain better what I actually want.
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:
  • PvP zones
  • delves in PvP zones
  • instances that do not have group members
  • solo instances
  • dlc zones I do not have access to
  • zones without friends or guild members
  • any other zone I cannot travel to (e.g. test zones)

If a zone has players, it should return true for:
  • overland zones (e.g. Deshaan)
  • public dungeons
  • delves outside of Cyrodiil (if it is possible to travel there, but I think that should be the case for all of them)
  • instances with group members
  • and anything else I forgot that you can jump to

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