What's new
  • Visit Rebornbuddy
  • Visit Panda Profiles
  • Visit LLamamMagic
  • Visit Resources
  • Visit Downloads
  • Visit Portal

[Quest Behavior] - UseTaxi

vlad0327

New Member
Joined
Feb 4, 2011
Messages
291
Reaction score
10
#Updated for HB 2.0.0.4555 & WoW 4.1
Argument names were changed, please read below!



The reason I made this:

It's a pain to take a flight from Ogri, since HB blacklists the Flight Master for 5 min when unable to generate a path to him (and that happens every time before you take the elevator up using the UseTransport CB)

The reason why You would use it:

-For the reason I stated above
-If you want to take a flight from any other Flight Master bypassing the HB navigation logic (and thus avoiding mesh download/load for all the zones on the way)

Arguments:

MobId: (Required) - Id of the Flight Master to use
QuestId: (Optional) - associates a quest with this behavior. If the quest is complete or not in the quest log, this will not be executed.
DestName: (Required if ViewNodesOnly is not specified) - specifies the destination NAME of the node on the TaxiMap. This should be a name string in the list of your TaxiMap node names. The argument is CASE SENSITIVE!
ViewNodesOnly: (Optional) - true - Use this option only to print the list of destinations of your TaxiMap, if you don't know exact names of locations. The list will be printed ingame. Default is false
X, Y, Z: (Required) - Location of Flight Master Npc

Usage example:

PHP:
<CustomBehavior File="UseTaxi" QuestId="13842" MobId="41140" DestName="Orgrimmar" X="272.163" Y="-4769.88" Z="11.54452"  />

This will make you take a taxi ride from Razor Hill to Ogri, If you have quest 13842 in your log and its not completed.

Special thanks to natfoth for letting me abuse his BasicInteractWith and create this.
 

Attachments

Last edited:
Query ... I don't exactly understand the Nodes part of this.

say i have 20 flight paths that I can use... but i want to fly from SW to say... WPL, what would I do?

would you set viewnodesonly to 1 (as the writer), view nodes... and then change it to 0, and input the nodes # to take taxi to and then press start to make it fly (as the writer)
 
Query ... I don't exactly understand the Nodes part of this.

say i have 20 flight paths that I can use... but i want to fly from SW to say... WPL, what would I do?

would you set viewnodesonly to 1 (as the writer), view nodes... and then change it to 0, and input the nodes # to take taxi to and then press start to make it fly (as the writer)

Yes you only need ViewNodesOnly to get the list of available nodes once when writing a profile, because this number isn't even close to something obvious.
So if you don't know the exact nodeId of the destination, then do this.

You can also do this script in game to view the list
PHP:
/run for i=1,NumTaxiNodes() do a=TaxiNodeName(i); print(i,a);end;

But I thought It would be easier to just include this option in CB
 
very nice.

+rep. I was bugging Nat to do this for a while
 
so i used the script... and this seems to be a nice behavior for personal profiles... but it won't work massively

see the picture attached

Now if this used the node name instead of the "fake id" then that would work :)
 

Attachments

  • Taxi.webp
    Taxi.webp
    52 KB · Views: 73
I see what you mean, but currently there is no way to handle taxi node description via Styx functions. As the matter of fact there is no way to handle taxi usage directly using Styx at all. Or at least I couldn't find it in the Api documentation. So I had to use Lua functions instead, and thats just the way it works.
 
It's a start :) maybe we can complain to the devs a little ;)

I asked natfoth about it and he gave a list of stuff, but I haven't seen anything since then
Code:
Styx.Logic.FlightPaths.TakeFlightPath()
Styx.Logic.FlightPaths.NearestFlightMerchant
however this is what you need
Styx.Logic.FlightPaths.SetFlightPathUsage(Styx.Logic.Pathing.WoWPoint, Styx.Logic.Pathing.WoWPoint, out Styx.Logic.Pathing.WoWPoint, out Styx.Logic.Pathing.WoWPoint)
public static void SetFlightPathUsage(Styx.Logic.Pathing.WoWPoint from, Styx.Logic.Pathing.WoWPoint to, out Styx.Logic.Pathing.WoWPoint startFp, out Styx.Logic.Pathing.WoWPoint endFp)
startFP and endFP
 
Last edited:
None of the functions you quoted are listed in the HB documentation, so I don't know how to use them. And not even sure they exist =)

But anyway, I tried using my brain for a change, and it occurred to me that using node name instead of nodeID isn't that hard to implement.

And so I did =)

The first post is updated, file re-uploaded.

Have fun with it ;)

P.S. just to make it clear how this works now, lets take Ulduar as a destination we want to go to.

You can use
PHP:
NodeName="Ulduar, The Storm Peaks"
or simply
PHP:
NodeName="Ulduar"

But if you use a short name, just make sure it's not met anywhere else in your node list.
And remember that all names are case sensitive
 
Last edited:
oooo

this will work nicely if testing goes well :)

atm im adding howling fjorde, so i should be done w/ the zone sometime today or tomorrow and i'll give it a whirl

raiding for a few hours a few times a week really cuts into my time, but it's fun :)
 
There is a minus to that way of using it though. It's now client language specific
 
Sorry for frequent updates, but I gave it some more thought and decided that Moveto arg is stupid in this behavior.
It will now be automatically decided if your toon needs to move to Npc or not. Also added the X,Y,Z args which specify the general location of Flight Master Npc.
So you won't need a RunTo task if the Npc is not in view range any more
It doesn't necessarily need to be the exact Npc location, as long as he is in a view range- you're fine.

This will probably be the last change to this CB as I'm happy with the way it works and I'll move on to my next projects
 
Behavior was updated for latest HB build. Some argument names were changed, please read the first post
 
First try with useTaxi... no luck.
Tried in fr, and in en, it opens flight menu, but nothing... tried with different name, even just letter, nothings...

HTML:
	<CustomBehavior File="UseTaxi" QuestId="26394" MobId="42983" DestName="Stormwind, Elwynn" X="-9435.714" Y="87.61111" Z="57.12768"  />
or

HTML:
<CustomBehavior File="UseTaxi" QuestId="26394" MobId="42983" DestName="Hurlevent" X="-9435.714" Y="87.61111" Z="57.12768"  />


Tried to show the node numbers, don't work with the option, but okay with the macro. Someone have an idea of how to use the node number ? I can't find anything on Usetaxi page about the code.
 
i believe QuestId in this context means the quest is not completed (ie: objectives are still available).

you might try questid 0, or maybe CJ can tweak it for you to make QuestId optional
 
Thanx, It worked with quest ID 0, just needed a test to see if the quest was complete. I didn't know that the questID was only about objectives. Good to know ! ;)
 
QuestId is already optional =) You can just ignore this arg if you don't want a behavior to associated with a quest
 
Back
Top