Browse docs

Changelog

Full change history for Sky Ambulance Job.
Latest

Version 2.15.0

Requires sky_base 1.14.0 or newer andsky_jobs_base 1.15.0 or newer. The admin permission system has been replaced — sky_base must be updated and the three bootstrap ACEs must be added to your server.cfg (see sky_base 1.14.0 changelog), otherwise /revive, /setboss, /hospitalcreator, and every other admin command will deny everyone except the server console.

Highlights

  • New admin permission system/revive, /stopdeathtimeout, /removemobilityaid, /kill, /refunds, /hospitalcreator, and /hospitalbeds are now resolved through FiveM ACE, auto-wired from Config.CommandPermissions at server start. Config.Functions.HasCommandPermission(source, commandName) is preserved as a thin wrapper, so the public export signature is unchanged — only the internal lookup switches to IsPlayerAceAllowed. /hospitalcreator is registered through Sky_Jobs.RegisterCreator with the new unified permission parameter. Fixes admin commands silently denying admins on QBox after qbx_core:HasPermission was deprecated in qbx_core v1.8.0.
  • Skin framework adapter for outfit save / restore — new internal SkinAdapter module routes outfit save and apply operations through whichever skin framework is active on your server (rcore_clothing, illenium-appearance, skinchanger, or native ped variations as fallback). Fixes players respawning as the GTA default story character (Michael) on rcore_clothing servers, and eliminates CPed::SetVariation: Invalid variation errors when medics cut clothes for treatment. Hair color, head blend, and tattoos are now correctly reapplied from the saved profile after respawn.
  • Stretcher robustness pass — patients now reliably stay attached to the stretcher across the folded-model swap (added in 2.13.0), instead of detaching mid-swap or getting stuck inside the vehicle. The detach/reattach flow uses robust entity handle retrieval to avoid race conditions where the network ID is known but the local entity isn't yet streamed in, preserves entity state (visibility, frozen, collision) across the model swap, and prevents physics glitches during vehicle unloading.

Notable Changes

  • Fixed transient knockouts (taser, fists, etc.) persisting as a permanent "dead" state when the player disconnected while knocked out. The client now explicitly classifies unconsciousness reasons (knockout, unconscious, death) and the server treats knockout as transient — only real medical unconsciousness and death are persisted.
  • Medical unconsciousness (low blood volume / BP) now correctly triggers the death screen on the client via a new dedicated event, so the deathscreen state stays in sync with the server-side persistence.
  • Fixed permanent blackscreen after a revive or reconnect — the revive flow no longer issues a DoScreenFadeOut that gets stuck before its matching fade-in.
  • Fixed the stretcher deploy radial action disappearing after parking a vehicle out from the garage. The trunk context is now auto-hydrated on demand, so the action remains available regardless of how the vehicle entered the world.
  • Auto-carry after stretcher detachment is disabled — the medic now stays free-hands after pulling a patient off the stretcher, instead of having the patient force-attached to the medic's arms.

Other Changes

  • Added Swedish (se) translation.
  • Removed the debug-only commands /testrank and /testpatientdebug. These were only registered when Sky.IsDebugActive and are not used by production setups.

Version 2.14.0

Before updating, make sure sky_base and sky_jobs_base are up to date.

Highlights

  • Custom Medications API — new Config.CustomMedications table for declaring inventory items that combine declarative effects (pain, bleeding, heal, effect, stopBleeding, pauseBleedingSeconds, …) with optional client and server callbacks. Three behaviour modes: medication (one-shot consumable), infusion (timed server-driven drip), custom (pure callback hook for things like defibrillators or non-standard revives). Optional medic-only gating and automatic nearest-player targeting. Full reference and recipes: Custom Medications.
  • Per-model death animation overrides — new Config.Death.Models (per-model overrides, keyed by model name or hash) and Config.Death.Animal (fallback for non-human peds). Stops the human death pose from being applied to animal/non-human peds, which previously made them clip through the map and go invisible.
  • Bleedout timer resume on reconnect — players who log out dead and reconnect now resume the bleedout timer from where it left off instead of getting a fresh full timer. New Config.DeathScreen.ResumeBleedOutOnReconnect (default true) and Config.DeathScreen.AutoRespawnOnExpiredReconnect (default true) — the latter auto-respawns on reconnect when the timer already expired during disconnect, respecting the existing preventAutoRespawn / preventReviveOnExpiry rules. Alive players also no longer leave behind a stale dead state in the database when they disconnect.

Notable Changes

  • Fixed players coming back wearing the framework default skin after logging out dead and reconnecting — the clothing they died in is now restored correctly, and async skin reloads from esx_skin / qb-clothing / illenium-appearance can no longer overwrite it.
  • Fixed players occasionally relogging into roughly 50 % HP when the framework raised their max HP after spawn.
  • Fixed female peds being stuck at 175 max HP after a skin reload.
  • Fixed a crash on knockout wakeup, and a follow-up crash when applying blood pressure medication to a conscious patient.
  • Fixed the carry radial mode and distance settings silently doing nothing.
  • Fixed the stretcher prop physics-glitching when attached inside a vehicle (covers both the deployed and the new folded model).
  • Fixed treatment animations getting out of sync when a medic chained rapid retries.
  • Tightened diagnose targeting — conscious patients that aren't registered as active can no longer be diagnosed unless diagnoseAllowConscious is explicitly set.
  • Fixed multi-character setups occasionally applying death or injury state to the preview ped shown before final character selection.

Other Changes

  • Stretcher editor now previews the folded prop in the in-vehicle preview when Config.Stretcher.folded.enabled is on and a folded model is configured, so Config.Stretcher.vehicleAttach can be tuned against the variant the stretcher actually has while loaded.
  • General code-quality and stability cleanup across the billing, job access, and several server modules. No behaviour change.

Version 2.13.0

Before updating, make sure sky_base and sky_jobs_base are up to date.

Highlights

  • Per-bed respawn blacklist — added an allow_respawn flag to hospital beds so admins can exclude specific beds from the death respawn pool and the AI medic revive-in-bed selection (e.g. restricted hospital areas). Toggle lives in the Hospital Bed Creator UI; the list view shows a "No Respawn" badge for blacklisted beds. Defaults to allowed, so existing beds keep their current behaviour after the auto-migration.
  • Configurable hospital bed lie-down and get-up animations — new Config.HospitalBeds.bedAnimation and Config.HospitalBeds.getupAnimation. Both nil by default (no behaviour change for existing servers — falls back to the legacy lying-dead pose and snap-up exit). The get-up animation only plays on voluntary exits (interact key); forced exits (damage, bed deleted, walked too far, resource stop) skip it so a stand-up never plays while the player is dead or teleporting. Invalid clips fall back safely with a console warning.
  • Optional folded stretcher prop while loaded in a vehicle — new Config.Stretcher.folded swaps the deployed stretcher prop to a folded variant while attached inside a vehicle and swaps back when carried or placed. Community add-on with no official support — bring your own folded prop (.ytyp / .ydr stream) and reference its model name. Disabled by default; an empty model keeps the feature off even if enabled = true.

Notable Changes

  • Fixed knockout wakeup healing the player — bleeding, pain, and wound state are now preserved across knockouts. Real revives still reset to a healthy baseline as before.
  • Fixed death and injury state being lost or reset after disconnect, server restart, or knockout. injury_data is now only cleared on explicit revives, not on every alive-read on player load.
  • Adding new Config.Interactions[*].onSpawn callbacks no longer requires manual hook registration — works through the config entry alone (uses the new sky_jobs_base:creator:pedSpawned event from sky_jobs_base 1.13.0).

Other Changes

  • No additional changes.

Version 2.12.0

Highlights

  • New Config.DeathScreen.AiMedic.allowFatalWounds and Config.DeathScreen.EarlyRespawn.allowFatalWounds (default false) — when enabled, AI medic and the early-respawn button can bypass otherwise unreviveable injuries (head-shots, explosions). Live-medic, body-bag, and stretcher flows stay strict.
  • New Config.SelfDiagnose.keybind (default "F6") — players can now open the self-diagnose UI via a rebindable FiveM keybind in addition to the existing /selfdiagnose chat command.
  • Hospital ox_target marker labels (doctor NPC, body bag drop-off, X-ray station, insurance terminal) and the diagnose / billing player targets now work under both ox_target and qb-target — follows the new Config.target selector introduced in sky_base 1.11.0.

Notable Changes

  • Breaking: Config.PublicTreatment.key (numeric, default 38) replaced by Config.PublicTreatment.keybind (string, default "E") — each player can now rebind the public-treatment interaction via FiveM Settings → Keybindings. Servers that customized the old numeric key must migrate.
  • Fixed /revive zeroing the player's body armour — armour is now snapshot before the resurrect and restored afterwards.
  • Fixed hospital interaction markers showing humanized fallbacks ("Npc Doctor", "Insurance Terminal") instead of the localized labels added in 2.11.1.
  • Fixed Config.Interactions[*].onSpawn callbacks not firing for hospital creator NPCs (requires sky_jobs_base 1.12.0+).
  • Added missing insurance.renewButton translation in all 9 locales for the active-provider card.
  • Added missing conditions / reports save button translations outside English.
  • Filled in missing Finnish translations: revive-blocked notifications, deathscreen medic-nearby prompt, and self-diagnose billing label.

Other Changes

  • No additional changes.

Version 2.11.1

Highlights

  • Healing items (bandage, firstaid, medkit) can now stop or pause bleeding on all open wounds via new optional stopBleeding and pauseBleedingSeconds fields on Config.HealingItems. Only applied when Config.ToggleFeatures.bleeding = true — otherwise the items keep working as pure HP heals.
  • Config.PrimaryColor is now honored by the in-game UI. Previously the hardcoded color was used regardless of the config value. The death timeout banner also follows the configured color now.
  • Hospital interaction labels (doctor NPC, body bag drop-off, X-ray station, insurance terminal, hospital position marker) are now localized via a new InteractionLabels entry in all 9 locales (CN, DE, EN, ES, FI, FR, NL, PL, RS).
  • Interaction NPCs now support optional scenario and onSpawn fields in Config.Interactions — NPCs can play a GTA scenario on spawn and run custom setup code (outfits, props, extra tasks).

Notable Changes

  • Fixed death respawn destination drifting away from the actual death location — respawn now resolves against where the player actually died, not the drifted corpse coords.
  • Fixed player model occasionally reverting to "Michael" after respawn when external skin handlers (esx_skin, qb-clothing, spawnmanager) lost the skin-record race.
  • Fixed invisible player (alpha 0) after bodybag revive in some cases.
  • Fixed crutch / wheelchair assignment getting stuck when a medic assigned an aid to an already-loaded player — the server recorded the assignment but the client never actually equipped it.
  • Hospital bed preview ped in the bed creator is now configurable via Config.HospitalBeds.creatorPedModel.
  • Rejected obviously invalid respawn coords (nil / zero) and added 1s debounce on concurrent revive triggers.

Other Changes

  • Hospital lookup now waits for station loading to finish, so players who die very early after join no longer fall back to fallback coords.
  • General server-side performance improvements.

Version 2.11.0

Highlights

  • Body armor now absorbs bleeding and pain — hits that drop GetPedArmour skip injury effects, so vests actually protect against gunshot bleeds. Headshots and leg shots bypass armor naturally and still bleed.
  • Knockout respawns now run through a distinct code path — players keep their items, the client-side revive flow runs correctly, and the server-side death snapshot is cleared.

Notable Changes

  • Fixed intermittent attempt to call a nil value (field 'getDeathInjuryFromHash') at resource start by hoisting the injury helpers into the Sky.Ambulance namespace and deferring gameEventTriggered registration until the resource is fully loaded.
  • Fixed deathscreen router guard blocking navigation to the hospital spawn route; hospital spawn state now initializes exactly once and prevents the hospital selector from opening multiple times.
  • Fixed dangling carry sessions on knockout wakeup — ResetCarryState now also runs on the knockout branch of deathscreen:respawned, so carried players wake up detached with no stuck carry animation.
  • Added Config.InjuryThresholds.respectArmor toggle controlling the new armor-absorption behaviour.

Other Changes

  • Deathscreen keyboard toggle hint is now only shown when Config.EnableKeyboard is enabled.

Version 2.10.0

Highlights

  • Injury data now persists across reconnects — original death cause, attacker info, weapon, bone zones, and fractures are fully restored from database instead of re-randomized.
  • Wheelchair timer now persists across reconnects (matching existing crutch pattern) with full cleanup on resource stop.
  • Death screen is now fully ESC-proof with multiple layers of protection (NUI capture-phase blocking, router guard, focus re-enforcement every frame, and SetFadeOutAfterDeath disabled).
  • Pain screen effects now use server-side pain level threshold instead of HP loss, fixing unreliable detection with high max health.

Notable Changes

  • AI medic now falls back to hospital spawn when no bed is available, and force-revives on entity-missing scenarios.
  • Duplicate revive triggers (knockout timer, deadline loop, AI medic force-revive) no longer fire simultaneously — reviveInProgress guard blocks concurrent calls.
  • Knockout respawn paths now route through triggerDeathscreenRespawn for correct hospital coords resolution.
  • Falling-death detection now uses ground proximity checks instead of IsPedFalling, and forces ragdoll physics for airborne deaths.
  • Player loading now waits for framework-specific spawn (ESX/QB/QBox) before restoring state or equipping mobility aids.
  • Database migrations must complete before player state is restored during connections and resource restarts.
  • Added 500ms debounce to status:refresh event in damage handler to prevent event pool overflow during rapid damage.
  • Radial menu actions now blocked when player is dead.
  • Self-medication usage now blocked inside vehicles.
  • Added configurable Config.PainEffects.minPainLevel threshold for pain screen effects.

Other Changes

  • Fixed LocalPlayer.state.isLoggedIn used in server-side code causing nil errors on QB/QBox.
  • Fixed wheelchair nil vehicle check.
  • Fixed pain class notification firing below minimum pain threshold.
  • Removed redundant manual entity freezing during death sequence.
  • Removed blood_pressure from suicide injury definition.
  • Added ForceCleanupWheelchair export for vehicle pull ejection scenarios.

Version 2.9.0

Highlights

  • Added auto database migration (Config.AutoExecuteQuery) — missing tables and columns are created automatically on resource start.
  • Added configurable force-revive when AI medic can't reach a downed player (stuck, drive timeout, or mission timeout).
  • Crutch timer and death timeout now persist across reconnects via database storage.
  • Added fuelType config option for ambulance vehicle catalog entries (uses sky_base fuel bridge).

Notable Changes

  • Death screen UI now uses a handshake between Vue app and client to ensure NUI is fully mounted before sending payloads.
  • Resource initialization now waits for database migrations to complete before broadcasting beds, registering jobs, and loading stretcher overrides.
  • Migration logic now uses centralized Sky.DB.Migrate() from sky_base.
  • VIP vehicle protection now limited to automobiles only — helicopters, planes, and bikes no longer block fatal damage.
  • Players ejected from non-automobiles or destroyed vehicles now fall to the ground before death animation plays instead of floating.
  • Refund identifier resolution now handles varied formats and prefixes (e.g. charX:).
  • Added dedicated "suicide" death cause for forced kills.
  • Refund list callback now uses batched item lookups to eliminate N+1 query pattern.
  • removeItems config now supports boolean toggles in addition to table definitions.
  • Revive exports now accept both string reason and structured context table payloads.

Other Changes

  • Fixed flexbox constraints and overflow issues across management views for consistent scrolling.
  • Removed blood_pressure condition from drowning and thirst death injuries.
  • Reordered resource dependencies in fxmanifest to load sky_jobs_base before sky_base.
  • Added safety-net re-broadcast of death state to handle edge cases where the initial frame is missed.
  • Added debug logging throughout death snapshot and item stripping flow.

Version 2.8.0

Highlights

  • New NUI bleeding screen overlay with procedurally generated veins, pulsing, and intensity driven by bleed level and blood volume.
  • Self-diagnose feature: medics can open diagnose UI on themselves via /selfdiagnose or radial menu.
  • AI medic override hook (Config.Functions.onAiMedicRequest) for external dispatch interception/blocking.
  • Death injury profiles reworked with granular bleeding, pain, and vitals per cause.

Notable Changes

  • Configurable vehicle damage modifier for occupants (Config.VehicleDamageModifier).
  • AI medic now adds configurable extra seconds to bleedout timer when requested.
  • AI medic wait timer: button becomes available only after configurable delay.
  • AI medic button now shows clear status messages when disabled.
  • Revive exports now accept both string reason and structured context table payloads.
  • New client exports: setAiMedicState, getAiMedicState, isAiMedicActive.
  • New exports for death-timeout management (stop, override, query remaining duration).
  • New bleeding blacklist for specific weapons (stungun, raypistol).
  • Added Config.LiveWoundBleedingClass to set initial bleeding intensity per damage cause.
  • Fractures for conscious players via Config.LiveDamageFractures with per-zone chances.
  • New stretcher treatment animation config for treating on-stretcher patients.
  • Stretcher workflow refined with automated carry-to-stretcher transitions and cleanup.
  • Localized fatal death state title/subtitle across all 9 languages.

Other Changes

  • 3-second grace period after revival to prevent death screen retrigger from sync delay.
  • Blade weapon classification list separated from blunt trauma.
  • Fire damage no longer misclassified as gunshot.
  • Knockout no longer triggers if lethal weapon damage occurred within 15s before fist KO.
  • Dead players no longer take damage or ragdoll while dead.
  • Death protections now reset correctly on revive to avoid redeath loops.
  • /kill now triggers proper death state instead of knockout, with admin permission support.
  • Existing injuries are preserved when patient profile is re-registered.
  • Diagnose UI now closes for all observing medics when patient is revived.
  • Diagnose camera now uses correct overhead view for stretcher patients.
  • Fixed paid respawn taking money but not reviving.
  • Fixed AI medic nil crash when clicking respawn with AI medic disabled.
  • Fixed hospital respawn teleporting to death position instead of hospital.
  • Fixed respawn failure after payment caused by AI medic cancel crash.
  • Fixed duplicate hospital blips when sky_jobs_base is running.
  • Hospital blip now uses sprite 61 instead of 280.
  • Dead-on-reconnect now waits for framework spawn before applying death state.
  • NUI bleeding overlay now sends messages only when state actually changes.
  • Added locale strings for self-diagnose and blade weapon classification.
  • Split client modules into focused files (knockout, vehicle impact, healing, fractures).

Version 2.7.0

Highlights

  • Server-side job check and range validation on stretcher/bodybag events to prevent exploit abuse.
  • Added onBeforeDeath hook export to allow external scripts to block death screen.
  • Added Vehicle Impact Protection with configurable low-speed death thresholds.
  • Player clothing preserved/restored across revive and respawn.

Notable Changes

  • Entity revalidation before all AttachEntityToEntity calls with bone fallback and 5-second load timeouts.
  • Nil guards on all joaat() calls to prevent config-related errors.
  • Added preventAutoRespawn config to unconditionally block auto-respawn on bleedout.
  • Added server-side stretcher module with respawn:hospital ActionHook.
  • Bodybag/carry animations and attachments are now fully configurable.
  • Trunk stretcher refactored for better vehicle detection and attachment.
  • Vehicle pull now works on dead players in vehicles.
  • Vehicle pull sync now server-authoritative.
  • Added detailed Doctor NPC revive failure messages.
  • Unconscious voice mode now supports none, listen (default), full.

Other Changes

  • Deathscreen NUI callback wrapped in pcall to prevent "Failed to fetch" errors.
  • Startup detection/warnings for conflicting medical resources.
  • Fixed players stuck unrevivable after bleedout until restart.
  • Fixed paid hospital respawn taking money without reviving.
  • Female peds now use 200 max health instead of GTA default 175.
  • breakWindow now triggers only on vehicle entity owner.
  • Helicopters now use separate stretcher pickup/interact distances.
  • Fixed AI medic drive-task retarget loop; now retargets only when player moves >30 units.
  • Fixed early respawn not cancelling AI medic.
  • AI medic payment now supports fallback to secondary account.
  • Added Save buttons to Reports and Conditions apps.
  • Fixed Conditions app not closing after tablet disappears.
  • Fixed draft-state leak between Reports and Conditions.
  • Fixed patient card stretching to full height with single entry.
  • Reduced frequency of background status-effect loops for performance.
  • Player name lookups now use PlayerCache.
  • Added Finnish translation.
  • Added locale keys for revive failure reasons across all languages.

Version 2.6.0

Highlights

  • Added ActionHooks event system with onAction export for carry, crutch, death, hospital, wheelchair, x-ray, stretcher, billing.
  • Added insurance copay calculation export for external billing integrations.
  • Added ox_target support for direct diagnosis, billing, and tablet access.

Notable Changes

  • Added billing enabled toggle.
  • Stretcher editor improved with dynamic camera scale/FOV by vehicle dimensions.
  • Added helicopter-specific preview logic in stretcher editor.
  • Deathscreen now uses ticketed closure to avoid UI persistence after spawn.
  • Server now closes diagnosis UI if patient disconnects.
  • Re-enabled bleeding, pain, fractures, and bed respawning by default.

Other Changes

  • Diagnose animations now support scenario and dict/clip alternatives.
  • Fixed helicopter trunk stretcher coordinates.
  • Refined body-point interaction coordinates and camera positioning.
  • Improved billing/action button UI styling.
  • Added Chinese locale keys for new features.

Version 2.5.0

Highlights

  • Critically low hunger/thirst now blocks health regeneration and blood-based healing.
  • Added optional revive expiration that permanently blocks recovery after bleedout.
  • Auto-respawn blocked when medic is within configurable radius.
  • Billing overlay integrated into diagnosis view.

Notable Changes

  • Knockout auto-respawn logic refined with immediate deadline revive and fallback scheduling.
  • Dead medics are now excluded from online medic count.
  • Patient state (carry, stretcher, bed, body bag) now fully cleared on revive/admin heal.
  • Insurance can now be renewed by selecting same provider.
  • Improved death-state persistence across reconnect/resource restart.
  • Job/duty checks now include ready state.
  • Table component now has sticky headers and configurable row limits.

Other Changes

  • Fixed possible deathscreen lock when knockout deadline elapsed.
  • Disabled G-key interactions while on death screen.
  • Improved TxAdmin heal payload parsing.
  • Patients are detached from stretcher before carry.
  • Locale sync now includes retry mechanism.
  • Improved player-name retrieval robustness.
  • Centralized server-side carry-state reset.
  • Added Chinese translation.

Version 2.4.0

Highlights

  • Diagnose and treatment animations are now configurable.
  • Revive checklist now covers low blood sugar, low oxygen, active bleeding, dehydration.
  • Added blood pressure medication as treatment step.
  • Knockout auto-respawn timer now dynamically adjusts by medic availability.

Notable Changes

  • Clothing now auto-restored after revival.
  • Players can no longer bill themselves.
  • Improved job-access state synchronization.
  • Late-registered jobs are now recognized regardless of start order.
  • Improved ventilation minigame pointer-event handling.
  • Server-side billing validation now checks target existence.

Other Changes

  • Hotbar now supports horizontal scrolling.
  • Fixed health calculation when GetEntityMaxHealth returns invalid values.
  • Fixed inverted self-check logic in billing target selection.
  • Updated README links and added suggestion board link.
  • Removed incorrect comment from German translation file.

Version 2.3.0

Highlights

  • Added Helicam feature.
  • Added panic and ping system.
  • Added major performance improvements.

Notable Changes

  • Improved dispatch notification.
  • Vehicle liveries and extras are now configurable in vehicle shop.

Other Changes

  • Added visible tablet prop animation while tablet is open.
  • Added additional fixes and improvements from detailed changelog.

Version 2.2.0

Highlights

  • Added prop system in vehicle trunk UI for medic prop placement and cleanup.
  • Reworked tablet chat app with cross-job chats and self-managed group chats.
  • Added option to respawn player in hospital bed.
  • Added option to revive player in hospital bed via NPC doctor.

Notable Changes

  • Added configurable command permissions.
  • Added /removemobilityaid [playerId].
  • Added automatic regeneration on knockout damage when knockout does not trigger.
  • Added self-heal HP items independent of bleeding system.
  • Added back grade change/bonus notifications.
  • Added confirmation modal on employee actions in boss menu.
  • Improved stretcher collision handling.

Other Changes

  • ESX heal command now clears pain/bleeding state.
  • Added Serbian translation.
  • Fixed mixed bodycam/dashcam views at long distances.
  • Fixed tablet video recordings.
  • Fixed and improved translations.
  • Fixed reports app stuck state on close.
  • Fixed society not receiving NPC doctor money when configured.
  • Fixed refund system item recording accuracy.
  • Fixed tablet map app performance.
  • Fixed tablet icon positioning on long text.
  • Fixed NPC spawning issues.
  • Fixed second-job radial actions (treat/stretcher).
  • Added Config.Functions.HasCommandPermission server function/export for centralized permission checks.

Version 2.1.0

Highlights

  • Added back off-duty job logic.
  • Added option to route NPC doctor spending into faction funds.

Notable Changes

  • Added config options to disable minigames.
  • Added option to disable blood pressure scenarios on conscious patients.

Other Changes

  • Fixed high blood pressure not healable with blood pressure medication.
  • Fixed occasional damage on player join.
  • Removed interaction at hospital blip position.

Version 2.0.0

Highlights

  • Added brand-new MDT tablet system as central in-game interface.
  • Added integrated tablet apps for dispatch, live map, team chat, reports, patient records, camera/gallery, and calendar.
  • Added multi-job support for running multiple medical factions in one system.
  • Added bodycam and dashcam support with recording capabilities.

Notable Changes

  • Added dispatch workflow in tablet for receiving, managing, and tracking calls.
  • Added live map app to view units, vehicles, and active dispatches.
  • Added separated job data flows so departments can keep independent vehicles, employees, and records.
  • Added automatic retention of the latest recording window.
  • Added gallery integration for saved recordings.
  • Added public forms system for player submissions (job applications, complaints).
  • Added tablet-side review flow for form submissions.
  • Added faction vehicle sellback management flow.

Other Changes

  • Refactored diagnose and treatment systems for higher stability and faster runtime behavior.
  • Fixed rare healing bugs in medical flow.
  • Added blood pressure medication to treatment options.
  • Reorganized configuration structure for cleaner and faster customization.
  • Introduced sky_jobs_base integration as the shared foundation for job systems.

Version 1.8.0

Highlights

  • Added major performance improvements.
  • Added radial option to pull unconscious patients out of vehicles with animation.
  • Added support for multiple vehicle and helicopter garages per hospital.

Notable Changes

  • Added /stopdeathtimeout [playerId] command.
  • Added Discord logs for revive command usage.
  • Added option to disable death timeout on knockout.
  • Added onReviveCommand hook.

Other Changes

  • Death timeout no longer triggers on revive command.
  • Added Polish translation.
  • Fixed member list scrolling in management dashboard.

Version 1.7.0

Highlights

  • Added death timeout system.
  • Hospital creator, bed, and stretcher override data now save to database instead of json.

Notable Changes

  • XRay, NPC doctor, and deathscreen now show character names instead of Steam names.
  • Added config support to define which vehicles include a stretcher.
  • Bodybag delivery no longer requires a stretcher; carrying is supported.
  • Added configurable knockout weapon list.
  • Renamed prop stretcher to sky_stretcher to avoid conflicts.

Other Changes

  • Added Dutch translation.
  • Fixed knockout bugs (missing deathscreen, missing post-revive damage lock).
  • Fixed broken diagnose locale keys such as open_wound.
  • Fixed deathscreen reset when pressing ESC.
  • Fixed dead-on-rejoin issue after AI medic treatment.
  • Fixed vehicle keys not removed after parking.
  • Fixed non-static NPC behavior in some cases.
  • Fixed pulse and glucose translation issues.
  • Fixed duty error on leave for QB and QBox.
  • Removed custom bandage clothing due to crashes on some servers.

Version 1.6.0

Highlights

  • Added Refund Menu.
  • Added support for loading item images from inventory into storage UIs.

Notable Changes

  • Players are now forced off duty when leaving the server.
  • Added optional salary payment intervals while on duty.

Other Changes

  • Fixed issue where players could close deathscreen with ESC.
  • Fixed buggy interaction points on multi-hospital setups.

Version 1.5.0

Highlights

  • Added major server-side performance improvements for larger servers.
  • Added configurable injury threshold for bleeding and pain so minor hits do not trigger it.

Notable Changes

  • Improved garage design.
  • Fixed boss-menu duty status on QB and QBox.
  • Fixed duty time counting and salary calculation on QB and QBox.

Other Changes

  • Added bonus notification when player receives bonus.
  • Removed debug print.

Version 1.4.0

Highlights

  • Added limited storage and locker capacities.
  • /revive can now be used without player id for self revive.
  • QB and QBox now use integrated duty systems.
  • Added configurable delay before requested AI paramedic arrives.

Notable Changes

  • Added storage transfer status responses.
  • Fixed wrong stretcher positions on some addon vehicles.
  • Fixed body bag not disappearing after revive.
  • Fixed billing issues.
  • Fixed boss-menu issues on QB.
  • Added related compatibility updates through base integration: qs-banking, ox_inventory CanCarryItem, QB/QBox duty integration, qs-inventory, jacksam inventory, quasar billing, jacksam billing.

Other Changes

  • Salaries can now be below 1000.
  • Fixed cloakroom translations.
  • Fixed insurance terminal NPC heading.
  • Fixed issues with NPC freeze state.
  • Fixed early wheelchair exit exploit.
  • Fixed NUI focus loss in diagnose view.

Version 1.3.1

Highlights

  • Added config option to set max on-duty medics allowed for AI paramedic usage.
  • AI paramedic can no longer be used on fatal injuries.

Notable Changes

  • Pain effects are now removed when using revive command.
  • Fixed QBcore issue where model changed to NPC on death.
  • Fixed female diagnose clothing config.
  • Fixed early-respawn no-medics requirement option.

Other Changes

  • Added French translations.

Version 1.3.0

Highlights

  • Added Health Insurance system.

Notable Changes

  • Disabled bleeding and pain on fist fights, drowning, and vehicle crashes while seated.
  • Added configurable hunger/thirst visual effects with threshold.

Other Changes

  • Fixed occasional teleport on revival.
  • Fixed occasional vehicle ejection on revival.
  • Fixed translations.

Version 1.2.0

Highlights

  • Added Discord death logs.
  • Added vehicle access restrictions per vehicle and role via boss-menu permissions.

Notable Changes

  • Vehicle trunk doors now open while accessing trunk.
  • Revive now restores hunger and thirst to 100 instead of 50.

Other Changes

  • Fixed billing errors.

Version 1.1.2

Highlights

  • NPC doctor now also treats fractures, pain, and bleeding.
  • Callable AI medic now heals fractures.
  • /revive now heals fractures.

Notable Changes

  • Bleeding and pain no longer trigger in blocked dimensions (FFA, etc.).

Other Changes

  • Fixed doctor unavailable issue when self-healing at NPC doctor.
  • Fixed stretcher collision issue that could flip vehicles or props when occupied.

Version 1.1.1

Highlights

  • Fixed bugs from previous update.

Notable Changes

  • No additional notable changes documented.

Other Changes

  • No additional changes documented.

Version 1.1.0

Highlights

  • Added bleeding and pain system.
  • Added death and body bag system.

Notable Changes

  • Added optional public treatment mode so non-medics can diagnose/treat with rescue backpack.
  • Wound treatment and pain medication are now usable by all players.

Other Changes

  • Renamed item bandage to gauze to avoid conflicts.
  • Conscious players now heal fractionally for each treated open wound.