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

PVP Arena BOT PLZ

Edited my quote with the new one.

Bobby, do you by chance know if singular utilizes CanCast()? I'm hoping the warrior one does and will provide a dps increase with the next (hopefully soon) HB release.
Apoc was adding the latency handling with Singular as the test case, so regardless whether CanCast() is used [I'm pretty sure it is] once the GCD improvements are in place melee should realize the improvement with Singular.
 
Last edited:
wow, so much rage here. Thankyou for you post bobby, always loved your work.

I don't know why people jumped to the assumption I was bashing HB CC's.

Facts are facts, and I hope the next HB release fixes this issue (I don't want to have to use 2 bots for DPS/HPS that my toon can do)

Seems to be alot of people here that are happy with there current DPS with HB (And thats fine) but for the people that want/know there toons can do alot better DPS, we will have to see what the next release brings.
 
wow, so much rage here. Thankyou for you post bobby, always loved your work.

I don't know why people jumped to the assumption I was bashing HB CC's.

Facts are facts, and I hope the next HB release fixes this issue (I don't want to have to use 2 bots for DPS/HPS that my toon can do)

Seems to be alot of people here that are happy with there current DPS with HB (And thats fine) but for the people that want/know there toons can do alot better DPS, we will have to see what the next release brings.
I'm bowing out of this thread which has been severely hijacked - see title: PVP ARENA BOT PLZ
 
I'm bowing out of this thread which has been severely hijacked - see title: PVP ARENA BOT PLZ

Well the point was Arena will never be viable with this "delay" or whatever you want to call it.

Altho the OP probably ment a botbase that would queue up, join, pewpew, leave. And repeat (I carn't even remember anymore :P)
 
Thank goodness for the bolded portion, I was starting to feel the pressure of some abject scrutiny... lol

There seems to be a little confusion (not unanimous, but general) regarding the recent advances made regarding latency and spellcasting in HB and the effects it will have. The HB Core recently had a property added to get the Spell Cast Time Remaining. Honestly it could have been there for awhile, I only found it because a user on a system with high latency asked if I could look into any form of pre-casting. I had a conversation with Nesox who told me about CanCast() and later while looking at HB changes and enjoying a fine Kentucky Bourbon the next thing I notice is the time properties... voila! The system latency time has been available for quite awhile, so with those two values you can now easily pre-cast and negate the latency impacting your DPS, HPS, TPS, etc. for non-instants. However, while a property for GCD Time Remaining was also added, it was not providing any additional value beyond the existing information. CanCast() uses these properties to allow the next cast to being while the current one is still finishing up (due to latency.) However, since the GCD time remaining isn't accurate, this means that melee (which cast primarily instant attacks) won't enjoy the same performance increase that caster specs do until the release with the GCD fix Apoc referred to is available. The result is that CC's (such as ShamWOW) that don't utilize CanCast() as the primary gate in determining whether a spell can be cast, are capable of realizing the performance benefits of eliminating latency by factoring in that time (via the newly added properties) in their individual GCD and Spell Cast wait logic. CC's that don't use CanCast() and don't use these time values, won't perform any better (or worse.)

There are some downsides to this improvement. Some CC's that cast instants which result in a buff or debuff without a cooldown (think instant HoT/DoT like Shaman's Earth Shield or a Warlock's Corruption) will result in duplicate casts if they depend upon the latency to cause a delay sufficient for the target to realize the buff/debuff. I encountered this in testing with ShamWOW in the latency improvement release and addressed ensuring Earth Shield isn't cast more than once per second. Apoc confirmed it will potentially hit other CC's implemented for classes having spells meeting this criteria dependent upon their implementation. So while you may realize a spell casting throughput increase, the CC may require an update to avoid a DPS/HPS loss.

Now speaking specifically about ShamWOW, the design objective is to implement ability priorities suitable for all facets of game play giving equal importance to leveling, pvp, and raid environments for ranged dps, melee dps, and healing. So while it is intended to be extremely good at leveling or PVP, it's also designed to be good at raiding (one reason I wrote LazyRaider.) Ultimately a human should be able to beat HB in combat scenarios involving movement or that benefit from preparation (for ex: raid strategy to move to certain spot, casting a Shock so Focused Insight buff is available prior to needing it so GCD isn't wasted, etc.) I GREATLY appreciate those that have enjoyed using ShamWOW and recognize the time and effort that went into it, but in the end a L337 player should outperform it in anything other than a stationary fight against a Test Dummy, and should have beaten it handily at that before the latency api's impacting your spec are fully added to HB.

Hope that clears things up, or at a minimum doesn't muddy them further,
Bobby53

Problems with any bots core in the spell casting code can be overriden if they allow you to cast without introduzing delays in the spell casting code, all you need to do is implement the cancast yourself. I have done this in a series of CCs i made for a bot that came before HB, it was terribad at everything except targetting (and even that... ), still, managed to get some good CCs out.

Check this vid out : BigDruid by MrBig - YouTube

PS : that bot had a terrible spell casting code, you couldnt cast anything under 2 secs delay, i actually implemented the whole code for it, including facing and what not.

If anyone needs it :
internal static void castCustomSpeed(Spell spell, float castTime)
{
try
{
while (Me.isCast)
{
Other.Wait(50);
}
if (!string.IsNullOrEmpty(spell.Key))
{
if (Me.TargetGUID > 0)
{
float x = MyTarget.PosX - Me.PosX;
float y = MyTarget.PosY - Me.PosY;
double angleToTarget = Math.Atan2(x, y);
angleToTarget = angleToTarget*180/Math.PI; //to radians
angleToTarget = angleToTarget - (Me.Rotation*180/Math.PI);

int angle = Convert.ToInt32(angleToTarget);

/*
var x1=100, y1=50, x2=250, y2=70;
var X=x1-x2;
var Y=y2-y1;
var Z=Math.round(Math.sqrt(Math.pow(X,2)+Math.pow(Y,2)));//the distance - rounded - in pixels
var r=Math.atan2(Y,X);//angle in radians (Cartesian system)
var d=r*180/Math.PI//angle in degrees
d<0?d+=Math.PI*2:null;//correction for "negative" quadrants
* */


if (angle < 0)
{
angle = -angle;
}
if (angle > 5)
{
ControlPlayer.FaceAt(MyTarget.PosX, MyTarget.PosY);
}
}

//Me.isCast = true;
// if (Management_Player.Get_Move())
//{
if (castTime > 0)
ControlPlayer.StopMove();
//}
Other.Wait(50);
Logger.log("Fight > " + spell.Name + " (by key)");
KeyBoard.PressKey(spell.Key);
}
else if (spell.Name != "" || spell.Name != null)
{
if (Me.TargetGUID > 0)
{
float x = MyTarget.PosX - Me.PosX;
float y = MyTarget.PosY - Me.PosY;
double angleToTarget = Math.Atan2(x, y);
angleToTarget = angleToTarget*180/Math.PI; //to radians
angleToTarget = angleToTarget - (Me.Rotation*180/Math.PI);

int angle = Convert.ToInt32(angleToTarget);
if (angle < 0)
{
angle = -angle;
}
if (angle > 5)
{
ControlPlayer.FaceAt(MyTarget.PosX, MyTarget.PosY);
}
}

//Me.SetCast = true;
// if (Management_Player.Get_Move())
//{
if (castTime > 0)
ControlPlayer.StopMove();
//}
//API.Other.Wait(100);
Logger.log("Fight > " + spell.Name + " (by Name)");
Other.Wait(200);

KeyBoard.SendToChat("/cast " + spell.Name);
Other.Wait(100);
}
Other.Wait(50);
//Me.SetCast = true;

Other.Wait((int) (castTime*1000));

spell.Last_Time_Used = Other.TimeStamp;

// Me.SetCast = false;
}
catch (Exception e)
{
Console.Write("Error :\n" + e, "MrBig error on fast keys override");
// Me.SetCast = false;
}
}

PS2: HB right now needs some kind of position prediction system, for example in PVP, it will move forward to follow someone in a series of "jumps" instead of continuous following, this is really bad for melee, a prediction system would be cool because it would also allow you to cancel spells earlier since it could probably predict line of sight. That or make the damn follow code actually follow
 
Last edited:
Back
Top