Version 8 (modified by jpawlick, 13 years ago) (diff) |
---|
This ProtocolZero command sends the agent walking until it hits an obstacle it cannot pass (including walls or other entities) or the given time has elapsed, whichever is sooner. It will walk off cliffs and into slime or lava.
Parameters:
- 1: integer obstacle flag: 1 if the agent should hop over low obstacles, 0 if it should report blocked when it encounters them.
- 2: float theta, the heading in which the agent should walk relative to its current facing. 0 is straight ahead, 90 is strafe left, etc.
- 3: float speed, 1.0 = normal maximum bot movement speed (400 in game terms), 0 = stopped. -1 = reverse maximum speed. In the current version, values out of the [-1, 1] range are not supported.
- 4: float time, the number of seconds that the bot should do this movement for. If this command is interrupted by another command, the bot will not count the time pursuing the other command against the time of movement. The time is synchronized to leveltime, not real time. For example, if the game is paused, the time spent paused does not count against the time of movement. Additionally, running the game at very low or very high framerates may desychronize game time with real time. The bot cannot end its movement midway through a frame update, but given a good framerate, will always end movement within 50 milliseconds of the scheduled time. It will only ever overshoot, never undershoot.
Reports:
- blocked if the previous frame of attempted movement produced no effect.
- done if the time elapsed.
- popped if popped by po.
- forgotten if deleted by fa or fm.
- replaced if replaced by a command scheduled with 'r'.
Example:
- User sends: "n mf 512 0 0 1 30"
- Bot moves straight ahead for 30 seconds at full speed,
- Bot replies "cp mf 512 done"