Log in

View Full Version : [Update] XenoBot Apophis v14.11.19.982 [DYNAMIC LURE | NO MORE FALLING DOWN HOLES]



DarkstaR
09-15-2015, 08:33 AM
This update includes some substantial improvements for XenoBot. After some intense profiling, I've identified the most computationally taxing parts of the bot, and greatly improved their performance. People on slower machines should see a noticable improvement from these changes. Additionally, I've re-coded the path following system to be far better. There will be no more randomly falling down holes, smoother kiting, and better overall walking. To compliment this, I've also reduced delays in the Walker so that there are less awkward pauses between waypoints, added new distance ranges, added new lure walk ranges, improved the wave shooter so that it will never miss, and improved the positioning heuristic for strait-line kiting. To top it all off, I've added Dynamic Lure to Targeting, which will allow mages and knights to hunt to their full potential, without having to employ hacked-up Lua scripts to achieve a desirable lure.

Changelog:

v14.11.19.982
Re-coded many internal mechanisms to be faster, leaner, and more accurate.
Fixed some small bugs with Lure mode.
Fixed a bug that caused the internal path following mechanism to sometimes fall down holes.
If you see this happen, please inform me. But it shouldn't, unless maybe you have SEVERE lag.
Fixed a bug that caused Shooter settings not to be saved/loaded when selecting the Cavebot group in settings.
Improved the Walker to move between waypoints more smoothly (less waiting time on stands and labels).
Improved the Shooter to work much better when kiting, especially with wave spells.
Improved the efficiency and accuracy of the internal path following algorithm.
Improved the internal path following algorithm to walk much smoother on high-ping characters.
Improved many core functions to be more CPU and memory efficient.
Improved Keep Distance targeting stance to prefer strait lines in that same way that "Keep Diagonal" prefers slanted lines.
Modified the Walker context menu to be cleaner, moved some related options to their own dialogs.
Added Dynamic Lure to Targeting.
When dynamic lure settings are present, Targeting will go into a passive lure mode, where it will attack but not chase or kite targets.
Multiple lure directives can be set; they look like this:
3 Creatures Very High
5 Creatures Medium or Above
7 Creatures Very Low or Above
etc
A lure directive is met when the number of creatures at the specified priority level is at or above the specified count.
Once a lure directive has been met, Targeting will activate and kill all of the creatures before going back into lure mode.
Tips when using Dynamic Lure:
1. Use "Lure Walk" waypoints in place of "Stand" waypoints inside of a spawn so you don't outrun creatures you're luring
2. Make your Shooter settings work well with Dynmaic Lure so you're not shooting and luring, unless that's your goal
3. Dynamic Lure can be on at all times, it will play nice with Ignore mode and will still attack creatures if you get stuck
Added Keep Distance targeting stances for 4, 5, and 6 SQM ranges.
6 SQM range can potentially go off-screen, you should use it conservatively with a proper special area setup.
Added Keep Diagonal targeting stances for 4, 5, 6, and 7 SQM ranges.
7 SQM range can potentially go off-screen, you should use it conservatively with a proper special area setup.
Added Lure Walk 4 and Lure Walk 5 to the Walker lure system.

As you can see, this update is huge. Overall, about 2% of XenoBot's total code-base has been effected by this update, which means that there is the small potential for some unseen bugs. If you notice anything unusual, please report it ASAP.

Also note that previous Dynamic Lure settings will remain loaded when you load new settings that haven't been saved on this later version, so please make sure to re-save all relevant settings before playing with Dynamic Lure.

DarkstaR
09-15-2015, 08:35 AM
Also, I'd like to tell everybody that I recorded a 20 minute vlog talking about this update, explaining a lot of the technical stuff, and answering a lot of general questions I've been asked recently, but, after I was done, I realized that the mic was off and it was silent. I'm not doing that shit again. But I wanted you to know cause I'm still pissed off about it.

Soul
09-15-2015, 08:53 AM
Good job, thanks for the update.

Nakuu
09-15-2015, 09:02 AM
Do those improvements to Walker include not stepping randomly on stairs (pyramids) as well?

Stusse
09-15-2015, 09:11 AM
This looks very promising! Thanks man some of these changes was really needed, gonna try it out asap! Great!

I have two questions;

One; If you recommend to use LWalk to not outrun the monsters, there could be some problems (from previous testing): If someone else is in the spawn for example and have aggro, the bot will just stand trying to "lure" his monsters. They will however not get closer to you, so you will stand still just watching him waiting for the monster to come to you. Also if people have 0-100% hp and for say a lost soul is on low hp (run hp) and you see this, you will try to lure him but he will never get closer to you as well. If you are unlucky the monster wont run off screen either and there we're trapped.

This is possible to overcome by running a module to check for all that, just letting you know if this was something you had thought of with this update :)

Two; Will there be some multiple monster input in the way you described of luring? Currently we can only lure one monster (can sometimes outrun the rest), while considering maybe 2, 3, or a given number would be a better outcome if you wish to lure together a pull as EK for example :)

Over all great update, I will test it now :)

/Stusse

EDIT1: Will the Dynamic Lure still be toggled by the Start/End Lure? So for example I'm stopping either if criterias in the Dynamic Lure is met, or I reached a certain waypoint.

Bollo
09-15-2015, 10:00 AM
Thank God. This update seems to have it ALL. Really looking forward to looking more into this!


Do those improvements to Walker include not stepping randomly on stairs (pyramids) as well?
+1 also wondering this. Random walking up on stairs/holes etc have been such a (RNG) pain in the ass.

Kociii
09-15-2015, 10:07 AM
Nice work :D

Stusse
09-15-2015, 10:08 AM
I've botted for some time now since update and I gotta hand it to you DarkstaR, these walker improvements are good. So much faster processing mainly Stands but also nodes and other waypoint related stuff.

Good work on that shit.

/Stusse

Janado
09-15-2015, 11:49 AM
Finnally thanks DarkstaR

Janado
09-15-2015, 12:05 PM
DarkstaR bro u need put a defense in bot for people cant crack him cuz have people crack xenobot. this is one very important to u need do.

Bollo
09-15-2015, 12:33 PM
New distance ranges <3 <3 im in so in LOVE with this update!

Luls
09-15-2015, 12:48 PM
A I recorded a 20 minute vlog talking about this update, explaining a lot of the technical stuff, and answering a lot of general questions I've been asked recently, but, after I was done, I realized that the mic was off and it was silent.

I fucking lol'd.

Infernal Bolt
09-15-2015, 01:21 PM
Also, I'd like to tell everybody that I recorded a 20 minute vlog talking about this update, explaining a lot of the technical stuff, and answering a lot of general questions I've been asked recently, but, after I was done, I realized that the mic was off and it was silent. I'm not doing that shit again. But I wanted you to know cause I'm still pissed off about it.

Aaah damn :rolleyes:

anoyn
09-15-2015, 01:21 PM
Nice update ++

Nakuu
09-15-2015, 01:37 PM
Anyone here can lip read?

Y2Quakepc2
09-15-2015, 03:33 PM
The most needed thing xenobot had to be perfect to me. (after fixing reconnect after ss)


Will report about falling down/up after the whole botting sesion finishes today.

DarkstaR
09-15-2015, 03:43 PM
@DarkstaR (http://forums.xenobot.net/member.php?u=2) bro u need put a defense in bot for people cant crack him cuz have people crack xenobot. this is one very important to u need do.

There is already a ton of anti-crack, and I add more all the time. I wait until Tibia updates to add new anti-crack, as it means nobody can steal the bot for RL Tibia until they bypass my new defenses. If I release anti-crack without Tibia update, they can just keep using the older version until they break it.

Fatality
09-15-2015, 04:00 PM
Also, I'd like to tell everybody that I recorded a 20 minute vlog talking about this update, explaining a lot of the technical stuff, and answering a lot of general questions I've been asked recently, but, after I was done, I realized that the mic was off and it was silent. I'm not doing that shit again. But I wanted you to know cause I'm still pissed off about it.

LOL, You do my vlog... But forget to record it... Cmon nick :(

Fatality
09-15-2015, 04:01 PM
Anyone here can lip read?

Find a professional lip reader, they will charge about $2k/ hour good luck :D

Nakuu
09-15-2015, 04:13 PM
Find a professional lip reader, they will charge about $2k/ hour good luck :D

Well, if it's 20 min long then it would be affordable :)

Fatality
09-15-2015, 04:21 PM
Well, if it's 20 min long then it would be affordable :)

GL HF. :D

dinmamma
09-15-2015, 04:41 PM
Sweet update fam

Ben
09-15-2015, 07:59 PM
EDIT1: Will the Dynamic Lure still be toggled by the Start/End Lure? So for example I'm stopping either if criterias in the Dynamic Lure is met, or I reached a certain waypoint.

I have basically the same question: if I use Walker.StopLuring() but the lure conditions are met will the walker immediately start luring again? How do these functions interact? It's important because one way of fixing the bugs Stusse mentioned is with a module that stops luring.


Also it'd be nice if there were a lure count for the lure walk waypoints, e.g. only lure walk monsters if there is > X monsters on screen. This is handy because sometimes you want to just run past monsters if there's only 1 or 2 instead of luring them across the entire spawn. Using a module to ignore targets doesn't achieve this because it still lures even if targeting is being ignored, which is the other thing I don't like. I'm guessing DarkstaR wanted this functionality so the shooter can be turned off when luring? The thing is, you almost always want the shooter on when luring. And second, even if you do want it off, you can just load different shooter settings when luring. If instead ignoring targets stops luring (treating lure walks as stands), it allows the scripter a lot more control over when monsters are lured, e.g. in some parts of the spawn it might be good to lure walk monsters but not other parts of the spawn.

DarkstaR
09-15-2015, 08:15 PM
I have basically the same question: if I use Walker.StopLuring() but the lure conditions are met will the walker immediately start luring again? How do these functions interact? It's important because one way of fixing the bugs Stusse mentioned is with a module that stops luring.

Dynamic lure is only considered when targeting is in normal operation, meaning it will be irrelevant when the walker is in lure or ignore mode.

Nakuu
09-15-2015, 08:39 PM
Any chance to make it possible (as an option) to prioritize Looter(first) over luring? :)

Stusse
09-15-2015, 08:50 PM
Suggestion: Add Loot First to certain items.

It goes well along with what Nakuu suggested as well. It is good if luring or just targetting kiting to stop if like Terra Mantle but not for platinum coin for example. :)

Like a small option for each item:
Priorized: yes/no

Then option for all prioritized items like:
Prioritized: Loot Normal(according to first/last) / Loot First / Loot First:Lure


/Stusse

DarkstaR
09-15-2015, 08:56 PM
Any chance to make it possible (as an option) to prioritize Looter(first) over luring? :)

Please explain. When lure is inactive, here's the state machine that determines how the cavebot behaves

Acquire Target -> Open Bodies (if Loot First) -> Finish Looting An Open Body -> Kite or Follow Target -> Open Bodies (if Loot Last) -> Follow Waypoints

Here's what it looks like when lure is active:

Acquire Target -> Open Bodies -> Finish Looting An Open Body -> Follow Waypoints

It's exactly the same, with the exclusion of kite/follow targets. Looter is always high priority over walker, and targeting doesn't have control of your character, so looter is always considered first.


Suggestion: Add Loot First to certain items.

It goes well along with what Nakuu suggested as well. It is good if luring or just targetting kiting to stop if like Terra Mantle but not for platinum coin for example. :)

/Stusse

If luring, it will always stop to loot. So, what you're asking for is to interrupt kiting when there's loot of a certain value dropped. I can do that pretty easily.

Nakuu
09-15-2015, 09:23 PM
Please explain. When lure is inactive, here's the state machine that determines how the cavebot behaves

Acquire Target -> Open Bodies (if Loot First) -> Finish Looting An Open Body -> Kite or Follow Target -> Open Bodies (if Loot Last) -> Follow Waypoints

Here's what it looks like when lure is active:

Acquire Target -> Open Bodies -> Finish Looting An Open Body -> Follow Waypoints

It's exactly the same, with the exclusion of kite/follow targets. Looter is always high priority over walker, and targeting doesn't have control of your character, so looter is always considered first.

Well, the issue I have is simply that when Walker is luring it doesn't go to dead bodies to open them (it does sometimes open dead body when its next to player, feels quite randomly though) but instead it just keeps luring until I disable luring. Dunno if know what I mean... if not maybe Stusse or shadowart can explain it better :)

DarkstaR
09-15-2015, 09:44 PM
Well, the issue I have is simply that when Walker is luring it doesn't go to dead bodies to open them (it does sometimes open dead body when its next to player, feels quite randomly though) but instead it just keeps luring until I disable luring. Dunno if know what I mean... if not maybe @Stusse (http://forums.xenobot.net/member.php?u=965) or @shadowart (http://forums.xenobot.net/member.php?u=56468) can explain it better :)

Are we referring to walker-based lure or dynamic lure?

Nakuu
09-15-2015, 09:47 PM
Are we referring to walker-based lure or dynamic lure?

Walker based I guess - I got module where I call Walker.StartLuring() and Walker.StopLuring() which are the same as the start / stop lure waypoints I assume.

shadowart
09-15-2015, 10:08 PM
I'm understanding Darkstar right the new dynamic lure does exactly what you want but the old walker based lure hasn't changed.

Stusse
09-15-2015, 10:09 PM
Just to add to Nakuu's explanation; However there is no LWalk waypoints used in this case. The reason? One might ask, is to be able to keep attacking throghout the lure section.

So; Walker.StartLuring() is called, followed by neutral waypoints, also with a custom module to wait for multiple monsters on screen, and at end waypoint normal targetting is toggled to start attacking normally (tank mode or kite at that given location). During this lure section if a monster dies on the way due to a thunderstorm for example, the bot will some times loot it, some times continue. The loot accuracy during Walker.StartLuring() is very decreased.

What is asked for (I guess) is:
*What I mainly asked for (So, what you're asking for is to interrupt kiting when there's loot of a certain value dropped. I can do that pretty easily.) - Yes. It would be very good for certain areas where you for example kite multiple monsters, but dont wanna risk loot first (tankmode) for a platinum coin but might as well do it for a rare to keep up the main profit. Also to loot rare items if you risk running away from the corpse with the rare item.

*What Nakuu is talking about:
Option to override the normal waypoints while Walker.StartLuring(). We have experienced that while Walker.StartLuring() is enabled and the bot is following normal waypoints (not LWalk), the looter is missing many more monsters than otherwise. This could be an option combined with the loot value as I was talking about, as well as to either totally enable/disable looter while Walker.StartLuring().

I hope I could shred some light on the details ^^

/Stusse

Gordo
09-15-2015, 10:36 PM
Also, I'd like to tell everybody that I recorded a 20 minute vlog talking about this update, explaining a lot of the technical stuff, and answering a lot of general questions I've been asked recently, but, after I was done, I realized that the mic was off and it was silent. I'm not doing that shit again. But I wanted you to know cause I'm still pissed off about it.

still so nb. rip

DarkstaR
09-16-2015, 01:56 AM
Walker based I guess - I got module where I call Walker.StartLuring() and Walker.StopLuring() which are the same as the start / stop lure waypoints I assume.

Could well be a bug, I'll check it out. Possible to confirm if it's the same with Dynamic lure?

Ben
09-16-2015, 04:37 AM
For the dynamic lure mode a function that returns whether you're killing monsters or luring them might be handy.

edilove
09-16-2015, 02:04 PM
HEY MAN...

HOW I USE MY XENOBOT IN VERSION 10.79 ??

I CANT FIND THIS VERSION

HELP ME PLX

Soul
09-16-2015, 02:19 PM
HEY MAN...

HOW I USE MY XENOBOT IN VERSION 10.79 ??

I CANT FIND THIS VERSION

HELP ME PLX

Just open your tibia client + xenosuite.

Nakuu
09-16-2015, 06:01 PM
Could well be a bug, I'll check it out. Possible to confirm if it's the same with Dynamic lure?

Will be able to confirm on Sunday at the earliest most likely :( I am kinda busy this week...

Stusse
09-16-2015, 06:38 PM
DarkstaR

With the new faster Walker update I've encountered a problem. The Walker will some times proceed over targetting, when switching or when a monster dies.

For instance I'm standing tanking 6 monsters, I have different targetting settings to not target low monsters when one gets low so I wont start running after it for example. Once the targetted monster gets low enough, it will switch target. Within that switch the walker can jump one waypoint. In my case I have a StartIgnoring label causing the bot to ignore all monsters to be able to run past shit easily. In conclusion sometimes when targetted monster dies or I switch target - Walker will proceed even though there are monsters on screen.

I guess this might be due to the faster walker update, but its quite annoying because it occurrs pretty often, but not always. I've also tried to place multiple stand on same sqm waypoints inbetween the StartIgnoring label (so it would process more stands before going there and perhaps continue targetting instead, but doesnt help). - It's of importance that I keep my position, thus stands on my own sqm (and not nodes a bit away so it would actually start walking).

If need more detailed description let me know.

/Stusse

L!p3
09-16-2015, 06:42 PM
Great!
To make this bot perfect you Just need to add an option to change bot setup with lua without loading another file.

alina
09-19-2015, 08:21 AM
help me i have bug in this new version everytime when i open tibia and try to inject it failed and say error and i delete old version and setup new and still fail help me please

VilleDaKing
09-21-2015, 09:20 AM
DarkstaR could you improve pvp safe shooter by making it check lower and upper level near the stairs and holes?

Stusse
09-22-2015, 01:09 PM
Seems like some loot from the Seacrest Grounds are missing a return value.

Crest of the Deep Seas (value 10k) - ID: 21892
Seacrest Pearl (value 400gp) -ID: 21747
Seacrest Hair (value 260gp) - ID: 21801
Seacrest Scale (value 150gp) - ID: 21800

/Stusse

Koksik22
09-26-2015, 10:48 AM
my bad.

Matildabot
09-30-2015, 10:34 AM
Waiting for the new update :) hope you are fast as always

Kitamanis
09-30-2015, 10:38 AM
Yeah!

ShadyTim
09-30-2015, 01:15 PM
Update plx0r :p

DarkstaR
09-30-2015, 01:41 PM
http://forums.xenobot.net/showthread.php?38296