Edit the combat routine you use! Find the following line, in bold, in the Class1.cs: Code: private Composite CreateMoveToLos2() { return new Decorator(ret => [B]TargetList.First().Distance > 50[/B], CommonBehaviors.MoveTo(ret => TargetList.First().Position, "CreateMoveToLos2")); } And set the > 50 distance (50 being about the distance of visible screen), with your preferred maximum engage distance. So for me with my primary attack being Freezing Pulse, I set that to 23. Now my bot charges up to the archers and freezing pulses them rather than sitting back using default attack or ice spear. Code: private Composite CreateMoveToLos2() { return new Decorator(ret => TargetList.First().Distance > 23, CommonBehaviors.MoveTo(ret => TargetList.First().Position, "CreateMoveToLos2")); } WIMM
Change the line: Code: CombatComposite.AddChild(CreateMoveIntoRange(45)); to something much lower and you should have the same effect as the old CR that this thread refers to.
ye i tried this already. Was the first thing i tried, its dont working. Bot still casts from max distance.
You'll probably also want to change the distance for Incinerate so it won't cast if you're too far away: Code: Register("Incinerate", ret => BestTarget.Distance < 40); Basically, Incinerate is an "always attack in place" type of skill, where the server doesn't move you into casting range like it does with most other skills. As a result, as soon as the bot goes to cast it, it'll cast from whatever distance you are rather than moving you to cast, which is what Exile assumed for using skills. There are other weird issues like that for some other spells, but users just have to work around them with how Exile is setup. A reworked casting system is being worked on and the way Exile is implemented will be changing in the future. For now though, it mostly works with a wide variety of skills. If the movement and casting system weren't being reworked, we'd invest some time into trying to restructure the casting composites, but it's not worth it for now.
Can i also do it like this? Register("Freezing Pulse", ret => BestTarget.Distance < 40)); Or it is better to go -> Register("Incinerate", ret => BestTarget.Distance < 40); " Register("Freezing Pulse"); " " " Will test it later, actually changed my bot-char to a summoner, this works very well.