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)
-- endLast updated