美国时间8月24号久违的机器人更新 August 24 Bot UpdateBot Pathing:
Added Action_MoveDirectly to move to a location while bypassing the bot pathfinder (uses normal pathfinding).
Added GeneratePath( vStart, vEnd, tAvoidanceZones, funcCompletion ) to the global bot script API. It takes a start location, and end location, a table with an array of packed avoidance zones (3-vectors of x, y, and radius), and a function to call when the pathfind completes. The specified function should two parameters: the overall length of the path and a table containing waypoints along the path. If the pathfind fails, it will call the function with an empty waypoint table.
Added AddAvoidanceZone( vLocationAndRadius ) and RemoveAvoidanceZone( iZone ) to the global bot script API. AddAvoidanceZone adds a packed avoidance zone (3-vector of x, y, radius) that GeneratePath() will not path through. It returns an index to the newly-created avoidance zone. Avoidance zones can be removed by calling RemoveAvoidanceZone with that index.
Added Action_MovePath( tWaypoints ) to the bot script API. It takes the waypoint table returned from GeneratePath() and paths a bot along it.
Added the queue and push variants of the above Action_ functions.
Bot State Dumping:
Servers can now be run with a -botworldstatetosocket <port> parameter. This will cause the server to generate a protobuf containing the full bot-visible worldstate to that team, and send it as binary array (SerializeToArray) to the specified localhost socket. Each of these data blocks is prefaced by 32-bit integer containing size of the block.
This is intended for doing offline or external analysis of running games. The protobuf it generates is attached to this post.