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

Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members through your own private inbox!

Is pulldistance="0" necessary?

odarn

New Member
Joined
Jun 20, 2013
Messages
378
Very often the pull distance is set to 0 when the toon has to interact with NPC's or quest items. But when it is attacked it then has to chase its target, aggro'ing more mobs in the process. I usually set the pull distance back to a more realistic setting, and then I notice that the toon has no problem with interacting at this setting. So my question, I suppose to profile writers, is setting the pull distance to a low value really necessary?
 
I think developers want the bot's full uninterrupted attention while it interacts with NPCs or quest items because any breakage in the sequence caused by the combat routine can cause the bot to get stuck in a loop. Or it could just cause the bot to never finish what it's trying to do.
Setting a low PullDistance is usually an easy way to 'blind' the bot so it won't get distracted while it's trying to 'do something' like turning in a quest to a quest giver that's surrounded by hundreds of mobs.

There's <DisableBehavior Name="Combat" /> which disables the combat routine all together allowing the developer to manually code anything they 'need' without interruption.
However, in some situations - it's not smart using a behavior like this considering some people play on PvP servers were 'some' combat is needed so the bot doesn't look so mindless.
So setting PullDistances lower is just a easy/immediate solution.

Other alternatives:
  • <EnableBehavior Name="Combat" />
  • <DisableBehavior Name="Pull" />
  • <EnableBehavior Name="Pull />
 
I did notice that, at least in Kick's, the pulldistance has overall been replaced by <EnableBehavior Name="Pull />. What does it do exactly?
 
I did notice that, at least in Kick's, the pulldistance has overall been replaced by <EnableBehavior Name="Pull />. What does it do exactly?
It's a dev-level switch that either enables or disables the "Pull" routine entirely so that the bot won't engage mobs. However it'll still attack if attacked.
 
It's a dev-level switch that either enables or disables the "Pull" routine entirely so that the bot won't engage mobs. However it'll still attack if attacked.
Thank you for the info. But it seems that it still changes the pulldistance settings. Or is that some other part of HB? I mean, if it was only disabling the pull routine, it would not need to change, and hopefully reset, those settings? Unless of course, disabling really means setting the pulldistance=0?
 
What that switch does is disable pulling behavior. Ordinarily, the profile will move to the optimal pull distance for your class and then engage the combat routine's pull behavior. This turns that off and is a good way to interact with characters and objects.
You won't pull mobs deliberately but you will still defend yourself from aggro'd mobs.
Turning combat off disables even that second option and is normally a good way to suicide in mob heavy areas.

Just remember to turn it back on before trying to pull. The original method frequently reset the pull distance back to the wrong figure. Now the combat routine should control the distance, the profile just decides whether to pull or not.
 
What that switch does is disable pulling behavior. Ordinarily, the profile will move to the optimal pull distance for your class and then engage the combat routine's pull behavior. This turns that off and is a good way to interact with characters and objects.
You won't pull mobs deliberately but you will still defend yourself from aggro'd mobs.
Turning combat off disables even that second option and is normally a good way to suicide in mob heavy areas.

Just remember to turn it back on before trying to pull. The original method frequently reset the pull distance back to the wrong figure. Now the combat routine should control the distance, the profile just decides whether to pull or not.
Let me see if i got the sequence right:

1) profile disables pull behavior
2) profile say to toon go to location L and interact with item I
3) combat routine sets pulldistance to 0
4) another routine interacts with item
5) once finished, combat resets pulldistance to let's say 20, not necessarily the original pulldistance as set by the user.
6) profile re-enables pull behavior?
 
The pull distance should be set by the combat routine to whatever is optimal for the class. This may vary depending on current abilities, glyphs, etc.
Pulling is enabled/disabled by the profile. Pulling is defined as aggroing a mob by using your abilities on it. The alterative is body-pulling, which aggros a mob by moving too close to it.
With pull behavior disabled, you will not pull mobs from abilities. You CAN still aggro them by body-pulling, so combat behavior is still active (unless that is disabled as well) and your toon will defend itself.
It will not pull any new mobs until pull behavior is enabled again.
With enabled and disabled pull behavior tags, the profile has NO control over pull distance. That is how it should be. Pull distance should be solely at the discretion of the combat routine.
 
The pull distance should be set by the combat routine to whatever is optimal for the class. This may vary depending on current abilities, glyphs, etc.
Pulling is enabled/disabled by the profile. Pulling is defined as aggroing a mob by using your abilities on it. The alterative is body-pulling, which aggros a mob by moving too close to it.
With pull behavior disabled, you will not pull mobs from abilities. You CAN still aggro them by body-pulling, so combat behavior is still active (unless that is disabled as well) and your toon will defend itself.
It will not pull any new mobs until pull behavior is enabled again.
With enabled and disabled pull behavior tags, the profile has NO control over pull distance. That is how it should be. Pull distance should be solely at the discretion of the combat routine.
Now you have completely lost me! What is the use of the pulling distance in profiles and user settings?
My worry is how to control the behavior of the toon as far as pulling is concerned.
There are 2 general situations I have problems with:
1) the situation just described that the toon has to interact with item or npc
2) the situation where the toon pulls mobs that are not in its path, even though the killbetweenhotspots is unchecked.
In both cases, the toon is behaving in a way that I have no control over. Changing profile or user settings does not help. I am sorry if I appear a little dense, but it is still not clear to me.
So to make it clear I would also need an answer to the following question:
Does the combat routine decide independently of the profile and user settings to pull mobs? (And I am not talking about auto-defense.) Because that is how it looks to me, and that is exactly why it is so frustrating!
I really appreciate you taking the time to clear things up.
 
At present, there are three ways to change pull distance - user settings, profiles and combat routines.
The pull behavior enabled/disabled is meant to eliminate that variety so only the combat routine has control - and that is just down to knowing how far the class can pull from.

OLD system - the profile changed the pull distance to 0 so it could interact with a npc or object without moving away to aggro nearby mobs. The profile then (hopefully) changed the pull distance to something >0 but probably still not optimal for the class. In some cases, the pull distance stayed at 0 - this is why bobby53 has that logging about pull distance active in Singular.

NEW system - the profile disables pulling entirely, defends itself against any currently aggro'd mobs, then interacts with the npc or object. The profile then enables pulling behavior again and continues.

From what I understand (and this is currently the subject of much discussion) is that eventually the user setting of pull distance MAY be removed entirely. The profile setting MAY be deprecated and it is encouraged to use Enable/Disable of various behaviors such as Pulling and Combat.

What the profile CAN do is determine a range to look for hostile mobs. The new system should resolve problem 1, I'd need to have a look at the profile you are running to see how problem 2 is coming about.
 
At present, there are three ways to change pull distance - user settings, profiles and combat routines.
The pull behavior enabled/disabled is meant to eliminate that variety so only the combat routine has control - and that is just down to knowing how far the class can pull from.

OLD system - the profile changed the pull distance to 0 so it could interact with a npc or object without moving away to aggro nearby mobs. The profile then (hopefully) changed the pull distance to something >0 but probably still not optimal for the class. In some cases, the pull distance stayed at 0 - this is why bobby53 has that logging about pull distance active in Singular.

NEW system - the profile disables pulling entirely, defends itself against any currently aggro'd mobs, then interacts with the npc or object. The profile then enables pulling behavior again and continues.

From what I understand (and this is currently the subject of much discussion) is that eventually the user setting of pull distance MAY be removed entirely. The profile setting MAY be deprecated and it is encouraged to use Enable/Disable of various behaviors such as Pulling and Combat.

What the profile CAN do is determine a range to look for hostile mobs. The new system should resolve problem 1, I'd need to have a look at the profile you are running to see how problem 2 is coming about.
Thank you. That is really enlightening.
I find the move to neutralize the user settings really worrisome. It would not really be a problem is HB was known for its stability. But right now, user input is so often needed to keep the bot going, that it would be a complete disaster.
As far as the profile i was referring about, well in this case they were all Kick's.
 
The problem with the user setting of pull distance is it was frequently being overwritten by combat routines and profiles. The user setting said one thing, the profile changed it repeatedly, and the combat routine said 'Bugger this for a game of soldiers. If you can't decide, I'll either just bodypull everything or stand about like a lemon and do nothing.'
The new changes are a little less ambiguous.
Pull behavior should be controlled by the combat routine and will be based on the distance your class can attack mobs from.
The profile version of pull distance is a little more like your own aggro radius. It is how far you can look for new mobs to pull.
I can understand the user possibly being able to change the profile definition (though really that would be best left to the profile author).
 
And Kick's profiles are in the process of being rewritten with the new behaviors in mind. I think Chinajade is working on that project.
 
The problem with the user setting of pull distance is it was frequently being overwritten by combat routines and profiles. The user setting said one thing, the profile changed it repeatedly, and the combat routine said 'Bugger this for a game of soldiers. If you can't decide, I'll either just bodypull everything or stand about like a lemon and do nothing.'
The new changes are a little less ambiguous.
Pull behavior should be controlled by the combat routine and will be based on the distance your class can attack mobs from.
The profile version of pull distance is a little more like your own aggro radius. It is how far you can look for new mobs to pull.
I can understand the user possibly being able to change the profile definition (though really that would be best left to the profile author).
I am afraid i do not agree with you. Taking the user out of the equation is the worst thing Chinajade could do. (S)he cannot guarantee that the combat routines would work in every situation, and making it impossible for the user to intervene means that there is no human input left. This is Skynet at its dumbest!
 
Here is an example of the intelligence of the bots that we are supposed to give free reigns to: the situation is comparable to the example i gave in another thread: iq tests for bots.
This time, it concerns Inkgill Mere, in Kasarang Wilds. The toon dies so often, you feel like crying. Normally, I stop Hb, and finish the quest manually. This time I let it play out to make my point.
The only thing I have edited in the profile are the pull distances, but since they are changed by Hb anyway, it does not really matter.
I hope that will make people understand why I hammer on priority for the user: HB is far from ready to dispense from human input!
 

Attachments

Personally, I don't believe the routine should in any way control the pull distance, EVER. The routine has no way of knowing the situation it is in. The routine setting a generic pull distance is ok for some situations.......BG's, Arch Bot, etc. But, with highly customized profiles, this can be a serious issue. This is why I have stated in the past, pull distance should be left to the profile writers discretion. The profile writer knows the circumstances the bot is in at pretty much any given time. The routine is blind, only knows fight/don't fight.
 
Personally, I don't believe the routine should in any way control the pull distance, EVER. The routine has no way of knowing the situation it is in. The routine setting a generic pull distance is ok for some situations.......BG's, Arch Bot, etc. But, with highly customized profiles, this can be a serious issue. This is why I have stated in the past, pull distance should be left to the profile writers discretion. The profile writer knows the circumstances the bot is in at pretty much any given time. The routine is blind, only knows fight/don't fight.

I agree with you insofar as i'd rather have the profile setting the pull distances than anonymous routines. But I still think that the user should have the last word. Profile writing, like program coding, is humanly error prone. The end-user is the first to notice an error or a bug, and should be allowed to correct it on the fly, instead of waiting for a profile writer to update its profile.
Furthermore, the more I read about C# and modern programming and design tools, the more I realize that HB is really stuck in a technological deadend. It is using an obsolete paradigm (cs files + xml files), whereas "new" technolgies like xaml (has been around for almost as long as xml), and Microsoft Expression Blend, would lend much more flexibility to all, profile writers and end users alike. The distance between the two would be much smaller with graphical interfaces to create and edit xml/xaml profiles. Something i really hope to see in a near future in HB.
By using graphical interfaces, even the distance between devs and end users could be easily be bridged, making it easier for devs to concentrate on the main logics, and leave the details to profile writers and users.
 
I agree with you insofar as i'd rather have the profile setting the pull distances than anonymous routines. But I still think that the user should have the last word. Profile writing, like program coding, is humanly error prone. The end-user is the first to notice an error or a bug, and should be allowed to correct it on the fly, instead of waiting for a profile writer to update its profile.
Furthermore, the more I read about C# and modern programming and design tools, the more I realize that HB is really stuck in a technological deadend. It is using an obsolete paradigm (cs files + xml files), whereas "new" technolgies like xaml (has been around for almost as long as xml), and Microsoft Expression Blend, would lend much more flexibility to all, profile writers and end users alike. The distance between the two would be much smaller with graphical interfaces to create and edit xml/xaml profiles. Something i really hope to see in a near future in HB.
By using graphical interfaces, even the distance between devs and end users could be easily be bridged, making it easier for devs to concentrate on the main logics, and leave the details to profile writers and users.


Totally agree with this, I'm using Pangaea with singular to level an enhance shaman, pull distance was being set sometimes to 45 sometimes to something like 60. When I manually set it to 20 it more than doubles my kill/hour. At 45 you just see the character mount, run, mount, run, stand there for a while. Eventually something else will path past and the routine will hit it, which is very inefficient. I have to manually set it to 20 everytime the profile sets it back when it's called to do so. Would be nice if we can Lock the setting somehow.
 
Back
Top