Death·Installatie

Installatie

DS-Death vervangt de standaard death/knockout/revive-loop in je ambulancejob. De installatie is grotendeels drag-and-drop, met een paar kleine patches aan esx_ambulancejob of qb-ambulancejob zodat de bestaande revive-flow het overdraagt aan DS-Death.

Downloaden

Download het script van portal.cfx.re. Zorg dat je ingelogd bent met het FiveM-account waarmee je het script gekocht hebt.

Uitpakken

Pak het archief uit en zet de resulterende map DS-Death ergens in de map resources van je server.

Afhankelijkheden
DS-Death vereist mysql-async. ESX en QBCore worden allebei ondersteund en tijdens runtime automatisch gedetecteerd.

Voer de SQL uit

Voer het SQL-bestand uit dat bij jouw framework hoort. Het voegt één kolom ds_death toe waarmee de death-status een disconnect overleeft.

ESX

Voer INSTALLATION_GUIDE/ESX.sql uit in je database: dat voegt ds_death TINYINT(1) toe aan de tabel users.

QBCore

Voer INSTALLATION_GUIDE/QBCore.sql uit in je database: dat voegt ds_death TINYINT(1) toe aan de tabel players.

Installeer het revive-item

DS-Death heeft een item aidkit nodig om neergegane spelers te reviven. Voeg het toe aan de inventory die jij draait.

ESX (standaard inventory)

Voer INSTALLATION_GUIDE/INSTALL_ITEM/ESX/item.sql uit in je database om het item te registreren.

ESX (ox_inventory)

Open INSTALLATION_GUIDE/INSTALL_ITEM/ESX/OX_INVENTORY_ITEM.md, kopieer het fragment en plak het in ox_inventory/data/items.lua:

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

QBCore

Open INSTALLATION_GUIDE/INSTALL_ITEM/QBCORE/item.md, kopieer het fragment en plak het in qb-core/shared/items.lua:

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'},
Een ander item gebruiken
Heb je al een medisch item dat je liever gebruikt, pas dan ItemRevive en ItemLabel in config.lua aan in plaats van aidkit te installeren.

Patch je ambulancejob

DS-Death neemt de death/revive-flow over, dus de bestaande handlers in esx_ambulancejob / qb-ambulancejob moeten weg of omgeleid worden. De exacte blokken die je moet verwijderen en vervangen zitten in de resource:

ESX (esx_ambulancejob)

Volg INSTALLATION_GUIDE/ESX.txt, drie aanpassingen in totaal:

  • esx_ambulancejob/client/main.lua: verwijder (of comment uit) de handler esx:onPlayerSpawn die isDead reset.
  • esx_ambulancejob/client/main.lua: vervang de handler van het event esx_ambulancejob:revive door één regel die het overdraagt aan DS-Death:
    esx_ambulancejob/client/main.lua
    RegisterNetEvent('esx_ambulancejob:revive')
    AddEventHandler('esx_ambulancejob:revive', function()
        TriggerEvent('DS-Death:revive')
    end)
  • esx_ambulancejob/client/job.lua: verander in de functie revivePlayer de regel if IsPedDeadOrDying(closestPlayerPed, 1) then in if closestPlayerPed then, zodat de knocked-state van DS-Death als revivebaar geldt.

QBCore (qb-ambulancejob)

Volg INSTALLATION_GUIDE/QBCORE.txt, twee aanpassingen:

  • qb-ambulancejob/server/main.lua: verwijder (of comment uit) het bestaande blok QBCore.Commands.Add("revive", ...). DS-Death registreert zijn eigen versie.
  • qb-ambulancejob/client/dead.lua: verwijder de handler gameEventTriggered die de laststand-/death-timer draait. DS-Death vervangt die flow.
Maak een back-up voor je patcht
Deze patches wijzigen resources van je framework. Bewaar een kopie van de originele map esx_ambulancejob / qb-ambulancejob voordat je gaat bewerken, zodat je terug kunt als iets anders in je setup van het oude gedrag afhangt.

Adminrechten toekennen

QBCore

Voeg de ace-permissie toe aan je server.cfg zodat admins de revive-commando's kunnen gebruiken:

server.cfg
add_ace group.admin ds_death allow

ESX

Permissies lopen via de array AuthorizedGroup in config.lua. De standaardwaarde {'admin'} dekt de meeste setups al.

Start de resource

Voeg het script toe aan je server.cfg:

server.cfg
ensure DS-Death
Volgorde van resources
Zorg dat je framework (ESX / QBCore) en de gepatchte ambulancejob in de laadvolgorde vóór DS-Death starten.

Configureren

Open config.lua en stem het script af op je server. De nuttigste knoppen:

  • KnockoutTime / RespawnTime: hoe lang spelers neerliggen, en wanneer respawnen beschikbaar komt.
  • HeadShotDeath: sla de knockout-state over en dood direct bij een headshot.
  • RespawnPosition / RespawnSamePos / RespawnCost: waar spelers terugkomen, en of respawnen cash of banksaldo kost.
  • CombatLogging: hou de speler dood bij het opnieuw joinen (CheckDeath) of laat hem automatisch respawnen (RespawnOnJoin).
  • RemoveItemsAfterRPDeath: laat geld, wapens en items vallen bij RP-death, met een whitelist KeepItems voor bijvoorbeeld documenten.
  • Progressbar: NATIVE, RPROGRESS of CUSTOM (koppel je eigen bar in CustomProgress / StopCustomProgress).
  • EMSCall: zet de call-trigger van je telefoon in deze functie, zodat de EMS-oproep in de wereld naar je telefoon gaat in plaats van naar de standaardnotificatie.
  • EnableLogs: zet de Discord-webhooklogs aan en stel ze in in webhooks.lua.
Eigen hooks
OnKnocked, OnDeath, OnRevive en OnRespawn in config.lua zijn lege functies die klaarstaan voor je eigen triggers/exports. Met CanDie zet je de death-loop voorwaardelijk uit: handig voor minigame-zones, airsoft-events of PvP-arena's.

Kom je er niet uit?

Open een ticket op onze Discord, dan helpen we je verder.

Kom op Discord →