Configuration

config.lua:

Config = {}

-- Revive Events Liste (für verschiedene Frameworks)
Config.ReviveEvents = {
    'esx_ambulancejob:revive',
    'esx:revive'
    -- Füge hier weitere Revive-Events hinzu
}

-- Koordinaten für Respawn
Config.HospitalCoords = vector4(342.5295, -1398.1274, 32.5092, 54.2591)

-- Timer Einstellungen
Config.EarlyRespawnTimer = 5 * 60 -- Zeit in Sekunden (5 Minuten)
Config.BleedoutTimer = 20 * 60 -- Zeit in Sekunden (20 Minuten)
Config.SyncCooldown = 10 -- Cooldown für Sync-Button in Sekunden

-- Spieler Einstellungen
Config.RespawnHealth = 200 -- Gesundheit nach dem Respawn
Config.RespawnCost = 2000 -- Kosten für Respawn (0 = deaktiviert)

-- Dispatch aktivieren/deaktivieren
Config.EnableDispatch = true

-- Dispatch Funktion
function onSendDistressCustom()
    local jobReceiver = "ambulance"
    local message = "Toter Spieler"
    local image = nil

    TriggerServerEvent('roadphone:sendDispatch', GetPlayerServerId(PlayerId()), message, jobReceiver, image)
end

-- Death Status Funktion (für verschiedene Frameworks)
function onSetDeathStatusCustom(isDead)
    -- Standard ESX Death Status
    TriggerServerEvent('esx_ambulancejob:setDeathStatus', isDead)
end


-- Revive Event (wenn ein Medic einen wiederbelebt)
function onReviveCustom()
    local playerPed = PlayerPedId()

    -- Setze Gesundheit
    SetEntityHealth(playerPed, Config.RespawnHealth)
    
    -- Vollständige Wiederbelebung
    NetworkResurrectLocalPlayer(GetEntityCoords(playerPed), GetEntityHeading(playerPed), true, false)
    SetEntityInvincible(playerPed, false)
    ClearPedBloodDamage(playerPed)

    -- Screen-Effekt für Revive
    StartScreenEffect('DeathFailOut', 0, false)
    Wait(800)
    StopScreenEffect('DeathFailOut')
end

-- Respawn Funktion (wenn Spieler selbst respawnt)
function onRespawnCustom()
    local playerPed = PlayerPedId()

    -- Teleportiere zum Krankenhaus
    SetEntityCoords(playerPed, Config.HospitalCoords.xyz, true, false, false, false)
    SetEntityHeading(playerPed, Config.HospitalCoords.w)

    -- Vollständige Wiederbelebung
    NetworkResurrectLocalPlayer(Config.HospitalCoords.xyz, Config.HospitalCoords.w, true, false)
    TriggerEvent('esx_ambulancejob:revive')
    SetEntityInvincible(playerPed, false)
    ClearPedBloodDamage(playerPed)

    -- Setze Gesundheit
    SetEntityHealth(playerPed, Config.RespawnHealth)

    -- Optional: Geld abziehen für Respawn
    if Config.RespawnCost > 0 then
        TriggerServerEvent('snow_deathscreen:removeRespawnMoney')
    end

    -- Screen-Effekt für Respawn
    DoScreenFadeOut(800)
    Wait(1000)
    DoScreenFadeIn(800)

    -- Animations zurücksetzen
    ClearPedTasksImmediately(playerPed)
    ClearPedSecondaryTask(playerPed)
end

-- //Templates\\

-- PS_Dispatches

-- function onSendDistressCustom()
--    local jobReceiver = "ambulance"
--    local message = "Toter Spieler"

--     exports['ps-dispatch']:CustomAlert({
--        job = jobReceiver,
--        message = message,
--        type = 'death'
--    })
-- end

-- CD_Dispatches

-- function onSendDistressCustom()
--    local jobReceiver = "ambulance"
--    local message = "Toter Spieler"

--    exports["cd_dispatch"]:SendAlert(jobReceiver, message)
-- end

Last updated