wiki:rf

This query asks the agent to tell you what the nearest object within a specific distance at a specific angle is. The rangefinder sensor originates at 30 units up from the quagent's server-tracked origin. This means that the ground should be 54 units away (I think - maybe wise to a double check me on this).

Mode-4, mode-5, mode-6, and mode-7 rangefinders use a non-square box such that the ground should be 0 units away when the quagent is standing on it.

Rangefinder example.

A mode 4, 5, 6, or 7 rangefinder will be stopped by an obstacle that a mode 0, 1, 2, or 3 rangefinder may pass over.

Parameters:

  • 1: integer type, selecting the type of rangefinder to use.
    • 0 = an infinitely narrow beam that is only stopped by permanent surfaces that will stop the player (usually just walls, floors, ceilings, and moving platforms, never other quagents or rockets or powerups).
    • 1 = an infinitely narrow beam that is blocked by anything that would block player movement (like mode-0, but plus other things like quagents).
    • 2 = an infinitely narrow beam that is blocked by anything that would block a shot (often equivalent to mode 1, but on some levels (like suspended), there are walls/floors that can be shot through but not walked through).
    • 3 = an infinitely narrow beam that is blocked by anything in the environment (like mode-1, but plus powerups or other things that can be walked through).
    • 4 = a wide beam the size of a quagent that is blocked if any part of it is blocked by something that would block a mode-0 rangefinder.
    • 5 = a wide beam the size of a quagent that is blocked if any part of it is blocked by something that would block a mode-1 rangefinder.
    • 6 = a wide beam the size of a quagent that is blocked if any part of it is blocked by something that would block a mode-2 rangefinder.
    • 7 = a wide beam the size of a quagent that is blocked if any part of it is blocked by something that would block a mode-3 rangefinder.
  • 2: integer distance, the maximum distance of the rangefinder. There is no particular penalty to supplying very large distances that we can find - the maximum distance we've seen this call used with in Quake is 8120, the range of the rail gun.
  • 3: float theta, the number of degrees left of facing to shoot the rangefinder at.
  • 4: float phi, the number of degrees down from facing to shoot the rangefinder at.

Responds:

  • X Y where X is the range at which the object was detected (the distance if nothing was found) and Y is either the entity id, -2 if the entity id is normally invalid (a wall or something), and -1 if nothing is in the distance.

Reports:

  • done when the task completes.
  • 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 rf 512 1 6000 90 45"
  • Bot replies "rs rf 512 65.2 -2"
  • Bot replies "cp rf 512 done"

For picture examples of exactly how different modes of rangefinder work, please see rb.

Last modified 13 years ago Last modified on Jun 20, 2011 3:26:46 PM

Attachments (1)

Download all attachments as: .zip