Results 1 to 10 of 10

Thread: February 28 Bot Update

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

    February 28 Bot Update

    • Fixed the Workshop Tools not correctly fetching your authored bot scripts.
    • Fixed not being able to select a bot script in the lobby settings panel.
    • Added 'player' table element to the results of GetDroppedItemList().
    • Added 'player' table element to the results of GetIncomingTrackingProjectiles().
    • Fixed MinionThink() getting called on a unit after it has died.
    • Minions no longer Think() called on them. They will now just get a MinionThink() call.
    • Bots on Hard or Unfair difficulties no longer have action delays.

  2. #2
    Basic Member
    Join Date
    Mar 2012
    Posts
    1,760
    Call me a nitpicker, but maybe rename "player" to "player_id" or "playerid" ? Please don't hate me
    Just trying to align consistency between function calls and variables and tables

    What was the case that Think() was called on Minions ?
    Explanations on the normal, high and very high brackets in replays: here, here & here
    Why maphacks won't work in D2: here

  3. #3
    Valve Developer
    Join Date
    Sep 2011
    Posts
    1,696
    Quote Originally Posted by The Nomad View Post
    What was the case that Think() was called on Minions ?
    Illusions is the one case I confirmed, but I suspect there are others.

  4. #4
    Basic Member
    Join Date
    Feb 2014
    Posts
    29
    These updates that are coming out daily (like this one of 129mb) are these Bots updates?

    Oh ChrisC, another question: Do you guys think of adding any script commands that allow you to modify the Bots name (Marta, Pablo, Jorge, etc) in game? I remember that in the Bots of DotA 1 there was the command "-rn ()" that allowed you to modify the bot names in game, and there was also the "-cn" game command that modified the Bots names for professional player names DotA. It would be interesting if this could be added in the future.

  5. #5
    Basic Member
    Join Date
    Mar 2012
    Posts
    1,760
    GetBotNames() does that already

    It has already been suggested by at least 2 people so Chris was fast to implement it
    You can check how to use it here

    Keep in mind (Bot) is suffixed, but that was a request by me since people can abuse it otherwise.
    Explanations on the normal, high and very high brackets in replays: here, here & here
    Why maphacks won't work in D2: here

  6. #6
    Basic Member
    Join Date
    Dec 2016
    Posts
    121
    I'm doing a quick test for manta illusion, it's fixed for illusion. while I realize IsShrineHealing( shrine_name ) seems always give out true? I have code for if bot health is lower than 90% and shrine is activated(healing) then move to shrine. But the result is whenever he is below 90% hp he move to shrine.

    Code:
    elseif (nearestshrine ~= nil and (npcBot:GetHealth()/npcBot:GetMaxHealth() < 0.90 or npcBot:GetMana()/npcBot:GetMaxMana() < 0.90) and IsShrineHealing( shrine_name ) and GetUnitToLocationDistance(npcBot, nearestshrine:GetLocation()) < 1500) then	
    		shrine_p = 12.05;	--join a healing shirin, should be higher than all farmjungle_p
    I will use get cool down instead of this for now.

    Another question is the difference between distance/straight line distance, I have set bot to go and use shrine only when shrine is in x unit range, then a decision to use shrine is made based on straight line distance, on his way to shrine, the straight line distance increase because you have to walk around trees and then bot find shrine is 'out of range' and go back to the camp location and jungle, and it repeat doing this. I could set a timer that once a decision is made, keep it unless..., but I think if we could make a decision based on path distance it could be much better.
    Last edited by lunarbreez; 02-28-2017 at 04:23 PM.

  7. #7
    Valve Developer
    Join Date
    Sep 2011
    Posts
    1,696
    Quote Originally Posted by lunarbreez View Post
    while I realize IsShrineHealing( shrine_name ) seems always give out true?
    This is a dumb bug on my end, will be fixed.

  8. #8
    Basic Member
    Join Date
    Dec 2016
    Posts
    121
    And Bot:GetAttackTower() will sometimes return nil value when Bot is attacking tower? I have code that bot turn on armlet when have a attack target and turn off when don't. Works fine when he attacking enemy hero or creeps, but when attack buildings is like swicthing between on and off very rapidly, it's good since hero get the armlet attack bonus and don't cost its hp. I'm wondering is there any difference between building and other target that may made this happen?
    Last edited by lunarbreez; 03-01-2017 at 10:06 AM.

  9. #9
    Basic Member
    Join Date
    Dec 2016
    Posts
    37
    I think remove action delays is not a good idea.Because even humans have a delay of 0.2 to 1.0 seconds."Unfair bots gets a random delay of 0.075 to 0.15 seconds. " 0.1s it's a very short delay.It is a balance for human player.I think the decision of this delay could give to the author of the custom script.
    Last edited by adamqqq; 03-01-2017 at 07:25 AM.

  10. #10
    hmmmmmmmmmmm....my bot is crashing when game loads after this update and crash dumps have basically no info

    Ive reverted to what I know is a stable version and it still crashes. I dont see any changes that would cause this.


    edit: found fix. I was doing something silly in my code. no bug here

    my issue was
    Code:
    require( GetScriptDirectory().."/locationstwo" )
    function OnStart()
        _G.state = {blah}
    whilst locationstwo contained
    Code:
    _G.state.neutrals = NEUTRAL_CAMPS
    not sure how it was ever working in first place. but it must have been creation of _G.state was occurring before the import attempted _G.state.neutrals. now it's not. no idea why \_(ツ)_/

    edit2: ok that was just one of multiple crashes caused by a behind the scenes change (that probably exposed me doing stupid things)

    edit3: yes again I was trying to use a variable before it was created. all fixed. No idea how this worked before
    Last edited by TheP1anoDentist; 03-01-2017 at 01:05 PM.
    https://github.com/ThePianoDentist/t...dentistdotabot Lina bot which pulls small camp when 'laning' (Aim to work on pulling and stacking bots initially)
    https://github.com/ThePianoDentist/dotabots-ml-tools Parsing data from bot games

Posting Permissions

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