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.
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:
['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:
['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'},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:onPlayerSpawndieisDeadreset. - esx_ambulancejob/client/main.lua: vervang de handler van het event
esx_ambulancejob:revivedoor één regel die het overdraagt aan DS-Death:esx_ambulancejob/client/main.luaRegisterNetEvent('esx_ambulancejob:revive') AddEventHandler('esx_ambulancejob:revive', function() TriggerEvent('DS-Death:revive') end) - esx_ambulancejob/client/job.lua: verander in de functie
revivePlayerde regelif IsPedDeadOrDying(closestPlayerPed, 1) theninif 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
gameEventTriggereddie de laststand-/death-timer draait. DS-Death vervangt die flow.
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:
add_ace group.admin ds_death allowESX
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:
ensure DS-DeathDS-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
KeepItemsvoor bijvoorbeeld documenten. - Progressbar:
NATIVE,RPROGRESSofCUSTOM(koppel je eigen bar inCustomProgress/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.
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.