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

Cast on target "HSphere Buddy"

JANDURSON22

New Member
Joined
Aug 25, 2014
Messages
1
Reaction score
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!
 
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;
}
}
}
}
 
Back
Top