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

[Plugin] AntiStuck

SMcCloud

New Member
Joined
Dec 8, 2010
Messages
172
Reaction score
2
EbSTD.png

Made this from a recommendation from Melt_Down in the HB irc.

I haven't been able to test more than two stuck spots, but they worked pretty well where HB's built-in would fail miserably, so you'll have to let me know if you have issues at other places.

You can change the time it will wait before it hearths for being stuck in combat in the settings (default 60 seconds), you can also change the time it's standing still for it to be considered 'stuck' (default 15 seconds).

Currently just moves in an asterisk/circle like pattern, which seems to work pretty well.

Current Issues:
* Won't check if cooldown is ready for Hearth, just assumes it is.
* If you stay within 2 units or so of a same area for too long, it will begin to unstuck you. (might not be an issue as long as nothing takes more than your time setting standing still)
* My checks for stuck in combat might be wrong, couldn't find a way to test it
 

Attachments

Last edited:
Wow, that is terribly over complicated, something along these lines would work much better:

Code:
Declare:
List<WoWPoint> myLocations = new List<WoWPoint>();
WaitTimer recTimer = new WaitTimer(new TimeSpan(0,0,0,1));

In Pulse:
if (recTimer.Finished && myLocations.Count < 3)
{
    myLocations.Add(Me.Location);
}
if (myLocations.Count == 3)
{
    // Compare the 3 locations difference between eachother then create a new location to move to or send direct movement
    // I'm making this in a forum without Visual Studio so don't quote me exactly, but something along the lines of WoWPoint.Add(x, y, z); 
}
 
Wow, that is terribly over complicated, something along these lines would work much better:

Code:
Declare:
List<WoWPoint> myLocations = new List<WoWPoint>();
WaitTimer recTimer = new WaitTimer(new TimeSpan(0,0,0,1));

In Pulse:
if (recTimer.Finished && myLocations.Count < 3)
{
    myLocations.Add(Me.Location);
}
if (myLocations.Count == 3)
{
    // Compare the 3 locations difference between eachother then create a new location to move to or send direct movement
    // I'm making this in a forum without Visual Studio so don't quote me exactly, but something along the lines of WoWPoint.Add(x, y, z); 
}

The movement is the easy part, and there are literally hundreds if not thousands of ways to do it. This was my first plugin, and first time in C#, so i'm not too concerned about an elegant solution at this point in time.

If time permits I plan on storing the previous points and attempting to backtrack.
 
Btw, it's default set to 15 - is that minutes or seconds?
 
This plugin works great, thanks!

Regards,
Nick.
 
The movement is the easy part, and there are literally hundreds if not thousands of ways to do it. This was my first plugin, and first time in C#, so i'm not too concerned about an elegant solution at this point in time.

If time permits I plan on storing the previous points and attempting to backtrack.

I just find your solution excessively complicated, but nice first attempt.
 
would it be possible to add a distance variable?, in many cases when ur stuck ur stuck in a small area, wich means the plugin wont trigger cause you have infact moved a little the entire time, ehm atleast thats how i guess it works. if u could add like a radius donno 5-10 yards if it hasnt, then kick in and autounstuck. even 1 or 2 yards would make a differeance in many cases. i took a look inside and u have it set to check for 2units wich i guess is range, can i just replace the two 2's with like 5?.

edit: testing....
 
Last edited:
Sometimes, it will start running in circles forever trying to unstuck when he is not stuck :/
 
Back
Top