2026-04-14 17:41:39 +02:00

118 lines
3.0 KiB
Markdown

# mercyv-stamina
Eigenes Sprint/Jog-System für FiveM RP. Ersetzt das Vanilla GTA-Ausdauersystem vollständig.
## Features
- Frei einstellbarer Schwellwert ab wann der Charakter ins Joggen wechselt
- Konfigurierbare Drain- und Regen-Werte
- Hysterese verhindert ständiges Hin- und Herschalten
- Schnellere Stamina-Regen im Fahrzeug
- Ingame-Befehl `/stamina` zum Live-Anpassen
- Export-Funktionen für andere Scripts (z.B. Essen, Trinken)
- Server-seitige Stamina-Kontrolle per Exports & Konsolenbefehl
---
## Installation
1. Ordner `mercyv-stamina` in dein `resources`-Verzeichnis legen
2. In der `server.cfg` eintragen:
```
ensure mercyv-stamina
```
3. Fertig.
---
## Konfiguration (`config.lua`)
| Variable | Standard | Beschreibung |
|--------------------------|----------|-------------|
| `JogThreshold` | `20` | Ab welchem % Stamina ins Joggen gewechselt wird |
| `JogHysteresis` | `10` | Wieviel % ÜBER dem Schwellwert für Rückkehr nötig |
| `JogClipset` | `"move_m@casual@d"` | Animations-Clipset beim Joggen |
| `StaminaDrain` | `0.4` | Verbrauch pro Tick beim Sprinten |
| `StaminaRegen` | `0.15` | Regen pro Tick (außerhalb Fahrzeug) |
| `VehicleRegenMultiplier` | `2.0` | Regen-Multiplikator im Fahrzeug |
| `RegenDelay` | `2000` | Millisekunden Pause nach Sprint vor Regen |
| `StartStamina` | `100` | Stamina beim Einloggen/Spawnen |
| `TickInterval` | `100` | Loop-Interval in ms |
| `DisableVanilla` | `true` | Vanilla-System deaktivieren |
| `AllowCommand` | `true` | /stamina Befehl erlauben |
| `ShowDebug` | `false` | Debug-Logs aktivieren |
---
## Ingame-Befehl
```
/stamina → Zeigt aktuellen Schwellwert und Stamina
/stamina 30 → Setzt JogThreshold auf 30%
```
---
## Integration mit anderen Scripts
### Stamina auffüllen (Client → Client)
```lua
-- +50 Stamina geben (z.B. nach dem Essen)
TriggerEvent("mercyv-stamina:refill", 50)
```
### Stamina direkt setzen (Client → Client)
```lua
TriggerEvent("mercyv-stamina:set", 100)
```
### Stamina abrufen (Export)
```lua
local stamina = exports["mercyv-stamina"]:GetStamina()
-- Gibt aktuellen Wert als Zahl zurück (0-100)
```
### Jog-Status prüfen (Export)
```lua
local jogging = exports["mercyv-stamina"]:IsJogging()
-- Gibt true/false zurück
```
### Vom Server aus auffüllen
```lua
-- In einem anderen Server-Script:
exports["mercyv-stamina"]:RefillStamina(playerId, 50)
exports["mercyv-stamina"]:SetStamina(playerId, 100)
```
### Server-Konsole
```
staminarefill [playerid] [menge]
```
---
## Beispiel: Essen-Script Integration
```lua
-- In deinem food/drink script:
RegisterNetEvent("myfood:eat")
AddEventHandler("myfood:eat", function(amount)
TriggerEvent("mercyv-stamina:refill", amount)
end)
```
---
## Ordnerstruktur
```
mercyv-stamina/
├── fxmanifest.lua
├── config.lua
├── client/
│ └── main.lua
└── server/
└── main.lua
```