Standalone FiveM-Resource: Spieler können Fahrzeugreifen mit konfigurierten Nahkampf-Klingenwaffen aufschlitzen.
- Server-seitige Validierung (Distanz, Waffe, Cooldown, Jobs, Blacklist)
- Progressbar und Animation
- Optional: Fahrzeugalarm und Polizei-Dispatch
- Kompatibel mit ESX, QBCore, Qbox oder komplett ohne Framework
- ox_lib optional (wird automatisch erkannt)
| Feature | Beschreibung |
|---|---|
| Melee-Whitelist | Nur konfigurierte Klingenwaffen (Messer, Machete, …) |
| Reifen-Erkennung | Bone-basiert (wheel_lf, wheel_rf, …) |
| Anti-Abuse | Cooldown, Session-Lock, Mindestdauer, Distanz-Check auf dem Server |
| Abbruch | Bei Tod, Fahrzeug betreten, Waffe wechseln oder zu weit weg |
| Alarm | Zufällig, mit Licht/Hupe (State Bag oder Client) |
| Dispatch | Über Event oder Export an euer Dispatch-System |
| Sprachen | Deutsch und Englisch (Config.Locale) |
- FiveM Server mit OneSync
- Kein Pflicht-Framework
- Optional:
ox_lib(empfohlen für Notify, Progress, Help-Text)
- Ordner
fivem_tireslashin eurenresources-Ordner legen. - In der
server.cfgeintragen:
ensure ox_lib # optional, aber empfohlen
ensure fivem_tireslashconfig.luaan euren Server anpassen.- Bei Bedarf Dispatch-Integration einrichten (siehe unten).
- Klingenwaffe aus der Whitelist in die Hand nehmen.
- Nah an einen intakten Reifen eines Fahrzeugs gehen.
- E drücken (Standard, änderbar über
Config.InteractionKey). - Progressbar abwarten — bei Erfolg platzt der gewählte Reifen.
Alle Einstellungen in config.lua.
| Option | Standard | Beschreibung |
|---|---|---|
AllowedWeapons |
Messer, Dolch, … | Liste der WEAPON_* Namen |
SlashDuration |
5 |
Dauer der Aktion in Sekunden |
Cooldown |
45 |
Cooldown pro Spieler in Sekunden |
MaxTireDistance |
1.35 |
Max. Abstand zum Reifen-Bone |
VehicleScanDistance |
7.0 |
Reichweite für Interaktions-Hinweis |
InteractionKey |
38 |
Taste (38 = E) |
VehicleBlacklist |
Polizei, RTW, … | Gesperrte Fahrzeugmodelle |
JobWhitelist |
leer | Wenn gesetzt: nur diese Jobs dürfen slashen |
JobBlacklist |
Polizei, … | Jobs die nicht slashen dürfen |
AnimDict / AnimName |
Messer-Boden-Anim | Animation während der Aktion |
| Option | Standard | Beschreibung |
|---|---|---|
EnableVehicleAlarm |
true |
Alarm ein/aus |
AlarmChance |
0.35 |
Wahrscheinlichkeit (0.0–1.0) |
AlarmDuration |
30 |
Alarmdauer in Sekunden |
EnablePoliceDispatch |
true |
Dispatch ein/aus |
DispatchChance |
0.4 |
Wahrscheinlichkeit (0.0–1.0) |
DispatchMessage |
DE-Text | Nachricht für Dispatch |
DispatchJobs |
police, … | Ziel-Jobs für euren Handler |
| Option | Werte | Beschreibung |
|---|---|---|
Framework |
auto, esx, qb, qbox, standalone |
Job-Erkennung |
Notify |
auto, ox_lib, esx, qb, native, custom |
Benachrichtigungen |
Progress |
auto, ox_lib, native |
Progressbar |
Dispatch |
none, event, export |
Polizei-Meldung |
Alarm |
statebag, client, none |
Alarm-Sync |
Locale |
de, en |
UI-Sprache |
EventPrefix |
fivem_tireslash |
Event-Namespace |
Debug |
false |
Konsolen-Logs |
Config.Dispatch = 'event'
Config.DispatchEvent = 'fivem_tireslash:dispatch'In einem beliebigen Server-Skript:
AddEventHandler('fivem_tireslash:dispatch', function(source, coords, message, jobs)
-- source = Spieler-ID
-- coords = vector3
-- message = Config.DispatchMessage
-- jobs = Config.DispatchJobs
end)HighLife / esx — Beispiel liegt in integrations/highlife_core_dispatch.lua:
AddEventHandler('fivem_tireslash:dispatch', function(source, coords, message, jobs)
for _, job in ipairs(jobs) do
TriggerEvent('esx:server:addDispatchAnonymous', coords, job, message)
end
end)Config.Dispatch = 'export'
Config.DispatchResource = 'dein_dispatch'
Config.DispatchExport = 'sendAlert'Euer Export erhält: (source, coords, message, jobs).
Config.Dispatch = 'none'
-- oder
Config.EnablePoliceDispatch = falsePrefix standardmäßig fivem_tireslash (änderbar via Config.EventPrefix).
| Event | Richtung | Beschreibung |
|---|---|---|
fivem_tireslash:requestStart |
Client → Server | Start anfragen |
fivem_tireslash:start |
Server → Client | Freigabe, Aktion starten |
fivem_tireslash:finish |
Client → Server | Erfolgreich beenden |
fivem_tireslash:cancel |
Client → Server | Session abbrechen |
fivem_tireslash:applyBurst |
Server → Client | Reifen plat syncen |
fivem_tireslash:client:notify |
Server → Client | Notify-Bridge |
fivem_tireslash:client:alarm |
Server → Client | Alarm (bei Config.Alarm = 'client') |
fivem_tireslash:dispatch |
Server (TriggerEvent) | Dispatch-Hook |
-- Kann der Spieler diesen Reifen slashen? (ohne aktive Session)
local ok, reason = exports.fivem_tireslash:CanSlashTire(source, vehicleNetId, tireIndex, weaponHash)
-- Hat der Spieler noch Cooldown?
local onCooldown = exports.fivem_tireslash:HasSlashCooldown(source)reason bei Ablehnung: cooldown, busy, job, weapon, vehicle, blacklist, tire, burst, bone, distance.
fivem_tireslash/
├── fxmanifest.lua
├── config.lua
├── README.md
├── LICENSE
├── shared/
│ └── locale.lua # de / en Texte
├── bridge/
│ ├── client.lua # Notify, Progress, Framework
│ └── server.lua
├── client/
│ └── main.lua
├── server/
│ └── main.lua
└── integrations/
└── highlife_core_dispatch.lua
- Reifen platzen nur nach bestätigtem Server-
finish - Cooldown und aktive Session werden serverseitig verwaltet
- Mindestdauer entspricht
SlashDuration(Anti-Spam) - Position, Waffe und Fahrzeug werden beim Start und beim Abschluss erneut geprüft
- Kein permanenter Performance-Loop — Scan nur im 1,5s-Takt, Interaktion nur in Fahrzeugnähe
MIT — siehe LICENSE.
Entwickelt für HighLife RP.
Bei Fragen oder Bugs: Issue im GitHub-Repository oder intern im Team melden.