c_scan (VECTOR* pos, ANGLE* ang, VECTOR* sector, var mode);

Ermittelt Entities oder andere Objekte innerhalb eines Kegels oder einer Kugel und
löst ihren Event EVENT_SCAN aus.

Parameter:

pos Scan-Ursprung.
ang Scan-Richtung, Eulerwinkel.
sector.x horizontaler Scanbereich, oder Scankegelbreite in Grad (360 für eine komplette Kugel).
sector.y vertikaler Scanbereich in Grad, oder 0 für einen kreisrunden Scankegel.
sector.z Scanbereich in Quants.
mode Scanmodus (s.unten).

Folgende mode-Werte können gesetzt werden:

IGNORE_ME Ignoriert die my-Entity; kann mit SCAN_ENTS kombiniert werden.
IGNORE_YOU Ignoriert die you-Entity und setzt den you-Pointer nicht; kann mit SCAN_ENTS kombiniert werden.
IGNORE_PASSABLE A7.20 LC  Ignoriert Entities mit dem Flag PASSABLE; kann mit SCAN_ENTS kombiniert werden. Zum Ignorieren bestimmter Entity-Gruppen, rufen Sie c_ignore vor c_scan auf.
IGNORE_FLAG2 A7.20 LC  Ignoriert Entities mit FLAG2; kann mit SCAN_ENTS kombiniert werden.
IGNORE_WORLD A7.82 Ignoriert sämtliche Terrains; kann mit SCAN_ENTS kombiniert werden.
IGNORE_MAPS A7.82 Ignoriert alle Map-Entities; kann mit SCAN_ENTS kombiniert werden.
IGNORE_MODELS A7.82 Ignoriert alle Modelle; kann mit SCAN_ENTS kombiniert werden.
IGNORE_SPRITES A7.82 Ignoriert alle Sprites; kann mit SCAN_ENTS kombiniert werden.
SCAN_ENTS Scannt innerhalb des Kegels nach Entities und löst ihren EVENT_SCAN- Event aus.
SCAN_POS Scannt nach im Level platzierten Kamerapositionen.
SCAN_PATHS Scannt nach Startpostitionen von Pfaden.
SCAN_NODES Scannt nach Positionen von Pfad-Wegpunkten.
SCAN_LIGHTS Scannt nach statischen Lichtern.
SCAN_LIMIT Ermittelt nur Entities mit gesetztem ENABLE_SCAN oder ausschließlich statische Lichter, deren Reichweite bis zum Scan-Ursprung reicht. Kann mit SCAN_ENTS und SCAN_LIGHTS kombiniert werden.
SCAN_FLAG2 A7.20 LC  Gegenteil von IGNORE_FLAG2: findet nur Entities mit FLAG2. kann mit SCAN_ENTS kombiniert werden.

Rückgabewerte:

Abstand zum nächstgelegenen gefundenen Objekt oder 0, falls kein Objekt ermittelt wurde.

Modifiziert:

you Pointer zur nächstgelegenen ermittelten Entity.
result Abstand zum nächstgelegenen ermittelten Objekt.
target Position des nächstgelegenen ermittelten Objekts.
bounce Ausrichtung zur nächstgelegenen ermittelten Kameraposition im Level.
tex_color Farbe des nächstgelegenen ermittelten statischen Lichts.

Bemerkungen:

Geschwindigkeit:

Langsam

Beispiel:

function operate() // scanne in der Nähe von Türen oder Schaltern, um sie zu betätigen
{
 	c_scan(camera.x,camera.pan,vector(120,0,200),SCAN_ENTS | SCAN_LIMIT);
}
...
on_space = operate;

Seiehe auch:

c_trace, path_scan, EVENT_DETECT, EVENT_SCAN

► Aktuelle Version Online