Death·Installation

Installation

DS-Death ersetzt den Standard-Loop aus Tod, Knockout und Revive in deinem Ambulance-Job. Die Installation ist größtenteils drag-and-drop, mit ein paar kleinen Patches an esx_ambulancejob oder qb-ambulancejob, damit der bestehende Revive-Ablauf an DS-Death übergibt.

Download

Lade das Script auf portal.cfx.re herunter. Stell sicher, dass du mit dem FiveM-Account angemeldet bist, mit dem du das Script gekauft hast.

Entpacken

Entpack das Archiv und leg den entstandenen Ordner DS-Death irgendwo in den resources-Ordner deines Servers.

Abhängigkeiten
DS-Death benötigt mysql-async. ESX und QBCore werden beide unterstützt und zur Laufzeit automatisch erkannt.

SQL ausführen

Führ die SQL-Datei aus, die zu deinem Framework passt. Sie fügt eine einzelne Spalte ds_death hinzu, über die der Todeszustand auch nach einer Trennung erhalten bleibt.

ESX

Führ INSTALLATION_GUIDE/ESX.sql in deiner Datenbank aus: fügt ds_death TINYINT(1) zur Tabelle users hinzu.

QBCore

Führ INSTALLATION_GUIDE/QBCore.sql in deiner Datenbank aus: fügt ds_death TINYINT(1) zur Tabelle players hinzu.

Revive-Item installieren

DS-Death braucht ein aidkit-Item, um bewusstlose Spieler wiederzubeleben. Füg es in dem Inventar hinzu, das du einsetzt.

ESX (Standard-Inventar)

Führ INSTALLATION_GUIDE/INSTALL_ITEM/ESX/item.sql in deiner Datenbank aus, um das Item zu registrieren.

ESX (ox_inventory)

Öffne INSTALLATION_GUIDE/INSTALL_ITEM/ESX/OX_INVENTORY_ITEM.md, kopier den Abschnitt und füg ihn in ox_inventory/data/items.lua ein:

ox_inventory/data/items.lua
['aidkit'] = {
    label = 'Aid Kit',
    weight = 100,
    stack = true,
    consume = 0,
    allowArmed = true
},

QBCore

Öffne INSTALLATION_GUIDE/INSTALL_ITEM/QBCORE/item.md, kopier den Abschnitt und füg ihn in qb-core/shared/items.lua ein:

qb-core/shared/items.lua
['aidkit'] = {['name'] = 'aidkit', ['label'] = 'Aid Kit', ['weight'] = 0, ['type'] = 'item', ['image'] = 'aidkit.png', ['unique'] = false, ['useable'] = false, ['shouldClose'] = false, ['combinable'] = nil, ['description'] = 'Useful to revive knocked people'},
Ein anderes Item verwenden
Wenn du schon ein medizinisches Item hast, das du lieber nutzt, änder ItemRevive und ItemLabel in der config.lua, statt aidkit zu installieren.

Ambulance-Job patchen

DS-Death übernimmt den Ablauf aus Tod und Revive, deshalb müssen die vorhandenen Handler in esx_ambulancejob / qb-ambulancejob entfernt oder umgeleitet werden. Die konkreten Blöcke zum Löschen und Ersetzen liegen in der Resource bei:

ESX (esx_ambulancejob)

Folge INSTALLATION_GUIDE/ESX.txt, insgesamt drei Änderungen:

  • esx_ambulancejob/client/main.lua: entfern (oder kommentier aus) den esx:onPlayerSpawn-Handler, der isDead zurücksetzt.
  • esx_ambulancejob/client/main.lua: ersetz den Handler des Events esx_ambulancejob:revive durch eine einzelne Zeile, die an DS-Death übergibt:
    esx_ambulancejob/client/main.lua
    RegisterNetEvent('esx_ambulancejob:revive')
    AddEventHandler('esx_ambulancejob:revive', function()
        TriggerEvent('DS-Death:revive')
    end)
  • esx_ambulancejob/client/job.lua: änder in der Funktion revivePlayer die Zeile if IsPedDeadOrDying(closestPlayerPed, 1) then zu if closestPlayerPed then, damit der Knockout-Zustand von DS-Death als wiederbelebbar zählt.

QBCore (qb-ambulancejob)

Folge INSTALLATION_GUIDE/QBCORE.txt, zwei Änderungen:

  • qb-ambulancejob/server/main.lua: entfern (oder kommentier aus) den vorhandenen Block QBCore.Commands.Add("revive", ...). DS-Death registriert einen eigenen.
  • qb-ambulancejob/client/dead.lua: entfern den gameEventTriggered-Handler, der den Laststand- / Todes-Timer ausführt. DS-Death ersetzt diesen Ablauf.
Vor dem Patchen sichern
Diese Patches verändern Framework-Resources. Heb eine Kopie des ursprünglichen Ordners esx_ambulancejob / qb-ambulancejob auf, bevor du ihn bearbeitest, damit du zurück kannst, falls etwas anderes in deiner Stack auf dem alten Verhalten aufbaut.

Admin-Berechtigungen vergeben

QBCore

Trag die Ace-Berechtigung in deine server.cfg ein, damit Admins die Revive-Befehle nutzen können:

server.cfg
add_ace group.admin ds_death allow

ESX

Die Berechtigungen laufen über das Array AuthorizedGroup in der config.lua. Der Standardwert {'admin'} deckt die meisten Setups bereits ab.

Resource starten

Trag das Script in deine server.cfg ein:

server.cfg
ensure DS-Death
Ladereihenfolge
Achte darauf, dass dein Framework (ESX / QBCore) und der gepatchte Ambulance-Job in der Ladereihenfolge vor DS-Death starten.

Konfigurieren

Öffne config.lua und pass das Script an deinen Server an. Die nützlichsten Stellschrauben:

  • KnockoutTime / RespawnTime: wie lange Spieler bewusstlos bleiben und ab wann der Respawn möglich wird.
  • HeadShotDeath: überspringt den Knockout-Zustand und tötet bei einem Headshot sofort.
  • RespawnPosition / RespawnSamePos / RespawnCost: wo Spieler zurückkommen und ob der Respawn Bargeld oder Bankguthaben kostet.
  • CombatLogging: entweder den Spieler beim Wiederverbinden tot lassen (CheckDeath) oder ihn automatisch respawnen (RespawnOnJoin).
  • RemoveItemsAfterRPDeath: lässt beim RP-Tod Geld, Waffen und Items fallen, mit einer KeepItems-Whitelist für Dinge wie Dokumente.
  • Progressbar: NATIVE, RPROGRESS oder CUSTOM (häng deine eigene in CustomProgress / StopCustomProgress ein).
  • EMSCall: leg den Anruf-Trigger deines Handys in diese Funktion, damit der EMS-Notruf über dein Handy läuft statt über die Standard-Benachrichtigung.
  • EnableLogs: aktiviert die Discord-Webhook-Logs, konfiguriert in webhooks.lua.
Eigene Hooks
OnKnocked, OnDeath, OnRevive und OnRespawn in der config.lua sind leere Funktionen, bereit für deine eigenen Trigger/Exports. Mit CanDie kannst du den Todes-Loop bedingt abschalten: praktisch für Minigame-Zonen, Airsoft-Events oder PvP-Arenen.

Kommst du nicht weiter?

Öffne ein Ticket auf unserem Discord, wir helfen dir.

Discord beitreten →