Lint / Lint Resource (push) Has been cancelled
Licht ist in GTA nie synchronisiert - DrawSpotLight zeichnet nur lokal fuer den aktuellen Frame. "Gesynct" heisst deshalb: der Zustand wird als Statebag repliziert und jeder Client zeichnet die Lampen aller Taucher in seiner Naehe selbst. Muster uebernommen aus d4rk_phone (Statebag, adaptives Polling, Distanzfilter). client/light.lua ist ein reiner Renderer ohne gemeinsamen Zustand mit main.lua - er kommt mit dem Statebag allein aus und kennt weder Ausruestung noch Flasche. - Richtung ueber zwei bone-relative Punkte am Kopf-Bone statt ueber GetEntityForwardVector: beim Tauchen liegt der Ped waagerecht im Wasser, der Entity-Forward wuerde stur horizontal leuchten. Die Offsets von GetPedBoneCoords sind laut Native-Doku "relative to the bone's rotation", die Differenz zweier solcher Punkte enthaelt also den Pitch - Toggle per lib.addKeybind, Standard L, vom Spieler umlegbar - Distanzfilter und Limit auf die naechsten N Lampen, Schatten abschaltbar - Prop-Model wird vorher mit IsModelValid geprueft: lib.requestModel wirft bei ungueltigen Models einen Error, der sonst die ganze Ausruestung lahmlegt - Lampen-Status im HUD Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
35 lines
627 B
Lua
35 lines
627 B
Lua
fx_version 'cerulean'
|
|
game 'gta5'
|
|
|
|
author 'D4rkst3r'
|
|
description 'Tauchausrüstung mit Flaschengrößen, gesyncter Lampe und Tiefenanzeige'
|
|
repository 'https://git.d4rkst3r.de/D4rkst3r/d4rk_divegear'
|
|
version '1.0.1'
|
|
|
|
ox_lib 'locale'
|
|
|
|
shared_scripts {
|
|
'@ox_lib/init.lua',
|
|
'@qbx_core/modules/lib.lua',
|
|
}
|
|
|
|
server_script 'server/main.lua'
|
|
|
|
client_scripts {
|
|
'client/main.lua',
|
|
'client/light.lua',
|
|
}
|
|
|
|
ui_page 'nui/index.html'
|
|
|
|
files {
|
|
'config/client.lua',
|
|
'config/shared.lua',
|
|
'locales/*.json',
|
|
'nui/index.html',
|
|
'nui/style.css',
|
|
'nui/script.js',
|
|
}
|
|
|
|
lua54 'yes'
|
|
use_experimental_fxv2_oal 'yes' |