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

[Idea] - Someone nearby? Move to next hotspot

Mordd

New Member
Joined
Jan 15, 2010
Messages
1,036
Reaction score
33
Nothing is more annoying than grinding in the same area as someone else. It increases the chance they will interact with you, and maybe report you if they suspect you are a bot. But in HB would move to a different hotspot then it would lessen the chance they would monitor you.
 
Ha!
that would be an awesome feature =D
 
Really nice idea, I hope seeing something like this soon ;)
 
Good profiles have more than one hotspot and are spread over the zone not just one area. So this would work perfect
 
yeah u have some good ideas
i liked ur raf chat thing too even tho i dont use raf
 
ask and you will Receive!
Code:
namespace Styx.Bot.CustomClasses
{
    using Styx.Logic;
    using System;
    using Styx.Helpers;
    using Styx.Logic.Pathing;
    using System.Threading;
    using System.Diagnostics;
    using Styx.WoWInternals;
    using Styx.WoWInternals.WoWObjects;
    using Magic;
    using System.Collections.Generic;
    using System.IO;
    using System.Runtime.InteropServices;
    using System.Xml.Linq;
    using System.Net;
    using System.Windows.Forms;
    using System.Drawing;
    using Styx.Plugins.PluginClass;
    using Styx;

    public class NXT_HS_PLZ : HBPlugin
    {
        
        private void slog(string format, params object[] args)
        { Logging.Write("[Next HotSpot Please]:" + format, args); }
        private readonly LocalPlayer Me = ObjectManager.Me;

        public override void Pulse()
        {
       

                List<WoWUnit> PlrList = ObjectManager.GetObjectsOfType<WoWUnit>(false).FindAll(
                unit => (unit.Guid != Me.Guid && unit.IsPlayer && unit.Distance < 40 && !Styx.Logic.Blacklist.Contains(unit.Guid)));
                    if (PlrList.Count > 1 && Me.Location == StyxWoW.AreaManager.CurrentGrindArea.CurrentHotSpot)
                    {
                        slog("Player is Near, Moving to New Hotspot");
                        StyxWoW.AreaManager.CurrentGrindArea.GetNextHotspot();
                    }
                        
                  
                
            }





        public override string Name { get { return "NXT_HS_PLZ"; } }
        public override string Author { get { return "CnG"; } }
        public override Version Version { get { return new Version(1, 0); } }
        public override bool WantButton { get { return true; } }
        public override string ButtonText { get { return "NXT_HS_PLZ"; } }
    

        public override void OnButtonPress()
        {
            //FromXYutil form = new FromXYutil();
            //form.ShowDialog();
        }
    }
}
it should check every hotspot if a player is near, then move to the next hotspot if there is one.
 
ask and you will Receive!
Code:
namespace Styx.Bot.CustomClasses
{
    using Styx.Logic;
    using System;
    using Styx.Helpers;
    using Styx.Logic.Pathing;
    using System.Threading;
    using System.Diagnostics;
    using Styx.WoWInternals;
    using Styx.WoWInternals.WoWObjects;
    using Magic;
    using System.Collections.Generic;
    using System.IO;
    using System.Runtime.InteropServices;
    using System.Xml.Linq;
    using System.Net;
    using System.Windows.Forms;
    using System.Drawing;
    using Styx.Plugins.PluginClass;
    using Styx;

    public class NXT_HS_PLZ : HBPlugin
    {
        
        private void slog(string format, params object[] args)
        { Logging.Write("[Next HotSpot Please]:" + format, args); }
        private readonly LocalPlayer Me = ObjectManager.Me;

        public override void Pulse()
        {
       

                List<WoWUnit> PlrList = ObjectManager.GetObjectsOfType<WoWUnit>(false).FindAll(
                unit => (unit.Guid != Me.Guid && unit.IsPlayer && unit.Distance < 40 && !Styx.Logic.Blacklist.Contains(unit.Guid)));
                    if (PlrList.Count > 1 && Me.Location == StyxWoW.AreaManager.CurrentGrindArea.CurrentHotSpot)
                    {
                        slog("Player is Near, Moving to New Hotspot");
                        StyxWoW.AreaManager.CurrentGrindArea.GetNextHotspot();
                    }
                        
                  
                
            }





        public override string Name { get { return "NXT_HS_PLZ"; } }
        public override string Author { get { return "CnG"; } }
        public override Version Version { get { return new Version(1, 0); } }
        public override bool WantButton { get { return true; } }
        public override string ButtonText { get { return "NXT_HS_PLZ"; } }
    

        public override void OnButtonPress()
        {
            //FromXYutil form = new FromXYutil();
            //form.ShowDialog();
        }
    }
}
it should check every hotspot if a player is near, then move to the next hotspot if there is one.

Is it okay to say i love you? *_*

Though, would be nicer if the devs hardcoded it into HB so it can be called using some profile Tag =3
 
Is it okay to say i love you? *_*

Though, would be nicer if the devs hardcoded it into HB so it can be called using some profile Tag =3
yea...its Called, Next Hotspot Please. or NXT_HS_PLZ i havent tested it, just took the 3min to code it, but it should work.
 
That code looks great. Another feature to add would be a timer. I know being in outlands there are times when someone flys down to harvest, then leaves. Maybe only move to next hotspot if the player is around for a minute or more.

And an option to vendor would be cool. Maybe by the time it came back they would be gone.
 
ask and you will Receive!
[...]
it should check every hotspot if a player is near, then move to the next hotspot if there is one.

Heya Codename, thanks for this. Topical thread Hijack inc!

I'd been meaning to dig into the HB API and start writing a plugin... this code was a good place to start messing with things.

I'm not sure if this is a bug, or I'm trying to use it incorrectly... but check this out.

I made a small change to your code to see if I could count the number of players around me:

Code:
namespace Styx.Bot.CustomClasses
{
    using Styx.Logic;
    using System;
    using Styx.Helpers;
    using Styx.Logic.Pathing;
    using System.Threading;
    using System.Diagnostics;
    using Styx.WoWInternals;
    using Styx.WoWInternals.WoWObjects;
    using Magic;
    using System.Collections.Generic;
    using System.IO;
    using System.Runtime.InteropServices;
    using System.Xml.Linq;
    using System.Net;
    using System.Windows.Forms;
    using System.Drawing;
    using Styx.Plugins.PluginClass;
    using Styx;

    public class NXT_HS_PLZ : HBPlugin
    {
        
        private void slog(string format, params object[] args)
        { Logging.Write("[Next HotSpot Please]:" + format, args); }
        private readonly LocalPlayer Me = ObjectManager.Me;

        public override void Pulse()
        {
       

                List<WoWUnit> PlrList = ObjectManager.GetObjectsOfType<WoWUnit>(false).FindAll(
                unit => (unit.Guid != Me.Guid && unit.IsPlayer));
                    if (PlrList.Count > 1)
                    {
                        slog("Found players! " + PlrList.Count);
                    }
                        
                  
                
            }





        public override string Name { get { return "NXT_HS_PLZ"; } }
        public override string Author { get { return "CnG"; } }
        public override Version Version { get { return new Version(1, 0); } }
        public override bool WantButton { get { return true; } }
        public override string ButtonText { get { return "NXT_HS_PLZ"; } }
    

        public override void OnButtonPress()
        {
            //FromXYutil form = new FromXYutil();
            //form.ShowDialog();
        }
    }
}

It NEVER finds any players. Not in town, not in a battle ground. The list is always zero length.

If i remove the IsPlayer check in the FindAll predicate, the code works and prints out the number of WoWUnits it detects.

Is this a bug with the IsPlayer property, or are my assumptions incorrect? Tried this with HB 1.9.2.3.

Thanks for any help!

J
 
I got it to work by changing all references to WoWUnit to WoWPlayer.
 
Codename, please release this as an official plug in so that I may link it to my CCs and my Profiles.
 
oh and adding setting for the user to make range, and time followed would be cool
 
Back
Top