ESOUI

ESOUI (https://www.esoui.com/forums/index.php)
-   General Authoring Discussion (https://www.esoui.com/forums/forumdisplay.php?f=174)
-   -   FastTravel (https://www.esoui.com/forums/showthread.php?t=4211)

circonian 01/17/15 10:22 PM

FastTravel
 
Anyone know of a way to determine when a user completes a FastTravel (or recall, whatever its called) from out in the field (without running up & clicking on a wayshrine). Its for a recall cooldown timer. I got the timer to work, but can't figure out how/when/where to start it (after they've completed a travel that starts the games cooldown).

I thought I could use EVENT_END_FAST_TRAVEL_INTERACTION, but it apparently only fires if you run up to a wayshrine, click on it, & then fastTravel. The only other thing I could find was: FastTravelToNode(..) but it fires as soon as the user clicks confirm on the dialog box and i don't see any code for it so I can't tell what it does or what else it calls.

Garkin 01/18/15 12:02 AM

When you use recall (or jump to player) game starts spamming event EVENT_ABILITY_COOLDOWN_UPDATED with abilityId 6811

GetAbilityName(6811)
- Recall

GetAbilityDescription(6811)
- Fast travel to any previously disovered wayshrine.
(there is really "disovered" instead of "discovered")

GetAbilityCastInfo(6811)
- false, 8000, 0
(not channeled, cast time 8000ms, 0ms channeling time)


Or another catch - there is loading screen after each recall, so you can use EVENT_PLAYER_ACTIVATED or EVENT_PLAYER_DEACTIVATED and then check GetRecallCooldown().

circonian 01/18/15 12:45 AM

Quote:

Originally Posted by Garkin (Post 18294)
When you use recall (or jump to player) game starts spamming event EVENT_ABILITY_COOLDOWN_UPDATED with abilityId 6811

GetAbilityName(6811)
- Recall

GetAbilityDescription(6811)
- Fast travel to any previously disovered wayshrine.
(there is really "disovered" instead of "discovered")

GetAbilityCastInfo(6811)
- false, 8000, 0
(not channeled, cast time 8000ms, 0ms channeling time)


Or another catch - there is loading screen after each recall, so you can use EVENT_PLAYER_ACTIVATED or EVENT_PLAYER_DEACTIVATED and then check GetRecallCooldown().

Ah EVENT_PLAYER_ACTIVATED, I should have thought of that one. Rofl, sad thing is thats how I tested the recall cooldown window, timer, & cost when I was writing it...what was I thinking :o

As always thanks for the help Garkin.

SpellBuilder 01/20/15 04:21 PM

I have another related question: Is there any way to detect the Recall ability usage start? I.e. when player clicks 'Fast Travel to smt' and player characters starts its 8-second animation waving hands before actual travel happens?
What I want is to display this 8-seconds running cooldown. But using `/zgoo events` does not show me anything useful when I start fast-travel from my map or guild roaster.

Sasky 01/20/15 04:36 PM

Quote:

Originally Posted by Garkin (Post 18294)
When you use recall (or jump to player) game starts spamming event EVENT_ABILITY_COOLDOWN_UPDATED with abilityId 6811

That's at start so should be able to use that. Sounds like it's called a lot so would definitely want to buffer the event handling.

Garkin 01/20/15 07:21 PM

Quote:

Originally Posted by SpellBuilder (Post 18311)
I have another related question: Is there any way to detect the Recall ability usage start? I.e. when player clicks 'Fast Travel to smt' and player characters starts its 8-second animation waving hands before actual travel happens?
What I want is to display this 8-seconds running cooldown. But using `/zgoo events` does not show me anything useful when I start fast-travel from my map or guild roaster.

There is no actual event, so you will probably need to hook functions:

JumpToGuildMember(name)
JumpToGroupLeader()
JumpToGroupMember(name)
JumpToFriend(name)

But you will have somehow detect if jump is possible and if jump wasn't aborted.


All times are GMT -6. The time now is 07:56 AM.

vBulletin © 2024, Jelsoft Enterprises Ltd
© 2014 - 2022 MMOUI