Changes between Initial Version and Version 1 of sv


Ignore:
Timestamp:
Jun 20, 2011 11:28:30 AM (13 years ago)
Author:
jpawlick
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • sv

    v1 v1  
     1This [[ProtocolZero]] command tells the agent to shove the object directly in front of it. The object that is shoved is called the "target". It is selected by effectively shooting a mode-8 rangefinder in the direction of the quagent's current facing, so if the quagent is looking down it will usually immediately hit the floor and report "invalid_target". On the other hand, if the quagent is looking at a level pitch, it will pick up any objects sitting on the floor that a mode-4 rangefinder would pass over.
     2
     3'''Parameters:'''
     4 * 1: float strength, the power of the shove. 500 is usually more than sufficient for most tasks: 5000 is usually enough to catapult someone outside of the level. A shove of 400 will move an object as fast as a normal quagent can run (though unless the object is arched upward, friction will quickly stop it).
     5 * 2: float shove_yaw, the direction in degrees to shove the target relative to the quagent's facing. A yaw of 0 is straight ahead, a yaw of 90 is straight to the left. This does not change the target selection, merely the direction of the imparted motion.
     6 * 3: float shove_pitch, the direction in degrees to shove the target relative to the quagent's facing. A pitch of 0 is straight where the quagent is looking. Negative pitches are up, and positive pitches are down. To get a good shove it is wise to angle it slightly up from the ground, much like tossing a ball somewhat upward will result in a longer throw.
     7
     8'''Reports:'''
     9 * ''done'' after the shove is attempted. This does not guarantee that the shoved object will move, however: for example, shoving something directly into a wall or the floor does not guarantee motion (though most objects will bounce).
     10 * ''invalid_target'' if the object that would be selected as a target is not something that can be shoved (such as a wall or floor).
     11 * ''nothing_there'' if no target (valid or invalid) exists.
     12 * ''popped'' if popped by [[po]].
     13 * ''forgotten'' if deleted by [[fa]] or [[fm]].
     14 * ''replaced'' if replaced by a command scheduled with 'r'.
     15
     16'''Example:'''
     17 * User sends: "n sv 512 500 0 -45"
     18 * Bot replies: "cp sv 512 done"
     19 * Object goes flying forward and up at velocity 500 during the game update phase.