From cf94f76da1e2bd840a192f8f1afa35ebc0bcbb85 Mon Sep 17 00:00:00 2001 From: Nordi98 Date: Mon, 30 Jun 2025 01:23:02 +0200 Subject: [PATCH] edit --- .../[tools]/thommie-nightvision/cl_main.lua | 56 ++++++++++++------- .../[tools]/thommie-nightvision/config.lua | 5 +- 2 files changed, 38 insertions(+), 23 deletions(-) diff --git a/resources/[tools]/thommie-nightvision/cl_main.lua b/resources/[tools]/thommie-nightvision/cl_main.lua index b8173fcaa..794324a25 100644 --- a/resources/[tools]/thommie-nightvision/cl_main.lua +++ b/resources/[tools]/thommie-nightvision/cl_main.lua @@ -114,35 +114,48 @@ Citizen.CreateThread(function() Citizen.Wait(500) else local pos = GetEntityCoords(ped) - local forwardVector = GetEntityForwardVector(ped) + local heading = GetEntityHeading(ped) local c = Config.Flashlight.color - -- Berechne die Zielposition für das Licht (weiter vorne) - local targetPos = vector3( - pos.x + forwardVector.x * 10.0, - pos.y + forwardVector.y * 10.0, - pos.z + forwardVector.z * 10.0 + -- Berechne die Position für den Lichtkegel auf dem Boden vor dem Spieler + -- Konvertiere Heading in Radiant und berechne die Richtung + local headingRad = math.rad(heading) + local forwardX = -math.sin(headingRad) + local forwardY = math.cos(headingRad) + + -- Position auf dem Boden vor dem Spieler + local groundPos = vector3( + pos.x + forwardX * 3.0, -- 3 Meter vor dem Spieler + pos.y + forwardY * 3.0, + pos.z - 0.95 -- Auf Bodenhöhe (etwas unter Spielerhöhe) ) - -- Zeichne das Licht mit DrawSpotlightWithShadow für bessere Sichtbarkeit - DrawSpotlightWithShadow( - pos.x, pos.y, pos.z + 1.0, -- Startposition (über dem Kopf) - forwardVector.x, forwardVector.y, forwardVector.z, -- Richtung - c.r, c.g, c.b, -- Farbe - Config.Flashlight.range, -- Reichweite - Config.Flashlight.intensity, -- Helligkeit - Config.Flashlight.range / 2, -- Radius - Config.Flashlight.range * 1.5, -- Falloff - 0.0, -- Rundheit - GetHashKey("FLASH_TORCH_LIGHT") -- Shadow ID + -- Zeichne einen nach unten gerichteten Lichtkegel + DrawSpotLightWithRange( + pos.x, pos.y, pos.z + 0.5, -- Lichtquelle etwas über dem Kopf + 0.0, 0.0, -1.0, -- Richtung nach unten + c.r, c.g, c.b, -- Farbe + 10.0, -- Reichweite + Config.Flashlight.intensity, -- Intensität + 1.0, 0.0 -- Innerer und äußerer Kegel ) - -- Zusätzlich einen helleren Punkt am Ziel zeichnen + -- Zeichne einen Lichtkegel in Blickrichtung auf den Boden + DrawSpotLightWithRange( + pos.x, pos.y, pos.z + 0.5, -- Lichtquelle etwas über dem Kopf + forwardX, forwardY, -0.5, -- Richtung nach vorne und leicht nach unten + c.r, c.g, c.b, -- Farbe + Config.Flashlight.range, -- Reichweite + Config.Flashlight.intensity, -- Intensität + 0.5, 0.2 -- Innerer und äußerer Kegel + ) + + -- Zusätzlich einen hellen Fleck auf dem Boden zeichnen DrawLightWithRange( - targetPos.x, targetPos.y, targetPos.z, + groundPos.x, groundPos.y, groundPos.z + 0.1, -- Leicht über dem Boden c.r, c.g, c.b, - 3.0, -- Radius - Config.Flashlight.intensity / 2 -- Intensität + 2.0, -- Radius + Config.Flashlight.intensity / 2 -- Intensität ) end @@ -153,6 +166,7 @@ Citizen.CreateThread(function() end end) + -- Funktion zum Aktivieren der Helm-Lampe local function ToggleHelmetFlashlight() local ped = PlayerPedId() diff --git a/resources/[tools]/thommie-nightvision/config.lua b/resources/[tools]/thommie-nightvision/config.lua index 23701b552..159c20d42 100644 --- a/resources/[tools]/thommie-nightvision/config.lua +++ b/resources/[tools]/thommie-nightvision/config.lua @@ -43,11 +43,12 @@ Config.Glasses = { -- Flashlight configuration Config.Flashlight = { color = {r = 255, g = 255, b = 255}, -- Farbe des Lichts (weiß) - range = 50.0, -- Erhöhte Reichweite des Lichts - intensity = 15.0, -- Erhöhte Intensität des Lichts + range = 15.0, -- Reichweite des Lichts (reduziert für realistischeren Effekt) + intensity = 10.0, -- Intensität des Lichts offset = {x = 0.0, y = 0.3, z = 0.0} -- Position des Lichts relativ zum Kopf } + -- Helm-Konfiguration für die Lampe Config.FlashlightHelmet = { male = {