As far as I know there is no easy way to determine if you can fly in an area or not. Please tell me what area the bot was having trouble with so I can perhaps add more variables. Also, the way this works is it hijacks the movement system and adjusts on a point to point basis, hijacking the system to use flightor is out of the scope of this plugin.
All you'd have to do it check what zone/region the toon was in... Silvermoon, Tol Barad, all instances/bgs... come to mind right off the bat. Players could easily feed you more. All you'd have to do is have the plugin disable itself in zones/regions that flying is not allowed.
Its actually a good bit more complex than a 'zone test'. Basically, you want to test your current mount, and only jump if it can fly. Determining if your current mount can fly is not a simple test, and requires a LINQ expression. Something akin to: Code: public bool IsMountedForFlying() { WoWAura mount = (from aura in Me.Auras.Values from mounts in MountHelper.FlyingMounts where (aura.SpellId == mounts.Spell.Id) select aura).FirstOrDefault(); return (mount != null); } If there is a simpler test, *please* share it! Of course, the straight-forward Me.MovementInfo.CanFly may be sufficient for this goal. CanFly should already have a test similar to the above built-in. cheers, chinajade
My question is why is it more complicated than a 'zone test'? You can't fly in Silvermoon, you can't fly in any instance, you can't fly in any battleground... so why couldn't it be as simple as checking where the toon is and if it's in one of those locations, it figures out it can't work as normal and disables itself. I do understand some programming and scripting although I have not looked heavily into the coding in HB yet... I'm just wondering why the location couldn't be used as every place you can't fly is consistant... you can't fly anywhere in that location.
Great Plugin Is it possible to check point distance to destination, and if its a long way, add it as an else modify Z to above the trees so it can actually fly there? Just wondering... tried to script it myself but failed miserably. Thanks again for the great plugin!!!
The problem with that is that it is still going to move back and forth like the mount was on the ground. It won't just fly straight to where it needs to go. HB is still making a ground path for it, moving between obstacles. Your character would follow this path in mid-air... Not obvious at all or anything.
Haven't used the plugin yet, don't know if I will, just noticed a couple spots I might be able to contribute kaihaider: Enabling the option 'Auto dismount while flying' within the in-game interface options will remove those 'You are mounted.' errors specifically. When enabled, you will get the same results from actions performed while flying as you would while mounted on the ground. (Well, not counting the possible fall damage.) mastahg: In regards to flyable areas. You can actually check for that condition in a macro in-game - not sure how helpful that is as I'm far from understanding how HB works it's magic. This could easily be used if HB can simply run the check itself using wow's API, or somehow run in-game macros. Anywho, here's the macro I use: Code: /run if IsMounted() then Dismount() return end local m if IsFlyableArea() then m=(12) else m=(31) end CallCompanion("MOUNT",m) where 12 is the index of my flying mount, and 31 is my ground mount
Sniprstorm, thank you I didn't know the LUA could do that check, and I will be using it. Thanks, -Panda.
Is there any other way than using the space key? I'd like to still be able to chat... edit: ok, nevermind, use this instead: Code: WoWMovement.Move(WoWMovement.MovementDirection.JumpAscend); Thread.Sleep(100); WoWMovement.MoveStop(WoWMovement.MovementDirection.JumpAscend);
i love this in theory...but it's not working out for me. it runs smoothly for awhile but then it ends up stuck on something or needs to interact with something and doesn't dismount.
Should work with flight form, but I haven't leveled any new toons in a long while so I haven't worked on this.
It works fine, the problem is that neither questing profiles nor HB nav were made with this in mind, so it's more likely to get stuck in small places.
Maybe I'm misunderstanding how it should work then? I assumed that wherever the questing profile, would normally use a ground mount, this would use your flying mount (slightly above the ground) instead. My bot still uses its Swift Stormsaber with this installed, having followed the installation instructions word for word after a fresh HB install. So am I stupid? Have I missed something?
You need to make sure the ground mount set in HB is a flying mount. HB only uses flying mounts when there's a FlyTo command.
I'm pretty sure I tried that too (copy pasted my flying spellid to the mount box), but I may have had a different option set incorrectly at that point, I'll double check tonight. Thanks