Announcement

Collapse

Forum Rules

  • No flaming or derogatory remarks, directly or through insinuation.
  • No discussion, sharing or referencing illegal software such as hacks, keygen, cracks and pirated software.
  • No offensive contents, including but not limited to, racism, gore or pornography.
  • No excessive spam/meme, i.e. copious one liners in a short period of time, typing with all caps or posting meme responses (text/image).
  • No trolling, including but not limited to, flame incitation, user provocation or false information distribution.
  • No link spamming or signature advertisements for content not specific to Dota 2.
  • No Dota 2 key requests, sell, trade etc.
  • You may not create multiple accounts for any purpose, including ban evasion, unless expressly permitted by a moderator.

  • Please search before posting. One thread per issue. Do not create another thread if there is an existing one already.
  • Before posting anything, make sure you check out all sticky threads (e.g., this). Do not create new threads about closed ones.
  • It is extremely important that you post in correct forum section.

  • Balance discussion only in Misc.
  • All art related (such as hero model) feedbacks go to Art Feedback Forum.
  • All matchmaking feedback should go here: Matchmaking Feedback
  • All report/low priority issues should go here: Commend/Report/Ban Feedback
  • No specific workshop item feedback. These should go to workshop page of that item.
  • When posting in non-bugs section (such as this), use [Bugs], [Discussion] or [Suggestion] prefix in your thread name.



In case you object some action by a moderator, please contact him directly through PM and explain your concerns politely. If you are still unable to resolve the issue, contact an administrator. Do not drag these issues in public.



All rules are meant to augment common sense, please use them when not conflicted with aforementioned policies.
See more
See less

September 19 Bot Update

Collapse
This is a sticky topic.
X
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • September 19 Bot Update

    • AddScriptPathingAvoidanceZone() now has a second parameter, which is its duration.
    • Added AddConditionalAvoidanceZone( vLocationAndRadius, funcEval) which takes a function which takes one parameter (the avoidance zone index returned by AddConditionalAvoidanceZone). When it returns false, the avoidance zone is disabled.
    • Added InstallChatCallback( func ) which will cause func() to be called, which takes one parameter which is a table containing player_id, team_only, and string.
    • The completion function passed into GeneratePath() now has 3 parameters -- the second one is new, and is the index of the path request returned from GeneratePath().
    • Fixed the logic of HasBuyback() being incorrect.

  • #2
    And :
    Fixed an issue where bot games would not be spectatable, and added proper SourceTV support. A related Protocol Buffer has been added for this.

    Comment


    • #3
      Yep, that's mostly under-the-hood work for now for getting those bot-vs-bot games more easily spectatable.

      Comment


      • #4
        Chris I think I speak for everyone when I say we love you!
        You not only added one suggestion but all of them. Thank you so much!

        P.S. AddScriptPathingAvoidanceZone is actually AddAvoidanceZone() right?

        P.P.S. moddota is behind on updates. The last 2 patches seem to be missing there
        Explanations on the normal, high and very high brackets in replays: here, here & here
        Why maphacks won't work in D2: here

        Comment


        • #5
          Oops yep AddScriptPathingAvoidanceZone is the internal name, you're right -- it's just AddAvoidanceZone() in the API.

          Comment


          • #6
            Thank you so much for the chat function Chris!!
            now to work out how to use it.

            so glad to see addable avoidance zones too, could this be used to make lichs ult an avoidance zone? considering it is moving.
            Last edited by Yavimaya; 09-20-2017, 05:03 AM.

            Comment


            • #7
              Originally posted by ChrisC View Post
              • AddScriptPathingAvoidanceZone() now has a second parameter, which is its duration.
              How do you get the "old" behavior of marking an AZ to last forever? duration = 0 or duration = nil?
              Explanations on the normal, high and very high brackets in replays: here, here & here
              Why maphacks won't work in D2: here

              Comment


              • #8
                Yep a duration of 0 means to not expire.

                Comment


                • #9
                  Thanks! I noticed something that I initially missed:

                  Originally posted by ChrisC View Post
                  • The completion function passed into GeneratePath() now has 3 parameters -- the second one is new, and is the index of the path request returned from GeneratePath().
                  So the calling behavior changed. GeneratePath() didn't used to return anything, but now it returns a path index that is also passed in the callback. Right?
                  Is the number a sequence and guaranteed to never repeat itself?
                  Explanations on the normal, high and very high brackets in replays: here, here & here
                  Why maphacks won't work in D2: here

                  Comment


                  • #10
                    Originally posted by The Nomad View Post
                    Thanks! I noticed something that I initially missed:



                    So the calling behavior changed. GeneratePath() didn't used to return anything, but now it returns a path index that is also passed in the callback. Right?
                    Is the number a sequence and guaranteed to never repeat itself?
                    The numbers will repeat themselves (it's which "slot" the pathfind is in out of the available 5) but they won't ever be used until one is completed. So if GeneratePath() returns 1, it won't return 1 again until you've gotten your completion function called with 1.

                    Comment


                    • #11
                      to compliment the chatcallback, could we also get the bots to either ignore or avoid the area around a danger ping, instead of them assembling onto a danger ping?

                      Comment


                      • #12
                        Originally posted by ChrisC View Post
                        • Added InstallChatCallback( func ) which will cause func() to be called, which takes one parameter which is a table containing player_id, team_only, and string.
                        Does this work for ActionImmediate_Chat()? It seems to only capture my chat, not bot chat. It'd be great if it could capture everything (including coaches) and we can filter them out if IsTeamPlayer() and IsPlayerBot()

                        Side question:
                        Why is player_id -1 on GetMostRecentPing() ? And what is player_id supposed to mean considering GetMostRecentPing() is a unit-scoped function?
                        Last edited by The Nomad; 09-25-2017, 09:41 AM.
                        Explanations on the normal, high and very high brackets in replays: here, here & here
                        Why maphacks won't work in D2: here

                        Comment

                        Working...
                        X