Gleich vorneweg: Diese Konstruktion funktioniert ausschliesslich bei Half-Life², bei CS:Source wird diese Lampe nicht funktionieren. Es scheint in CS:Source auch keine Möglichkeit zu geben, Kabel mit beweglichen Objekten zu verbinden. Wenn jemand doch eine Lösung weiß, soll er sie gleich hier eintragen oder im Forum posten!.
Einen Trick, um diese Problem (Bug) bei CS:Source zu umgehen, sieht man bei Prodigy: Dort wird ein Lampenmodel mit bereits integriert Kabel verwendet und mithilfe eines phys_ballsocket aufgehängt.
Ihr kennt mit Sicherheit die Industrielampen in Half-life², die sich bei Beschuss so schön hin und herbewegen. In diesem Tutorial werden wir eine bauen.
Zunächst brauchen wir ein Kabel für die Lampe, damit das ganze auch realistisch aussieht: move_rope
Der Slack-Wert gibt an, wie stark das Seil durchhängt)Den Rest könnt bzw müsst ihr erstmal so lassen.
Dann bauen wir ein keyframe_rope:
Wenn ihr alles richtig gemacht habt, seht ihr jetzt eine grüne Linie, die in rot übergeht. Somit haben wir das Kabel erstmal fertig. Damit sich das Kabel mit der Lampe mitbewegt geben wir gleich beim Parent-Wert lamp01 an.
Setzt ein prop_physics_override:
Ansonsten alles so lassen.
Damit das alles auch physikalisch funktioniert, brauchen wir dann noch ein phys_pulleyconstraint:
Dann hängt die Lampe nach dem Compile schonmal und lässt sich auch abschiessen.
Um dem ganzen noch ein wenig Eleganz einzuhauchen, setzen wir noch ein light_dynamic:
Somit bewegt sich das Licht mit der Lampe mit. Damit das ganze auch gut aussieht, müssen wir bei Angle noch down einstellen. Ich habe jetzt bei Light brightness den Wert 2 und bei inner Angle: 40 / outer angle: 55 - Aber das könnt ihr natürlich selbst mal ausprobieren.
Es kommt oft vor, daß die Map fullbright gestartet wird, also die Map wie bei einem Leak vollkommen ausgeleuchtet wird. Das passiert meistens immer dann, wenn außer einem light_dynamic Entity keine andere Lichtquelle in der Map vorhanden ist. Hier gibt es zwei Lösungen:
mat_fullbright 0 ein (ist aber nicht so der Brüller).