Death·Instalação

Instalação

O DS-Death substitui o loop padrão de morte/nocaute/reanimação do seu ambulance job. A instalação é quase toda drag-and-drop, com alguns patches pequenos no esx_ambulancejob ou no qb-ambulancejob para que o fluxo de reanimação existente passe a bola para o DS-Death.

Download

Baixe o script em portal.cfx.re. Confirme que você está logado com a conta FiveM que usou na compra.

Extração

Descompacte o arquivo e solte a pasta DS-Death resultante em qualquer lugar dentro da pasta resources do seu servidor.

Dependências
O DS-Death precisa do mysql-async. ESX e QBCore são suportados e detectados automaticamente em tempo de execução.

Rode o SQL

Execute o arquivo SQL correspondente ao seu framework. Ele adiciona uma única coluna ds_death, usada para manter o estado de morte entre desconexões.

ESX

Execute INSTALLATION_GUIDE/ESX.sql no seu banco de dados: adiciona ds_death TINYINT(1) à tabela users.

QBCore

Execute INSTALLATION_GUIDE/QBCore.sql no seu banco de dados: adiciona ds_death TINYINT(1) à tabela players.

Instale o item de reanimação

O DS-Death precisa de um item aidkit para reanimar jogadores nocauteados. Adicione ele ao inventário que você usa.

ESX (inventário padrão)

Execute INSTALLATION_GUIDE/INSTALL_ITEM/ESX/item.sql no seu banco de dados para registrar o item.

ESX (ox_inventory)

Abra INSTALLATION_GUIDE/INSTALL_ITEM/ESX/OX_INVENTORY_ITEM.md, copie o trecho e cole em ox_inventory/data/items.lua:

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

QBCore

Abra INSTALLATION_GUIDE/INSTALL_ITEM/QBCORE/item.md, copie o trecho e cole em 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'},
Usar outro item
Se você já tem um item médico que prefere usar, altere ItemRevive e ItemLabel no config.lua em vez de instalar o aidkit.

Aplique os patches no seu ambulance job

O DS-Death assume o fluxo de morte/reanimação, então os handlers existentes no esx_ambulancejob / qb-ambulancejob precisam ser removidos ou redirecionados. Os blocos exatos para apagar e substituir vêm dentro da resource:

ESX (esx_ambulancejob)

Siga INSTALLATION_GUIDE/ESX.txt, três edições no total:

  • esx_ambulancejob/client/main.lua: remova (ou comente) o handler esx:onPlayerSpawn que reseta o isDead.
  • esx_ambulancejob/client/main.lua: substitua o handler do event esx_ambulancejob:revive por uma única linha que passa a bola para o 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: na função revivePlayer, troque if IsPedDeadOrDying(closestPlayerPed, 1) then por if closestPlayerPed then, para que o estado nocauteado do DS-Death conte como reanimável.

QBCore (qb-ambulancejob)

Siga INSTALLATION_GUIDE/QBCORE.txt, duas edições:

  • qb-ambulancejob/server/main.lua: remova (ou comente) o bloco QBCore.Commands.Add("revive", ...) existente. O DS-Death registra o dele.
  • qb-ambulancejob/client/dead.lua: remova o handler gameEventTriggered que roda o laststand / o timer de morte. O DS-Death substitui esse fluxo.
Faça backup antes dos patches
Esses patches modificam resources do framework. Guarde uma cópia da pasta esx_ambulancejob / qb-ambulancejob original antes de editar, para poder voltar atrás se alguma outra coisa da sua stack depender do comportamento antigo.

Conceda as permissões de admin

QBCore

Adicione a permissão ace ao seu server.cfg para que os admins possam usar os comandos de reanimação:

server.cfg
add_ace group.admin ds_death allow

ESX

As permissões são tratadas pelo array AuthorizedGroup no config.lua. O padrão {'admin'} já cobre a maioria das configurações.

Inicie a resource

Adicione o script ao seu server.cfg:

server.cfg
ensure DS-Death
Ordem de carregamento
Garanta que o seu framework (ESX / QBCore) e o ambulance job com os patches iniciem antes do DS-Death na ordem de carregamento.

Configuração

Abra config.lua e ajuste o script ao seu servidor. As opções mais úteis:

  • KnockoutTime / RespawnTime: quanto tempo os jogadores ficam nocauteados e a partir de quando o respawn fica disponível.
  • HeadShotDeath: pula o estado de nocaute e mata na hora em um headshot.
  • RespawnPosition / RespawnSamePos / RespawnCost: onde os jogadores voltam e se o respawn custa dinheiro em espécie ou no banco.
  • CombatLogging: ou manter o jogador morto ao reconectar (CheckDeath) ou fazer ele renascer automaticamente (RespawnOnJoin).
  • RemoveItemsAfterRPDeath: derruba dinheiro, armas e itens na morte de RP, com uma whitelist KeepItems para coisas como documentos.
  • Progressbar: NATIVE, RPROGRESS ou CUSTOM (conecte a sua em CustomProgress / StopCustomProgress).
  • EMSCall: coloque o trigger de chamada do seu celular dentro dessa função para que a chamada do EMS no mundo passe pelo seu celular em vez da notificação padrão.
  • EnableLogs: liga os logs por webhook do Discord, configurados em webhooks.lua.
Hooks personalizados
OnKnocked, OnDeath, OnRevive e OnRespawn no config.lua são funções vazias, prontas para você plugar seus próprios triggers/exports. O CanDie permite desativar o loop de morte de forma condicional: útil para áreas de minigame, eventos de airsoft ou arenas de PvP.

Ainda travado?

Abra um ticket no nosso Discord que a gente te ajuda.

Entrar no Discord →