• Visit Rebornbuddy
  • Visit Panda Profiles
  • Visit LLamamMagic
  • Cast on target "HSphere Buddy"

    Discussion in 'Requests' started by JANDURSON22, Aug 25, 2014.

    1. JANDURSON22

      JANDURSON22 New Member

      Joined:
      Aug 25, 2014
      Messages:
      1
      Likes Received:
      0
      Trophy Points:
      0
      Please use this for reference.

      At the bottom of the post someone Randomstraw posts an untested conversion (bot -> plugin) but no one ever gets a reply. How would I go about making this work?


      I changed the orb to "Dizzying Haze" as my monk is too low level for orbs....and I actually want to port it over to Haze.

      Code:
      
      using System;
      using System.Collections.Generic;
      using System.Linq;
      using System.Text;
      using System.Threading.Tasks;
      using Styx;
      using Styx.Common;
      using Styx.CommonBot;
      using Styx.CommonBot.POI;
      using Styx.CommonBot.Profiles;
      using Styx.CommonBot.Routines;
      using Styx.Helpers;
      using Styx.Pathing;
      using Styx.WoWInternals.WoWObjects;
      using Styx.TreeSharp;
      using Action = Styx.TreeSharp.Action;
      using Sequence = Styx.TreeSharp.Sequence;
      using Styx.WoWInternals;
      using Styx.WoWInternals.WoWObjects;
      using Styx.Plugins;
      using System.Windows.Media;
      using System.Diagnostics;
      
      
      
      namespace HSphereBuddy
      {
          class HSphereBuddy : HBPlugin
          {
              private static LocalPlayer Me { get { return StyxWoW.Me; } }
              public override string Name { get { return "HSpherePlugin"; } }
              public override string Author { get { return "xxx /randomstraw"; } }
              public override Version Version { get { return new Version(0, 1, 0, 0); ; } }
              public override string ButtonText { get { return "magic"; } }
              public override bool WantButton { get { return false; } }
              private static Stopwatch spamDelay = new Stopwatch();
      
              static int healOrbType = 0;
              WoWPoint target;
              bool init = false;
      
              
              public override void Initialize()
              {
                  if (init)
                      return;
                  init = true;
                  Logging.Write(Colors.Gold, "+ {0}", Name);
              }
              public override void Pulse()
              {
                  if (spamDelay.ElapsedMilliseconds < 100)
                      return;
                  spamDelay.Reset();
                  spamDelay.Start();
      
                  if (Me.CurrentTarget == null)
                  {
                      Lua.DoString("healOrbNum = 0;");
                      healOrbType = 0;
                      return;
                  }
      
                  if (healOrbType == 1)
                  {
                      target = Me.CurrentTarget.WorldLocation;
                      SpellManager.Cast("Dizzying Haze");
                      SpellManager.ClickRemoteLocation(target);
                      Lua.DoString("healOrbNum = 0;");
                      healOrbType = 0;
                  }
              }
      
            [COLOR="#FF0000"]  private Composite _root;
              public override Composite Root
              {
                  get
                  {
                      return _root ?? (_root =
                          new PrioritySelector(
                              logic()
                              )
                          );
                  }
              }
      
              private static Composite logic()
              {
                  return new Action(delegate { healOrbType = Lua.GetReturnVal<int>("return healOrbNum", 0); });
              }[/COLOR]
      
          }
      }
      
      
      With this macro:

      #showtool Healing Sphere
      /script healOrbNum = 1;

      to activate the casting.

      The plugin hangs at the red text, but I'm not sure what to do.

      Error:

      Compiler Error: c:\Users\HB\Plugins\Sphere\HSpherePlugin.cs(92,35) : error CS0115: 'HSphereBuddy.HSphereBuddy.Root': no suitable method found to override


      I'm going to keep playing with it, but I'd like some help. I feel like this will be a 2min fix to the trained eye...


      Thanks!
       
    2. Stormchasing

      Stormchasing Community Developer

      Joined:
      Jan 15, 2011
      Messages:
      4,029
      Likes Received:
      48
      Trophy Points:
      48
      using System;
      using System.Collections.Generic;
      using System.Linq;
      using System.Text;
      using System.Threading.Tasks;
      using Styx;
      using Styx.Common;
      using Styx.CommonBot;
      using Styx.CommonBot.POI;
      using Styx.CommonBot.Profiles;
      using Styx.CommonBot.Routines;
      using Styx.Helpers;
      using Styx.Pathing;
      using Styx.WoWInternals.WoWObjects;
      using Styx.TreeSharp;
      using Action = Styx.TreeSharp.Action;
      using Sequence = Styx.TreeSharp.Sequence;
      using Styx.WoWInternals;
      using Styx.WoWInternals.WoWObjects;
      using Styx.Plugins;
      using System.Windows.Media;
      using System.Diagnostics;



      namespace HSphereBuddy
      {
      class HSphereBuddy : HBPlugin
      {
      private static LocalPlayer Me { get { return StyxWoW.Me; } }
      public override string Name { get { return "HSpherePlugin"; } }
      public override string Author { get { return "xxx /randomstraw"; } }
      public override Version Version { get { return new Version(0, 1, 0, 0); ; } }
      public override string ButtonText { get { return "magic"; } }
      public override bool WantButton { get { return false; } }
      private static Stopwatch spamDelay = new Stopwatch();

      static int healOrbType = 0;
      WoWPoint target;
      bool init = false;


      public override void Initialize()
      {
      if (init)
      return;
      init = true;
      Logging.Write(Colors.Gold, "+ {0}", Name);
      }
      public override void Pulse()
      {
      if (spamDelay.ElapsedMilliseconds < 100)
      return;
      spamDelay.Reset();
      spamDelay.Start();

      if (Me.CurrentTarget == null)
      {
      Lua.DoString("healOrbNum = 0;");
      healOrbType = 0;
      return;
      }
      healOrbType = Lua.GetReturnVal<int>("return healOrbNum", 0);
      if (healOrbType == 1)
      {
      target = Me.CurrentTarget.WorldLocation;
      SpellManager.Cast("Dizzying Haze");
      SpellManager.ClickRemoteLocation(target);
      Lua.DoString("healOrbNum = 0;");
      healOrbType = 0;
      }
      }
      }
      }
       

    Share This Page