Page 5 of 45 FirstFirst ... 3 4 5 6 7 15 ... LastLast
Results 41 to 50 of 447

Thread: API Requests

  1. #41
    also a general timer for countdown(important for many bot actions from cancelling the current casting to check Roshan refreshing time), stronger than tic-toc maybe.
    There's GameTime (starts at 0) and DotaTime (starts at -85 or whatever) that you can use for remembering when rosh was last killed. Not sure if that's more granular than seconds, though, so maybe not that useful for fights.

  2. #42
    Valve Developer
    Join Date
    Sep 2011
    Posts
    1,704
    Thanks for the stuff in the thread so far -- we're still scrambling with post-patch bugfixing but I'll be looping back to bot scripting API additions and document updates soon.

  3. #43
    Basic Member
    Join Date
    Dec 2016
    Posts
    731
    Quote Originally Posted by ChrisC View Post
    Thanks for the stuff in the thread so far -- we're still scrambling with post-patch bugfixing but I'll be looping back to bot scripting API additions and document updates soon.
    Thanks for all of this Chris.

    Desired API:
    1) Ability to write/read to/from a file (necessary to due true AI via evolution and a feedback system)
    2) Sleep (there are times I want to do nothing but wait - like waiting on humans to pick heroes so I can counter-pick them)
    3) Shared Bot Memory or Globals - to compete with Skyped humans my bots must communicate and hive-like mindfulness, I need a way to share knowledge between the 5 bots through either a messaging interface or through stored global values. There might be a way to do this now, but I think any current implementation would just have redundancy of all information in each bot and I don't see how local target information would easily be shareable (I don't think having the bots write text message to allies for parsing would be efficient).
    4) JUNGLING as a laning mode
    Last edited by nostrademous; 12-14-2016 at 09:15 PM.

  4. #44
    Might be missing something here, but I'm looking for a way to trace things, to check what a variable gets set as once I set it.

    Basically, I want something to print to console every frame throught a function Think(). Anyway that I can trace out what a variable is set to via console. I know the script is working, I just want to be able to see when something changes.

  5. #45
    Quote Originally Posted by brainzap View Post
    Request from my side, what I wanna do. Somethings can already be done/calculated, but I list them anyway.

    Because some bots interact with trees (timber, treant, monkey)
    * Query for nearest tree
    * Query for nearest tree into a direction

    For junglers
    * Coordinates of the jungle camps
    * Query location of the nearest jungle camp
    * Query content of the jungle camp (type, health)

    For offlaners
    Use case: try to stay in XP range:
    Query to nearest creeps, pick out the range creep, get coords, distance max 1300.

    Other
    * Check if hero has tower aggro
    * Check if hero has lane creep aggro
    * Check if hero has jungle creep aggro
    * Check if hero is in lane vision.

    Areas
    I want to incorporate the risk calculation of a location. To prevent that a bot walks uphil, into fog, into a shrine. Some areas are really dangerous, maybe I map them manually.
    * Query nearest shrine
    * Query how deep he is into enemy territory
    * Query if target location is above or below
    * Query if hero or enemy is above or below
    * Patrol an area command
    I second the aggro checking requests

    also an Action_CurrentAction would be useful (either that or isAttacking). currently trying to work out how to have logic not cancel in progress autoattacks because its sending another attack move command

  6. #46
    Basic Member
    Join Date
    Jan 2013
    Posts
    13
    For global spells GetNearbyHeroes is not an option because of some cache limit, but there is no function to find sunstrike/rocket flare targets all over the map.

    It also could be useful to get the current level of the bots, just something like GetLevel() like the abilities have.

    I could be mistaken, but it feels like I'm unable to detect Power Cogs or anything else that is not a creep, hero or tower.
    Last edited by pongping; 12-15-2016 at 10:49 AM.

  7. #47
    I'm basically just wanting to get the major things working on the current bots and some of these are probably things that would be nice to have anyway.
    1) Current bots don't choose talents, so a way to affect a talent pick and maybe more framework on leveling in general would be nice.
    2) Bots don't discriminate between backpack and inventory (had an Axe in a game with all of his core in the backpack) so a way to affect item placement in or between bot inventory and backpack.
    3) Bots get easily stuck after warding or loop in warding think. So I'd like more access to the warding stuff, just a way to reference the default bot considered ward placements would be nice. I guess I could redo the whole ward mode but that seems a bit too cumbersome in my chosen scope.
    4) I found this in reference to the warding, but current bot scripting API doesn't at least list a way to target some game elements like wards or trees.
    5) A way to affect bots control of secondary units; pets, illusions, etc (and couriers ).
    Last edited by RandonEncounter; 12-15-2016 at 01:36 PM.

  8. #48
    Basic Member
    Join Date
    Feb 2016
    Posts
    70
    I don't know if this is the proper thread to ask, but npc_heroes.txt lists some roles for every hero:

    DOTA_BOT_HARD_CARRY
    DOTA_BOT_SEMI_CARRY
    DOTA_BOT_GANKER
    DOTA_BOT_TANK
    DOTA_BOT_NUKER
    DOTA_BOT_PUSH_SUPPORT
    DOTA_BOT_STUN_SUPPORT
    DOTA_BOT_PURE_SUPPORT

    I haven't found any documentation explaining what these do. The only thing I could notice was that bots labeled as support buy wards and deny creeps during laning, but not much else.

    Another issue is that bots call the courier only if the courier is sitting by the fountain. If they buy and release it just outside the fountain, they'll never use it. Maybe an automatic command that issues a "return home" order after X minutes being idle would be enough.

  9. #49
    Those are just roles those heroes can fill on a team. Bots will try to make a balanced team during the pick phase, and uses those role definitions as part of that.

    So for instance, before, when we could change that file and load into a bot game, if you were to change tiny to DOTA_BOT_HARD_CARRY, and remove his stun support tag, he would no longer get picked as a support hero.

    This was something I was wondering about, trying to identify what role a hero got picked as. Being able to change their item logic is cool, but if we can't also change their preferred roles, or identify what their role is, then changing some heroes item files will have no point.

  10. #50
    Basic Member
    Join Date
    Dec 2016
    Posts
    19
    I'm working on CM drafting bot and I'm realized that currently there is no way to determine is there a human or bot on some player's slot. This guy also misses that API function, according to comments in code.

Posting Permissions

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