Lint / Lint Resource (push) Has been cancelled
Offset und Rotation des Lampen-Props waren hart im Code, und die Rotation (180, 90, 0) war stumpf von der Maske uebernommen - daher stand die Lampe quer im Gesicht. d4rk_phone haengt sein Prop mit komplett null Offset und Rotation an, das ist der bessere Ausgangspunkt. - lampBone, lampPropOffset, lampPropRotation in die Config; Prop und Licht haengen jetzt am selben Bone, damit der Strahl aus der Lampe kommt - lampProp = '' erlaubt, dann nur Licht ohne Prop - Lichtwerte (Farbe, Reichweite, Helligkeit, Kegel) aus d4rk_phone uebernommen statt neu geraten; lampShadows wie dort auf false - /divelamp und /divelight stellen beides im laufenden Spiel ein und geben die Config-Zeile zum Uebernehmen aus (config.debug) Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
124 lines
5.4 KiB
Lua
124 lines
5.4 KiB
Lua
return {
|
|
--- Schaltet /divelamp und /divelight frei, mit denen sich Sitz und
|
|
--- Leuchtrichtung der Lampe im laufenden Spiel einstellen lassen - ohne
|
|
--- Resource-Restart pro Versuch. Auf dem Live-Server ausschalten.
|
|
debug = false,
|
|
|
|
putOnSuitTimeMs = 5000,
|
|
takeOffSuitTimeMs = 5000,
|
|
refillTankTimeMs = 5000,
|
|
|
|
--- Sekunden Luft, die pro echter Sekunde verbraucht werden (vor dem Tiefenfaktor).
|
|
decayRate = 1.0,
|
|
|
|
--- Intervall des Watchdogs, der prüft ob die Ausrüstung noch am Ped hängt (ms).
|
|
gearWatchdogIntervalMs = 1000,
|
|
|
|
--- Sekunden, die der Spieler ohne Ausrüstung unter Wasser überlebt (Vanilla-Verhalten).
|
|
maxTimeUnderwater = 50.0,
|
|
|
|
--- Sekunden, sobald die Flasche leer ist. Bewusst kurz: leer tauchen soll wehtun.
|
|
maxTimeUnderwaterOutOfAir = 1.0,
|
|
|
|
--- Ausrüstung beim Tod abnehmen. Die Flasche bleibt mit ihrer Restluft im Inventar.
|
|
removeGearOnDeath = true,
|
|
|
|
--- Restsekunden, bei denen gewarnt wird. Jede Schwelle löst einmal pro Tauchgang aus.
|
|
warnAtSeconds = { 60, 30, 10 },
|
|
|
|
--- Verbrauch steigt mit der Tiefe: faktor = 1 + tiefe / depthDecayReference.
|
|
--- Macht die großen Flaschen erst sinnvoll. Auf false = konstanter Verbrauch,
|
|
--- dann stimmen die 5/10/15/20 Minuten exakt.
|
|
depthDecayEnabled = true,
|
|
depthDecayReference = 30.0,
|
|
maxDecayFactor = 4.0,
|
|
|
|
--- NUI-HUD mit Luft und Tiefe. Auf false bleibt die Ausrüstung voll nutzbar,
|
|
--- nur ohne Anzeige.
|
|
hudEnabled = true,
|
|
|
|
--- Update-Intervall des HUD (ms). 250 = 4 Updates pro Sekunde, reicht für eine
|
|
--- ruhige Anzeige ohne unnötigen NUI-Traffic.
|
|
hudUpdateIntervalMs = 250,
|
|
|
|
--- Tauch-HUD mit ausblenden, sobald das Spiel-HUD ausgeblendet ist.
|
|
--- Greift bei allem, was DisplayHud(false) setzt - Screenshot-Scripts,
|
|
--- HUD-Toggles, Cinematic-Modes -, ohne dass wir die Resource kennen müssen.
|
|
hudFollowGameHud = true,
|
|
|
|
--- Eigene Taste zum Aus-/Einblenden des Tauch-HUD. Leer = keine Vorbelegung,
|
|
--- der Spieler kann sie in den FiveM-Tastenbelegungen unter "FiveM" setzen.
|
|
--- Zusätzlich gibt es den Export setHudVisible(bool) für andere Resources.
|
|
hudToggleKey = '',
|
|
|
|
--- Ab dieser Tiefe wird die Tiefenanzeige eingefärbt (Meter).
|
|
deepWarningDepth = 25.0,
|
|
|
|
--- Reservedruck in bar. Darunter wird die Druckanzeige eingefärbt - in der
|
|
--- Tauchpraxis die Schwelle, ab der man den Aufstieg einleitet.
|
|
reservePressure = 50,
|
|
|
|
---------------------------------------------------------------------------
|
|
-- Taschenlampe
|
|
---------------------------------------------------------------------------
|
|
|
|
--- Taste zum An- und Ausschalten. Der Spieler kann sie in den FiveM-
|
|
--- Tastenbelegungen unter "FiveM" umlegen.
|
|
lampKey = 'l',
|
|
|
|
--- Bone, an dem Lampe und Licht hängen. Beides derselbe Bone, damit der
|
|
--- Strahl auch sichtbar aus der Lampe kommt.
|
|
--- 12844 = Kopf (wie die Maske) - Strahl folgt der Blickrichtung
|
|
--- 28422 = Hand (wie das Prop in d4rk_phone) - Handlampe, aber beim
|
|
--- Schwimmen sind die Arme seitlich ausgestreckt, der Kegel
|
|
--- wandert also mit den Schwimmzügen
|
|
lampBone = 12844,
|
|
|
|
--- Prop am Kopf. Rein optisch - das Licht hängt nicht daran, es wird nur
|
|
--- vom selben Bone aus gezeichnet. Ist das Model ungültig, leuchtet es
|
|
--- trotzdem und es gibt eine Warnung im Log.
|
|
--- Im Basegame gibt es keine Tauchlampe. Alternativen sind Varianten
|
|
--- derselben Polizei-Lampe: 'prop_police_torch', 'prop_scn_police_torch'.
|
|
--- Auf '' setzen = gar kein Prop, nur Licht.
|
|
lampProp = 'prop_cs_police_torch',
|
|
|
|
--- Sitz des Props am Bone. Wie in d4rk_phone bewusst auf null: das Prop sitzt
|
|
--- dann genau im Bone statt auf geratenen Offsets. Beim Kopf-Bone darf ein
|
|
--- kleiner Versatz nach vorne/seitlich nötig sein, damit die Lampe nicht im
|
|
--- Schädel steckt - mit /divelamp im Spiel einstellen statt hier zu raten.
|
|
lampPropOffset = vec3(0.0, 0.0, 0.0),
|
|
lampPropRotation = vec3(0.0, 0.0, 0.0),
|
|
|
|
--- Ursprung des Lichtkegels relativ zum Bone (bone-relativ, nicht Welt).
|
|
--- Sollte ungefähr dort liegen, wo das Prop sitzt.
|
|
lampOffset = vec3(0.0, 0.0, 0.0),
|
|
|
|
--- Richtung des Lichtkegels, ebenfalls bone-relativ. Leuchtet der Kegel in die
|
|
--- falsche Richtung, hier die Achse tauschen oder das Vorzeichen drehen -
|
|
--- welche lokale Achse des Kopf-Bones nach vorne zeigt, hängt am Skelett.
|
|
lampDirection = vec3(0.0, 1.0, 0.0),
|
|
|
|
--- Lichtwerte aus d4rk_phone übernommen - dort im Betrieb erprobt, statt hier
|
|
--- neu geraten. Leicht warmweiß wie eine echte Taschenlampe.
|
|
lampColour = { 255, 250, 235 },
|
|
|
|
lampDistance = 28.0, -- Reichweite in Metern
|
|
lampBrightness = 3.0, -- Helligkeit
|
|
lampRoundness = 0.0, -- Weichzeichnung des Kegelrands
|
|
lampRadius = 16.0, -- Öffnungswinkel
|
|
lampFalloff = 2.0, -- Abfall zum Rand hin
|
|
|
|
--- Schatten kosten deutlich Performance. d4rk_phone nutzt bewusst das
|
|
--- schattenlose DrawSpotLight, deshalb hier auch der Default - unter Wasser
|
|
--- fällt der Unterschied kaum auf, in einer Höhle mit mehreren Tauchern
|
|
--- dagegen sehr wohl.
|
|
lampShadows = false,
|
|
|
|
--- Ab dieser Entfernung werden fremde Lampen nicht mehr gezeichnet (Meter).
|
|
lampDrawDistance = 45.0,
|
|
|
|
--- Wie viele Lampen gleichzeitig gezeichnet werden. Die nächstgelegenen
|
|
--- gewinnen. Schützt vor Frame-Einbrüchen bei Gruppentauchgängen.
|
|
lampMaxLights = 4,
|
|
}
|