Installazione
DS-Death sostituisce il ciclo predefinito di morte/knockout/revive del tuo ambulance job. L’installazione è quasi tutta drag-and-drop, con qualche piccola modifica a esx_ambulancejob o qb-ambulancejob perché il flusso di revive esistente passi il controllo a DS-Death.
Download
Scarica lo script da portal.cfx.re. Assicurati di aver effettuato l’accesso con l’account FiveM che hai usato per acquistarlo.
Estrazione
Estrai l’archivio e sposta la cartella DS-Death ottenuta in un punto qualsiasi della cartella resources del tuo server.
mysql-async. ESX e QBCore sono entrambi supportati e rilevati automaticamente all’avvio.Esegui l'SQL
Esegui il file SQL corrispondente al tuo framework. Aggiunge una singola colonna ds_death, usata per mantenere lo stato di morte anche tra una disconnessione e l’altra.
ESX
Esegui INSTALLATION_GUIDE/ESX.sql nel tuo database: aggiunge ds_death TINYINT(1) alla tabella users.
QBCore
Esegui INSTALLATION_GUIDE/QBCore.sql nel tuo database: aggiunge ds_death TINYINT(1) alla tabella players.
Installa l'item per rianimare
DS-Death richiede un item aidkit per rianimare i giocatori a terra. Aggiungilo all’inventario che usi.
ESX (inventario predefinito)
Esegui INSTALLATION_GUIDE/INSTALL_ITEM/ESX/item.sql nel tuo database per registrare l’item.
ESX (ox_inventory)
Apri INSTALLATION_GUIDE/INSTALL_ITEM/ESX/OX_INVENTORY_ITEM.md, copia lo snippet e incollalo in ox_inventory/data/items.lua:
['aidkit'] = {
label = 'Aid Kit',
weight = 100,
stack = true,
consume = 0,
allowArmed = true
},QBCore
Apri INSTALLATION_GUIDE/INSTALL_ITEM/QBCORE/item.md, copia lo snippet e incollalo 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 e ItemLabel in config.lua invece di installare aidkit.Modifica il tuo ambulance job
DS-Death prende in carico il flusso di morte e revive, quindi gli handler esistenti in esx_ambulancejob / qb-ambulancejob vanno rimossi o reindirizzati. I blocchi esatti da eliminare e sostituire sono inclusi nella resource:
ESX (esx_ambulancejob)
Segui INSTALLATION_GUIDE/ESX.txt, tre modifiche in tutto:
- esx_ambulancejob/client/main.lua: rimuovi (o commenta) l’handler
esx:onPlayerSpawnche azzeraisDead. - esx_ambulancejob/client/main.lua: sostituisci l’handler dell’evento
esx_ambulancejob:revivecon una riga che passa il controllo a 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: nella funzione
revivePlayer, cambiaif IsPedDeadOrDying(closestPlayerPed, 1) theninif closestPlayerPed then, così lo stato di knockout di DS-Death conta come rianimabile.
QBCore (qb-ambulancejob)
Segui INSTALLATION_GUIDE/QBCORE.txt, due modifiche:
- qb-ambulancejob/server/main.lua: rimuovi (o commenta) il blocco
QBCore.Commands.Add("revive", ...)esistente. DS-Death registra il proprio. - qb-ambulancejob/client/dead.lua: rimuovi l’handler
gameEventTriggeredche gestisce il laststand e il timer di morte. DS-Death sostituisce quel flusso.
esx_ambulancejob / qb-ambulancejob originale prima di procedere, così puoi tornare indietro se qualcos’altro nel tuo setup dipende dal comportamento precedente.Assegna i permessi admin
QBCore
Aggiungi il permesso ace al tuo server.cfg così gli admin possono usare i comandi di revive:
add_ace group.admin ds_death allowESX
I permessi si gestiscono tramite l’array AuthorizedGroup in config.lua. Il valore predefinito {'admin'} copre già la maggior parte dei setup.
Avvia la resource
Aggiungi lo script al tuo server.cfg:
ensure DS-DeathDS-Death nell’ordine di avvio.Configurazione
Apri config.lua e adatta lo script al tuo server. Le impostazioni più utili:
- KnockoutTime / RespawnTime: quanto restano a terra i giocatori e quando diventa disponibile il respawn.
- HeadShotDeath: salta lo stato di knockout e uccide sul colpo alla testa.
- RespawnPosition / RespawnSamePos / RespawnCost: dove tornano i giocatori e se il respawn costa contanti o soldi in banca.
- CombatLogging: puoi lasciare il giocatore morto al rientro (
CheckDeath) oppure farlo respawnare in automatico (RespawnOnJoin). - RemoveItemsAfterRPDeath: fa perdere soldi, armi e item alla morte RP, con una whitelist
KeepItemsper cose come i documenti. - Progressbar:
NATIVE,RPROGRESSoCUSTOM(collega la tua inCustomProgress/StopCustomProgress). - EMSCall: inserisci qui il trigger di chiamata del tuo telefono, così la chiamata EMS in-game passa dal telefono invece che dalla notifica predefinita.
- EnableLogs: attiva i log tramite webhook Discord e configurali in
webhooks.lua.
OnKnocked, OnDeath, OnRevive e OnRespawn in config.lua sono funzioni vuote, pronte per i tuoi trigger o export. CanDie ti permette di disattivare il ciclo di morte in modo condizionale: utile per zone minigioco, eventi softair o arene PvP.