PDA

View Full Version : [Update] XenoBot v2.8.8



DarkstaR
12-04-2012, 04:27 AM
This update brings a full re-code of the Targeting logic which makes it much more intelligent and useful. It also fixes a flaw in the distance runner and implements some back-end diagnostic functions for me to help better identify issues.

Changelog:

Improved the distance evasion to use less diagonal steps and not stop next to the target randomly
Rewrote the Targeting algorithm to be much more intelligent.
Targeting selection process:
-Select parameters with highest priority
-If still ambiguous, select parameters which have creatures with the lowest health
-If still ambiguous, select parameters which have closer creatures
-If still ambiguous, select parameters which have a higher count
-If still ambiguous, select parameters which creature we're currently attacking
-Target the closest OR least healthy creature in the select parameters
Some of the new things you'll notice:
-Targeting will now switch to higher priority creatures as they appear.
-Targeting will update counts correctly (So, on non-pvp, you can set proximity 1, count 3, spell "exori gran," and it will work perfect)
-Targeting will now only select farther creatures if they are higher priority or lower health than closer creatures
-Targeting is much easier on CPU now. Comparative benchmarks showed up to a 300% increase in execution speed.



For download and operation instructions, refer back to this thread:
http://forums.xenobot.net/showthread.php?19

jaime
12-04-2012, 04:29 AM
Gtz i go check it

Alastorsz
12-04-2012, 04:54 AM
nice gonna check it now, by the way, preparing ur self for update work? xP

Crown Royal
12-04-2012, 04:57 AM
W00T! Thanx :P Keep up the good work!

fxtrok
12-04-2012, 05:10 AM
Flawless as usual

jonman715
12-04-2012, 05:14 AM
woo sounds like a lot of work. Thanks :D cant wait to try it out, does it override the scripts when its diagnol(like what healing did with that update) or do we have to fix it

Mega
12-04-2012, 07:49 AM
Awsome dark, but it would be lovely with a little delay on diagonal stance for knights.
Its a safe change since it would only make us look more human and less botish

PunktG
12-04-2012, 08:33 AM
testing :)

Neant
12-04-2012, 10:19 AM
Looks very nice. I'll test it when I get home.

Aquilla
12-04-2012, 10:36 AM
Will test it tonight:D

Y2Quake
12-04-2012, 11:00 AM
okey this time im gonna update, downloading

Hendy
12-04-2012, 11:41 AM
Looks great, thanks!

gravelet
12-04-2012, 01:01 PM
What about TARGETING SPECIAL ARENA bug? Does update fix this problem?

Stusse
12-04-2012, 01:38 PM
Looks promising! Great that you fixed targeting to change as creature appears and not as one dies!

Testing!

luundbergh
12-04-2012, 03:17 PM
This update brings a full re-code of the Targeting logic which makes it much more intelligent and useful. It also fixes a flaw in the distance runner and implements some back-end diagnostic functions for me to help better identify issues.

Changelog:

Improved the distance evasion to use less diagonal steps and not stop next to the target randomly
Rewrote the Targeting algorithm to be much more intelligent.
Targeting selection process:
-Select parameters with highest priority
-If still ambiguous, select parameters which have creatures with the lowest health
-If still ambiguous, select parameters which have closer creatures
-If still ambiguous, select parameters which have a higher count
-If still ambiguous, select parameters which creature we're currently attacking
-Target the closest OR least healthy creature in the select parameters
Some of the new things you'll notice:
-Targeting will now switch to higher priority creatures as they appear.
-Targeting will update counts correctly (So, on non-pvp, you can set proximity 1, count 3, spell "exori gran," and it will work perfect)
-Targeting will now only select farther creatures if they are higher priority or lower health than closer creatures
-Targeting is much easier on CPU now. Comparative benchmarks showed up to a 300% increase in execution speed.



For download and operation instructions, refer back to this thread:
http://forums.xenobot.net/showthread.php?19

Could someone help me out here, didn't really get this update, smarter targeting system? :o

Yours,
Luundbergh

soul4soul
12-04-2012, 03:18 PM
dont like it so far. I hope it can be improved in the future so the user can pick the target priority and the stickiness. It should be an improvement over the previous targeting brain, I look forward to that.

kubax36
12-04-2012, 04:16 PM
Could someone help me out here, didn't really get this update, smarter targeting system? :o

Yours,
Luundbergh

yes. :]

Junglemaster1992
12-04-2012, 04:35 PM
nice update

DarkstaR
12-04-2012, 04:40 PM
dont like it so far. I hope it can be improved in the future so the user can pick the target priority and the stickiness. It should be an improvement over the previous targeting brain, I look forward to that.

You can pick target priority. What the fuck is "stickiness?"

desche188
12-04-2012, 04:57 PM
You can pick target priority. What the fuck is "stickiness?"

how much it sticks to a target e.g 1 would be not verry and 10 would be even if the other is higher priority dont change

sirmate
12-04-2012, 05:01 PM
You can pick target priority. What the fuck is "stickiness?"

"stickiness" > Whether targeting should tend to stick on the target it has previously chosen (currently attacking) or nope.
Guess it's connected with "If still ambiguous, select parameters which creature we're currently attacking" this rule.

kreoo
12-04-2012, 05:18 PM
Thats an awesome update! Thx!
Any ideas on when it will come with anti KS? only target monsters that are targeting you? This would help bunches since people are reporting and/or engaging in conversations with my afk chars when I atk their monsters:/

DarkstaR
12-04-2012, 05:52 PM
"stickiness" > Whether targeting should tend to stick on the target it has previously chosen (currently attacking) or nope.
Guess it's connected with "If still ambiguous, select parameters which creature we're currently attacking" this rule.

Well, that rule makes it stick to the current target, no matter what, UNLESS a higher priority monster appears. That's how priority works. I may look into stickiness sometime, though.

XtrmJosh
12-04-2012, 06:25 PM
Thanks Nick, appreciate this update (and you pushing the logging stuff in to resolve this issue). Sorry if my bug report misled you, though there was a bug, the bug wasn't quite as much of a blocker as suspected.

Not sure about everyone else but I think some advanced logging would be epic (aka a button in Tools or something). It could record all actions, callbacks, function locations (aka called myfunction() from mylib.lua with return value true). I'll make a proposal about it and see where we end up. It's a nice thing for users to be able to monitor, since it will help us fix any situations we're encountering!

DarkstaR
12-04-2012, 06:31 PM
Thanks Nick, appreciate this update (and you pushing the logging stuff in to resolve this issue). Sorry if my bug report misled you, though there was a bug, the bug wasn't quite as much of a blocker as suspected.

Not sure about everyone else but I think some advanced logging would be epic (aka a button in Tools or something). It could record all actions, callbacks, function locations (aka called myfunction() from mylib.lua with return value true). I'll make a proposal about it and see where we end up. It's a nice thing for users to be able to monitor, since it will help us fix any situations we're encountering!

This was my initial though. But then I realized something: if the bot crashes, which is usually good cause to read a log, the log is inaccessible.

XtrmJosh
12-04-2012, 06:38 PM
This was my initial though. But then I realized something: if the bot crashes, which is usually good cause to read a log, the log is inaccessible.

Perhaps (and this is probably a large amount of work for a little reward) you could use some TCP/IP command system. Whenever a function is called within the bot or in Lua, you could call a TCP/IP send function, and send the command with parameters to a local TCP/IP server, which would simply write the data received to file. That way every function which was called would first be sent to the server and recorded, and although we may not wait for a response from the TCP/IP server, the logs should get updated in time to be able to review the data.

Though I don't think crashes are to be expected, I think this may be the best decision if you intend to use it as a developer resource (I was thinking more as a user resource).

raiQi
12-04-2012, 06:48 PM
Gracias senor, will test soon :P

kreoo
12-04-2012, 07:48 PM
DarkstaR , you said we could set it to exori gran if 3+. But lets say I want to use exori min, is it possible at the moment? or it will cast independent of my current direction?

kreoo
12-04-2012, 08:17 PM
Rydan the current script for this action is kinda messy... I mean, when Im using the diagonal instance it just doesnt work, it misses a lot!

Thats why I was wondering if Xeno had it native now since its a spell and its not going away.

Thank you!

WorkingHandz
12-05-2012, 02:31 AM
this update sounds promising. how is it working so far? I would update but the current system is good enough for me at the moment so no need to rush.

Grimley
12-05-2012, 04:54 AM
Oh god this looks fucking awesome. It's a really big update, hope it works as intended. Thanks a lot!

Pepsi_901
12-05-2012, 01:15 PM
Sounds good, gonna try it later.

Still waiting for special areas to be fixed though...

kubax36
12-05-2012, 01:21 PM
DarkstaR, everything is working good, but u told u gonna add deepling filet to food list :D

DarkstaR
12-05-2012, 02:22 PM
@DarkstaR (http://forums.xenobot.net/member.php?u=2), everything is working good, but u told u gonna add deepling filet to food list :D

Ah crap. It got buried in the issue tracker because I had other newer issues above it. I'll get to it soon!

Erra
12-05-2012, 09:10 PM
Ah crap. It got buried in the issue tracker because I had other newer issues above it. I'll get to it soon!

Something that I noticed is that creatures that are adjacent to you, and therefore can hit you, and are on the highest priority aren't targeted if there's a monster with lower health 2+ SQMs away from you, which was troublesome at water elementals. Is it currently possible to change that so that adjacent water elementals are always prioritized highest?

Love the new targeting btw, it's a lot smoother now!

DarkstaR
12-05-2012, 09:53 PM
Something that I noticed is that creatures that are adjacent to you, and therefore can hit you, and are on the highest priority aren't targeted if there's a monster with lower health 2+ SQMs away from you, which was troublesome at water elementals. Is it currently possible to change that so that adjacent water elementals are always prioritized highest?

Love the new targeting btw, it's a lot smoother now!

Proximity: 1
Priority: High

Proximity: All
Priority: Medium

That should work.

Erra
12-05-2012, 10:22 PM
Proximity: 1
Priority: High

Proximity: All
Priority: Medium

That should work.

Ah, I'll try once I'm on the char again, I just figured it would change back to the low health creature once it's moved away from the closer one as I'm using 3 SQM dist :o

Sorry for the piss poor English haha

kubax36
12-05-2012, 11:20 PM
HAHAHAHAH i knew that there must be a problem with this update and i found it!! :D So your best bug reporter is speaking now:
Screen: http://speedy.sh/JKfVY/Bez-tytulu.png

explanation:
1-Elf Arcanist
2-First Sqm
3-Second sqm

Problem: When the Elf Arcanist(nr1) is staying on this sqm and bot is trying to approach to him then its starting to running back and forth from First sqm(nr2) to second sqm(nr3) and its keeping doing like that till u die(probably, i just paused bot and kill it by myself when i had 1 potion left at the first time, later i just set low health alarm). It happens for me 4 times so far on elves and in similar situation on goroma cults.

Hope, this report will help u to make this bot better. :)

Regards
Kubax36

DarkstaR
12-05-2012, 11:42 PM
HAHAHAHAH i knew that there must be a problem with this update and i found it!! :D So your best bug reporter is speaking now:
Screen: http://speedy.sh/JKfVY/Bez-tytulu.png

explanation:
1-Elf Arcanist
2-First Sqm
3-Second sqm

Problem: When the Elf Arcanist(nr1) is staying on this sqm and bot is trying to approach to him then its starting to running back and forth from First sqm(nr2) to second sqm(nr3) and its keeping doing like that till u die(probably, i just paused bot and kill it by myself when i had 1 potion left at the first time, later i just set low health alarm). It happens for me 4 times so far on elves and in similar situation on goroma cults.

Hope, this report will help u to make this bot better. :)

Regards
Kubax36

That's not a problem with this update. That's been a bug for months. Still needs to be fixed, though.

kubax36
12-05-2012, 11:54 PM
That's not a problem with this update. That's been a bug for months. Still needs to be fixed, though.

So u think its just accidently? I was botting this spawns really often and i haven't this problem before O_o

Mannow
12-07-2012, 08:36 AM
Hmm, i suppose you may be able to do some complex targeting in order for this to run at least some what smooth.. such as

If count = 1 keep distance, if count =2 approach not keep distance.. at-least that way you will approach it and stop going back and forth.
This may of-course increase your waste, which isn't what we want, but for now it may be a solution.

DarkstaR - I'm sure you are familiar of exactly what and how the "stick" function works, and how it was on neobot.

Neobot had a priortiy table with:

Health
Danger level,
Proximity,
Random,
Stick

with each "priority" you could drag it from left to right, left being 0 and right being 100.

This allowed all users to easily make their own priority targeting for each spawn, such as

"I want to kill monsters closest to me, but if there is another monster on low hp i can set it to target that even though it is not closest...

Or, once targeting something, i want to stay attacking it until it either exits my screen or dies, so that it will not hit things to red, then re-target a new creature as it runs away.

I think that putting something in like neobot would be nice, in a "table/bar like format.

Example: -
Health - 0 10 20 30 40 50 60 70 80 90 100
Danger level - 0 10 20 30 40 50 60 70 80 90 100
Proximity - 0 10 20 30 40 50 60 70 80 90 100
Random - 0 10 20 30 40 50 60 70 80 90 100
Stick - 0 10 20 30 40 50 60 70 80 90 100

If set up this way, it means that it will target lower hp creatures first, except for maybe if the lower hp creature is full-screen away because proximity is set only 10 higher than health, so it isn't a significant priority over the other.
It will NEVER randomly target a creature because that is set to 0.

The danger level is set quite high, so if a creature of danger level 1 is lower hp than a creature of danger level 9.... the bot will target the creature that is of more danger, even though it is more hp...

Why?
Because our danger level priority is set much higher than the hp priority.

Also the bot will stick a high majority of the time unless other priorities come into higher effect.

I hope this has been explained easily i think i may have dragged it on a bit :( <- 30 mins left of work, and it's Friday, what do u expect? :P

This is not so much an explanation for DarkstaR because im sure he is well aware of how this works, this is to give some clarity to other users :)

EDIT** - I understand you have introduced some priority settings to allow us do some of these things, i just decided to show it in a table format including the "stick" function that was mentioned.

Having this table may just allow users to tweak things themselves and fine tune it to be, brilliant :D

kennysside
12-09-2012, 09:31 AM
I'm still having problems with the bot going upstairs, when the stairs is between myself and the loot :(
Anyone else having this problem, or is it just me?

kubax36
12-09-2012, 10:13 AM
I'm still having problems with the bot going upstairs, when the stairs is between myself and the loot :(
Anyone else having this problem, or is it just me?

are you using mapclicks?

kennysside
12-09-2012, 10:27 AM
are you using mapclicks?

Nope!

Been using Xeno for like 6 months or so, always done it the same way, no mapclicks either.