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

Faster attacks?

yuuzikha

New Member
Joined
Jun 12, 2012
Messages
16
Reaction score
0
Hello! I am currently farming act1 Inferno on my Wizard with ..Decent.. success. He is geared enough to clear entire Inferno but when it comes to botting he is less successful.

The ONLY thing that keeps me from NEVER dying is the fact that he doesn't cast spells fast enough.

If I have more than 1-2 spells (when using generic) set to "Not on Cooldown" the bot pretty much chooses one of them instead of clicking all of them at the same time. Which may result in an unnecessary death.

Is there any way to make the bot actually spam (really spam) 2-3 spells every time it enters combat?

xoxo
 
Tony i know that you trys to help, but ive tried alot of different routines and it doesnt have anything to do with them. Even if i have a fresh install without any plugins or custom Combat routine.
I still doesnt attack as fast as if im playing by hand.
 
Because:

BotMain (which ticks BrainBehavior) sleeps for 1000/TPS miliseconds no matter how long the actual tick took. By demonbuddy default this is 10, so every 100ms.

So if the behavior itself ends into a Node doing for (bad) example: Thread.Sleep(500) one Pulse will take: TreeWalking 1ms + 500ms runtime + 100ms tickSleep.

Causing OnPulse to be called not more than twice each second.

This is mostly caused by plugins or the combat routine using imperformant demonbuddy functions, for example DiaUnit.Distance in rapid succession instead of caching the distance data for each unit.
Or worse any of the demonbuddy injection functions that take 1000/fps ms by default.

Like lets say you want to calculate each mobs distance to each mob, this costs n^2 where n is the number of mobs, now if you call demonbuddy distance function it will take miniscule time to retrieve the distance but it will do so everytime:

foreach (DiaObject ugenesis in Units){

foreach (DiaObject u in Units){
if (ugenesis.position.distance2d(u.position))
doStuff()
}

}

If you take gizmos, units and items this will usually be 50+. If you dont cache the position of each mob locally this will take forever since it will read the value from memory anew every time.

So to alleviate this you could either wrap the DiaObject into a CachedObject that caches the data internally (youd have to write this yourself or steal agbs experimental one), or cache data ad hoc into hashes and work on these hashes for the rest of the iteration (or define your own invalidation time).
(c) kane
 
try Belphegor

Belph is even less spammy. I pretty much want the bot to think LESS. My current spec is so piss easy to play I can do it with my eyes closed. I basically want the bot to just spam 1-2-3-4 over and over every time it enter combat. Right now it takes ~0.3sec between each cast and that is quite a lot.

It does NOT need to check for anything (no need to check for cooldowns or any criteria) it just needs to spam as fast as I would by playing by hand.
 
Yes this is a terrible problem.
I'm running with 1700 life per hit and alot of deaths could have been averted if he would attack at his true speed.
Using skills like Frenzy are just a pure waste of time when you see him attack at a quarter of the speed i would be attacking if all i did was just keep my mouse clicked down.
 
Tony i know that you trys to help, but ive tried alot of different routines and it doesnt have anything to do with them. Even if i have a fresh install without any plugins or custom Combat routine.
I still doesnt attack as fast as if im playing by hand.

post your log net time in that case
 
yes you may need to try different spell sets,depends on class
 
Nopp sry wont do that. I wont do that test AGAIN when its a fact, i think most players that use a MF profile have noticed that "auto" attacks are slower then usual
 
dont expect support in that case,fair enough
I didnt really need support, just want to PUSH on the fact that this is a common problem so maybe devs can take a look at how the OnPulse handling is working...
 
Tony, I'm glad you saw the thread! But honestly, you don't really need logs when you can fire up any profile with any combat routine and observe/replicate the issue instantly. =)

It's there plain as day for everyone to see.
 
I didnt really need support, just want to PUSH on the fact that this is a common problem so maybe devs can take a look at how the OnPulse handling is working...

Hi Radonic,

Do this somewhere: BotMain.TicksPerSecond = 30;

And tell me if anything changes.
 
I want to up what dookiepie said.

For example. If I have Frost nova set to go off on CD it I expect it to ALWAYS be off CD since it's supposed to be used as soon as it is ready. Right now it may be ready for a second or two before it goes off (if I have more than one spell set to go off on CD that is). It wont matter what routine, class or profile I use. The bot is simply to slow to spam stuff right now. What I wondered is if there is a work-around for that.

If you want I can post logs/vid etc tomorrow when I get home to explain even further for you to understand.
 
I want to up what dookiepie said.

For example. If I have Frost nova set to go off on CD it I expect it to ALWAYS be off CD since it's supposed to be used as soon as it is ready. Right now it may be ready for a second or two before it goes off (if I have more than one spell set to go off on CD that is). It wont matter what routine, class or profile I use. The bot is simply to slow to spam stuff right now. What I wondered is if there is a work-around for that.

If you want I can post logs/vid etc tomorrow when I get home to explain even further for you to understand.

do BotMain.TicksPerSecond = 30; and tell me if something changes :P
 
the problem is really quite simple: casting a.k.a. use power is a single click not a hold down for n sec

There would need to be a begin using power and end using power a.k.a. mouse/key up/down
 
the problem is really quite simple: casting a.k.a. use power is a single click not a hold down for n sec

There would need to be a begin using power and end using power a.k.a. mouse/key up/down

What ? its the simple fact of demonbuddy not issuing the commands fast enough due to badly designed behavior trees and flaws deep in the system.
 
Back
Top