diff --git a/README.md b/README.md index 792109e..8b61200 100644 --- a/README.md +++ b/README.md @@ -1,45 +1,66 @@ -![image](https://github.com/Qbox-project/qbx_divegear/assets/85725579/935bdf83-5cd7-4d6a-8818-0359b41032d2) +# d4rk_divegear -# qbx_divegear +Tauchausrüstung für QBox. Fork von [qbx_divegear](https://github.com/Qbox-project/qbx_divegear) +mit Flaschengrößen, gesyncter Lampe, Tiefenanzeige und Ausrüstung, die bei +Animationen nicht verschwindet. -A Qbox resource that enables the functionality of diving and air tank items. +## Features -Works with [qbx_diving](https://github.com/Qbox-project/qbx_diving/), a coral diving and collection resource, also developed by the Qbox community! +- **Vier Flaschengrößen** — 5, 10, 15 und 20 Minuten. Die Restluft liegt in der + Item-Metadata und überlebt Ablegen, Relog, Resource-Restart und Tod. Der + Füllstand ist als Balken direkt im Inventar-Slot sichtbar. +- **Gesyncte Tauchlampe** — an der Ausrüstung, An/Aus per Taste (Standard `L`). + Andere Spieler sehen den Lichtkegel. +- **NUI-HUD** — Restluft als Ring mit `mm:ss` und Tauchtiefe in Metern, mit + Warnstufen. Nur sichtbar mit angelegter Ausrüstung unter Wasser. +- **Tiefenabhängiger Verbrauch** — tiefer tauchen kostet mehr Luft. Abschaltbar. +- **Ausrüstung bleibt** — bei Emotes, Ragdoll, Kleiderwechsel und aufräumenden + Fremd-Scripts. +- **Serverseitige Prüfung** — die Restluft kann nur sinken, und nicht schneller + als physikalisch möglich. -# Features +## Abhängigkeiten -- Able to set the length of time an air tank will refill your tank -- Able to configure the rate of decay of the oxygen tank (to allow longer time in the water) -- Limitations for refilling underwater (to limit endless use of air tanks) -- animations and timers during refill -- Text that displays current air time at the bottom of the player's screen when underwater and wearing gear +`qbx_core` · `ox_lib` · `ox_inventory` -# ox_inventory items +## Installation -Place these items in ox_inventory's item.lua if you don't have them already: +1. Resource nach `resources/` und in der `server.cfg` starten. +2. Die Einträge aus [`items_for_ox_inventory.lua`](items_for_ox_inventory.lua) in + `ox_inventory/data/items.lua` kopieren. +3. Item-Icons nach `cdn.d4rkst3r.de/items/` legen (`diving_gear.png`, + `diving_fill.png`, `diving_tank_small.png` … `diving_tank_xl.png`). -``` - ['diving_fill'] = { - label = 'Diving Tube', - weight = 3000, - stack = false, - close = true, - description = "used to refill your diving gear's oxygen supply." - }, +## Bedienung - ['diving_gear'] = { - label = 'Diving Gear', - weight = 30000, - stack = false, - close = true, - description = "A diving set that let's swim underwater. Blub blub!" - }, +| Aktion | Wie | +|---|---| +| Ausrüstung an-/ausziehen | `diving_gear` benutzen | +| Flasche wählen | Menü beim Anlegen (entfällt bei nur einer Flasche) | +| Flasche auffüllen | `diving_fill` benutzen, nicht unter Wasser | +| Lampe an/aus | `L` (in den FiveM-Tastenbelegungen umlegbar) | +## Konfiguration + +| Datei | Inhalt | +|---|---| +| [`config/client.lua`](config/client.lua) | Timings, Verbrauch, Tiefe, HUD, Lampe | +| [`config/shared.lua`](config/shared.lua) | Flaschen und ihre Laufzeit, Sync-Intervall, Anti-Cheat-Grenze | + +Laufzeiten ändert man über `capacity` (Sekunden) in `config/shared.lua`. Wer den +Tiefenfaktor (`maxDecayFactor`) hochdreht, muss `maxDrainPerSecond` mitziehen — +sonst schreibt der Server ehrlichen Spielern in großer Tiefe Luft zurück. + +## Entwicklung + +```bash +node ../.tools/lint.mjs # Lua-Lint (CfxLua-tauglich) +node ../.tools/nui-preview.mjs nui # HUD im Browser anschauen ``` -# ox_inventory images +Der Umbau ist in [PLAN.md](PLAN.md) dokumentiert, inklusive der offenen Punkte. -Missing images for your items? Here are some free-to-use images! +## Lizenz -![diving_gear](https://github.com/Qbox-project/qbx_divegear/assets/85725579/739d847c-1b49-4c20-9578-6e5ec8eac179) -![diving_fill](https://github.com/Qbox-project/qbx_divegear/assets/85725579/62c9057d-9412-4256-aab4-59cfe015e90b) +GPL-3.0, wie das Original. Upstream-Historie ist erhalten und liegt auf dem +Remote `upstream`.