Death·Установка

Установка

DS-Death заменяет стандартный цикл смерти/нокаута/поднятия в твоей работе скорой помощи. Установка в основном drag-and-drop, плюс пара небольших правок в esx_ambulancejob или qb-ambulancejob, чтобы существующий поток поднятия передавал управление DS-Death.

Скачивание

Скачай скрипт с portal.cfx.re. Убедись, что ты вошёл под тем аккаунтом FiveM, с которого покупал скрипт.

Распаковка

Распакуй архив и положи получившуюся папку DS-Death в любое место внутри папки resources своего сервера.

Зависимости
DS-Death требует mysql-async. ESX и QBCore оба поддерживаются и определяются автоматически во время работы.

Выполни SQL

Выполни SQL-файл, соответствующий твоему фреймворку. Он добавляет один столбец ds_death, в котором состояние смерти сохраняется между переподключениями.

ESX

Выполни INSTALLATION_GUIDE/ESX.sql в своей базе данных: он добавит ds_death TINYINT(1) в таблицу users.

QBCore

Выполни INSTALLATION_GUIDE/QBCore.sql в своей базе данных: он добавит ds_death TINYINT(1) в таблицу players.

Установи предмет для поднятия

DS-Death нужен item aidkit, чтобы поднимать игроков в нокауте. Добавь его в тот инвентарь, который у тебя стоит.

ESX (стандартный инвентарь)

Выполни INSTALLATION_GUIDE/INSTALL_ITEM/ESX/item.sql в своей базе данных, чтобы зарегистрировать предмет.

ESX (ox_inventory)

Открой INSTALLATION_GUIDE/INSTALL_ITEM/ESX/OX_INVENTORY_ITEM.md, скопируй фрагмент и вставь его в ox_inventory/data/items.lua:

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

QBCore

Открой INSTALLATION_GUIDE/INSTALL_ITEM/QBCORE/item.md, скопируй фрагмент и вставь его в 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'},
Использовать другой предмет
Если у тебя уже есть медицинский item, который ты хочешь использовать, вместо установки aidkit поменяй ItemRevive и ItemLabel в config.lua.

Правки в работе скорой

DS-Death забирает на себя поток смерти и поднятия, поэтому существующие обработчики в esx_ambulancejob / qb-ambulancejob нужно удалить или перенаправить. Конкретные блоки для удаления и замены лежат внутри resource:

ESX (esx_ambulancejob)

Следуй INSTALLATION_GUIDE/ESX.txt, всего три правки:

  • esx_ambulancejob/client/main.lua: удали (или закомментируй) обработчик esx:onPlayerSpawn, который сбрасывает isDead.
  • esx_ambulancejob/client/main.lua: замени обработчик события esx_ambulancejob:revive одной строкой, которая передаёт управление 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: в функции revivePlayer замени if IsPedDeadOrDying(closestPlayerPed, 1) then на if closestPlayerPed then, чтобы состояние нокаута из DS-Death считалось поднимаемым.

QBCore (qb-ambulancejob)

Следуй INSTALLATION_GUIDE/QBCORE.txt, две правки:

  • qb-ambulancejob/server/main.lua: удали (или закомментируй) существующий блок QBCore.Commands.Add("revive", ...). DS-Death регистрирует свою команду.
  • qb-ambulancejob/client/dead.lua: удали обработчик gameEventTriggered, который запускает laststand / таймер смерти. DS-Death заменяет этот поток.
Сделай бэкап перед правками
Эти правки меняют resource твоего фреймворка. Сохрани копию исходной папки esx_ambulancejob / qb-ambulancejob перед редактированием, чтобы можно было откатиться, если что-то ещё в твоей сборке зависит от старого поведения.

Выдай права администратора

QBCore

Добавь ace-право в свой server.cfg, чтобы админы могли пользоваться командами поднятия:

server.cfg
add_ace group.admin ds_death allow

ESX

Права задаются массивом AuthorizedGroup в config.lua. Значение по умолчанию {'admin'} покрывает большинство сборок.

Запуск resource

Добавь скрипт в свой server.cfg:

server.cfg
ensure DS-Death
Порядок resource
Убедись, что твой фреймворк (ESX / QBCore) и пропатченная работа скорой стартуют в порядке загрузки раньше, чем DS-Death.

Настройка

Открой config.lua и настрой скрипт под свой сервер. Самые полезные параметры:

  • KnockoutTime / RespawnTime: сколько игроки лежат в нокауте и когда становится доступен респавн.
  • HeadShotDeath: пропустить стадию нокаута и убивать сразу при попадании в голову.
  • RespawnPosition / RespawnSamePos / RespawnCost: где игроки возвращаются и стоит ли респавн наличных или денег в банке.
  • CombatLogging: либо оставлять игрока мёртвым при перезаходе (CheckDeath), либо автоматически респавнить его (RespawnOnJoin).
  • RemoveItemsAfterRPDeath: выбрасывать деньги, оружие и предметы при RP-смерти, с белым списком KeepItems для вещей вроде документов.
  • Progressbar: NATIVE, RPROGRESS или CUSTOM (свой вариант подключается в CustomProgress / StopCustomProgress).
  • EMSCall: положи внутрь этой функции триггер звонка своего телефона, чтобы вызов EMS в мире уходил в телефон, а не в стандартное уведомление.
  • EnableLogs: включи логи через вебхук Discord и настрой их в webhooks.lua.
Свои хуки
OnKnocked, OnDeath, OnRevive и OnRespawn в config.lua — пустые функции, готовые под твои триггеры и экспорты. CanDie позволяет отключать цикл смерти по условию: пригодится для зон с мини-играми, страйкбольных ивентов или PvP-арен.

Всё ещё не выходит?

Открой тикет в нашем Discord, и мы поможем.

Зайти в Discord →