Page 1 of 3 1 2 3 LastLast
Results 1 to 10 of 21

Thread: June 30 Bot Update

  1. #1
    Valve Developer
    Join Date
    Sep 2011
    Posts
    1,698

    June 30 Bot Update

    • Fixed bug in GetAverageTrueAttackDamage() where it wasn't accounting for certain types of damage modifiers.
    • Added attacking_unit, attacking_player_id, and ability to the table supplied in the callback of OnTakeDamage().
    • Fixed GetBotName() re-using supplied bot names.
    • Fixed GetTarget() to work for anyone on that bot's team, not necessarily just the bot itself.
    • Fixed FindAoELocation to better respect the maximum distance passed in.
    • Fixed GetAttackTarget() to work on any visible unit, rather than just teammates

  2. #2
    Basic Member
    Join Date
    Mar 2012
    Posts
    1,776
    Quote Originally Posted by ChrisC View Post
    • Added attacking_unit, attacking_player_id, and ability to the table supplied in the callback of OnTakeDamage().
    • Fixed GetBotName() re-using supplied bot names.
    • Fixed FindAoELocation to better respect the maximum distance passed in.
    • Fixed GetAttackTarget() to work on any visible unit, rather than just teammates
    Thanks for these
    Quote Originally Posted by ChrisC View Post
    • Fixed GetTarget() to work for anyone on that bot's team, not necessarily just the bot itself.
    Ah, so there was an issue with it
    Are there other functions that are/were in a similar "situation"?

    Quote Originally Posted by ChrisC View Post
    • Fixed bug in GetAverageTrueAttackDamage() where it wasn't accounting for certain types of damage modifiers.
    Sorry, but I swear I don't remember this function. When was GetAverageTrueAttackDamage() added and what does it do ?
    From the name, I assume it is similar to GetEstimatedDamageToTarget() with a reduced value based on the damage variance, returning the physical damage from the attributes, items, abilities and talents, correct?
    Last edited by The Nomad; 06-30-2017 at 01:50 PM.
    Explanations on the normal, high and very high brackets in replays: here, here & here
    Why maphacks won't work in D2: here

  3. #3
    Basic Member
    Join Date
    Oct 2016
    Posts
    212
    yes, getaverageattacktarget has never been ilsted in any update before.

    could we get bot ability to read ally chat please and also, surely it cant be hard to stop bots gathering onto a danger ping.

  4. #4
    Valve Developer
    Join Date
    Sep 2011
    Posts
    1,698
    Oops -- it's just called GetAttackDamage() in the script interface, GetAverageTrueAttackDamage is the internal name.

    If you run with -dev, you should see spew in the console when you're using a function in a context where it's not allowed (that's how I realized what the issue was with GetTarget())

  5. #5
    Basic Member
    Join Date
    Mar 2012
    Posts
    1,776
    Ah so GetAverageTrueAttackDamage (aka GetAttackDamage) is still the one that lists the total damage (base + bonus from items/abilities/talents/attributes) minus teh variance, right? I mean nothing else changed about it, right?

    Are there any other nifty tricks apart from -condebug and -dev that we can use to help us in our endeavors?
    Explanations on the normal, high and very high brackets in replays: here, here & here
    Why maphacks won't work in D2: here

  6. #6
    Valve Developer
    Join Date
    Sep 2011
    Posts
    1,698
    Quote Originally Posted by The Nomad View Post
    Ah so GetAverageTrueAttackDamage (aka GetAttackDamage) is still the one that lists the total damage (base + bonus from items/abilities/talents/attributes) minus teh variance, right? I mean nothing else changed about it, right?
    Previously it wasn't taking into account the damage bonuses from things like Tiny's scepter vs buildings, and a few others. Not hugely impactful, I just noticed it was wrong.

    And no other tricks that I can think of offhand.

  7. #7
    Basic Member
    Join Date
    Dec 2016
    Posts
    166
    Quote Originally Posted by ChrisC View Post
    • Added attacking_unit, attacking_player_id, and ability to the table supplied in the callback of OnTakeDamage().
    Is OnTakeDamage() the second parameter of InstallDamageCallback?
    does OnTakeDamage() consider the last attack( or ability ) performed on player? what I consider is to calculate the total amount of physical and magical dmg coming toward a specific hero in a interval time( in seconds )

  8. #8
    Basic Member
    Join Date
    Mar 2012
    Posts
    1,776
    Quote Originally Posted by ChrisC View Post
    Previously it wasn't taking into account the damage bonuses from things like Tiny's scepter vs buildings, and a few others. Not hugely impactful, I just noticed it was wrong.

    And no other tricks that I can think of offhand.
    Thank you very much

    I am doing some last hit tests but didn't add any checks to the code so this popped up:
    [Developer] 'CDOTA_Bot_Script::GetLocation' called on an entity that cannot be seen!
    Because I know what I am testing, I know where this is called, but under normal circumstances there'd be no way. Some functions like GetLocation() can be called in so many places that'd be impossible to track such a warning. Is there a way to add a call stack when this happens ? I can imagine this is a warning in the actual native function and it'd be hard for it to know how it got called, but it'd help (obviously, only if there is an benefit over effort so not a priority, but maybe something to keep in mind)
    Last edited by The Nomad; 07-01-2017 at 05:38 AM.
    Explanations on the normal, high and very high brackets in replays: here, here & here
    Why maphacks won't work in D2: here

  9. #9
    Basic Member
    Join Date
    Mar 2012
    Posts
    1,776
    I noticed DebugDrawCircle is 2D now (which is better ) and slightly transparent. Is there a way to change the "intensity" of the fill? To make it less transparent if we want to ? Sort of like an alpha channel (not a priority, obviously, but some colors are harder to see depending on the terrain now).
    Last edited by The Nomad; 07-01-2017 at 03:11 AM.
    Explanations on the normal, high and very high brackets in replays: here, here & here
    Why maphacks won't work in D2: here

  10. #10
    Basic Member
    Join Date
    May 2014
    Posts
    245
    How can I disable this console spam?
    Code:
    [Client] ProcessTick: delta 3 (12143 - 12146), loss 0% bps 19986, deltaTick 12143
    [Client] ProcessTick: delta 3 (12146 - 12149), loss 0% bps 19986, deltaTick 12146
    [Server] Client tried to execute invalid order (31). Order invalid for units with movement capability DOTA_UNIT_CAP_MOVE_NONE.
    [Server] Client tried to execute invalid order (31). Order invalid for units with movement capability DOTA_UNIT_CAP_MOVE_NONE.
    [Server] Client tried to execute invalid order (31). Order invalid for units with movement capability DOTA_UNIT_CAP_MOVE_NONE.
    It's just a small part of the spam. Sometimes, it prints every frame on some heroes and it makes me harder to do some debug when developing a script.
    Does it cause by some errors in my script?

    Here is the screenshot
    20170704211350_1.jpg

    And why most of Dire jungle creeps CanBeSeen() function always return false when the bot is on Dire side even though it's close to the jungle creeps and literally have a sight on the jungle creeps? It makes GetHealth() on that type of creeps always return -1.
    Last edited by arz_on4dt; 07-04-2017 at 09:05 AM.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •