Kleiner Auszug aus dem Online Handbuch

Code:
// trace 200 units in direction the my entity is facing
c_trace(my.x,vec_rotate(vector(200,0,0),my.pan),IGNORE_ME|IGNORE_PASSABLE|ACTIVATE_SHOOT|IGNORE_CONTENT);



Wenn du diese Zeile in den Code deines Players hinzufügst brauchst du nur noch in der event_function der Tür das EVENT_SHOOT abfragen.

c_trace kann man sich in etwa so vorstellen. Es wird ein "Strahl" vom ersten Vektor zum zweiten Vektor geschickt. Trifft er auf diesem Weg auf ein Hindernis (z.B Block oder Entity) liefert er zum einen je nach Einstellung verschiedene Informationen zurück an die funktion die ihn aufgerufen hat (Distanz zum Hindernis, Treffervektor, Pointer der getroffenen Entity, uvm.), zum anderen löst er in der getroffenen Entity z.B das event_shoot aus.
Das war jetzt sehr laienhaft erklärt, wenn ich Fehler drin haben sollte bitte korrigiert mich.