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

[Plugin] EzFly - The Coolcats flying plugin

Found a little issue. When flying isn't allowed in the zone the plugins jumps around all the time. When it's possible to detect if flying is allowed, please add a check for it. Another idea I came through is that if it might be possible to use the FlightTo behavior for flying instead of this one meter over ground flying. At least for longer distances. I hope that this will be implemented natively soon. Maybe I will look into it and implement it when I find time.
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.
 
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.
 
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! :D


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
 
Last edited:
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! :D


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!!!
 
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);
 
Last edited:
0.0.3:
Change from keypress to JumpAscend
Add canfly check
 
Awsome! Great Work!!! Working like a charm!!! Thank you so much!
 
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.
 

Attachments

Doesn't work at all for me, possibly because of druid Flight Form?
 
Doesn't work at all for me, possibly because of druid Flight Form?
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.
 
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 :)
 
Back
Top