• Visit Rebornbuddy
  • Visit Panda Profiles
  • Visit LLamamMagic
  • [Plugin] EzFly - The Coolcats flying plugin

    Discussion in 'Archives' started by mastahg, Jul 16, 2011.

    1. mastahg

      mastahg Administrator Staff Member

      Joined:
      Feb 27, 2011
      Messages:
      5,323
      Likes Received:
      376
      Trophy Points:
      83
      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.
       
    2. hamwise

      hamwise New Member

      Joined:
      Mar 29, 2011
      Messages:
      26
      Likes Received:
      0
      Trophy Points:
      0
      Wow, just wow. +Rep!
       
    3. Altoids

      Altoids New Member

      Joined:
      Jul 21, 2011
      Messages:
      936
      Likes Received:
      8
      Trophy Points:
      0
      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.
       
    4. chinajade

      chinajade Well-Known Member Moderator Buddy Core Dev

      Joined:
      Jul 20, 2010
      Messages:
      17,540
      Likes Received:
      172
      Trophy Points:
      63
      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: Aug 29, 2011
    5. Altoids

      Altoids New Member

      Joined:
      Jul 21, 2011
      Messages:
      936
      Likes Received:
      8
      Trophy Points:
      0
      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.
       
    6. twilightdeathknight

      twilightdeathknight New Member

      Joined:
      Sep 3, 2011
      Messages:
      5
      Likes Received:
      0
      Trophy Points:
      0
      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!!!
       
    7. no1knowsy

      no1knowsy Well-Known Member

      Joined:
      Feb 28, 2010
      Messages:
      3,927
      Likes Received:
      57
      Trophy Points:
      48
      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.
       
    8. Sniprstorm

      Sniprstorm New Member

      Joined:
      Feb 12, 2011
      Messages:
      18
      Likes Received:
      0
      Trophy Points:
      0
      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
       
    9. no1knowsy

      no1knowsy Well-Known Member

      Joined:
      Feb 28, 2010
      Messages:
      3,927
      Likes Received:
      57
      Trophy Points:
      48
      Sniprstorm, thank you :)
      I didn't know the LUA could do that check, and I will be using it.
      Thanks, -Panda.
       
    10. znuffie

      znuffie Banned

      Joined:
      Feb 23, 2010
      Messages:
      864
      Likes Received:
      30
      Trophy Points:
      28
      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: Nov 26, 2011
    11. mastahg

      mastahg Administrator Staff Member

      Joined:
      Feb 27, 2011
      Messages:
      5,323
      Likes Received:
      376
      Trophy Points:
      83
      0.0.3:
      Change from keypress to JumpAscend
      Add canfly check
       
    12. 72pixel

      72pixel Member

      Joined:
      Jan 15, 2010
      Messages:
      34
      Likes Received:
      0
      Trophy Points:
      6
      Awsome! Great Work!!! Working like a charm!!! Thank you so much!
       
    13. ambrose

      ambrose New Member

      Joined:
      Dec 3, 2011
      Messages:
      415
      Likes Received:
      0
      Trophy Points:
      0
      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.
       

      Attached Files:

    14. evilme73

      evilme73 New Member

      Joined:
      Jan 6, 2012
      Messages:
      100
      Likes Received:
      4
      Trophy Points:
      0
      Doesn't work at all for me, possibly because of druid Flight Form?
       
    15. mastahg

      mastahg Administrator Staff Member

      Joined:
      Feb 27, 2011
      Messages:
      5,323
      Likes Received:
      376
      Trophy Points:
      83
      Should work with flight form, but I haven't leveled any new toons in a long while so I haven't worked on this.
       
    16. Toney001

      Toney001 New Member

      Joined:
      Oct 12, 2011
      Messages:
      1,206
      Likes Received:
      5
      Trophy Points:
      0
      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.
       
    17. evilme73

      evilme73 New Member

      Joined:
      Jan 6, 2012
      Messages:
      100
      Likes Received:
      4
      Trophy Points:
      0
      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?
       
    18. Toney001

      Toney001 New Member

      Joined:
      Oct 12, 2011
      Messages:
      1,206
      Likes Received:
      5
      Trophy Points:
      0
      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.
       
    19. mastahg

      mastahg Administrator Staff Member

      Joined:
      Feb 27, 2011
      Messages:
      5,323
      Likes Received:
      376
      Trophy Points:
      83
      This.
       
    20. evilme73

      evilme73 New Member

      Joined:
      Jan 6, 2012
      Messages:
      100
      Likes Received:
      4
      Trophy Points:
      0
      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 :)
       

    Share This Page