[PAID] vsMedicSystem πŸš‘ [ESX & QBcore]

[PAID] vsMedicSystem :ambulance: [ESX & QBcore]

:ambulance: vsMedicSystem REWORK – Advanced Medical & Insurance System

The vsMedicSystem has been completely reworked and rebuilt from the ground up.

More control.
More configuration options.
More realism.

This system combines an intelligent NPC medic system with a fully integrated health insurance system β€” perfect for structured RP servers.


Showcase

Link to the Showcase Video


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
:hospital: NPC Medic System
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Players can request an NPC medic in emergencies:

β€’ Via keybind (Default: H)
β€’ Via command
β€’ With on-screen instructions
β€’ Including medic NPC & ambulance vehicle

The system automatically checks:

β€’ How many medics are online
β€’ Which insurance tier is active
β€’ What response time applies

The NPC spawns at a realistic distance and drives to the player.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
:credit_card: Integrated Health Insurance System
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

:small_blue_diamond: Basic
Slower response time
Lower cost
Ideal for new players

:small_blue_diamond: Default
Medium response time
Balanced pricing

:small_blue_diamond: Premium
Very fast response
Short revive duration
Perfect for active players

Insurance costs can be:

β€’ Fixed amounts
β€’ Percentage-based (calculated from salary)

Payments are automatically processed at configurable intervals.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
:shield: Combat Log Protection
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Optional system that:

β€’ Prevents respawn exploits
β€’ Keeps players in a dead state after reconnect
β€’ Ideal for serious RP environments

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
:gear: Fully Configurable
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

You can configure:

β€’ Framework (ESX / QBCore)
β€’ Language (DE / EN)
β€’ Keybind & command
β€’ NPC model
β€’ Vehicle model
β€’ Spawn distance
β€’ Revive event
β€’ Insurance intervals
β€’ Insurance costs
β€’ Required medics online
β€’ Arrival time
β€’ Revive duration
β€’ Draw position & color
β€’ Custom money removal logic
β€’ Custom progress bar

Everything runs through the config β€” no core edits required.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
:moneybag: Flexible Payment System
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Supports:

β€’ getMoney or getAccount
β€’ Custom money events
β€’ Custom remove money logic
β€’ Fully external payment handling

Perfect for servers with custom economy systems.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
:dart: Perfect For
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

β€’ RP servers
β€’ Hardcore RP
β€’ Economy-driven servers
β€’ Servers with structured EMS systems

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
:rocket: Conclusion
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

The vsMedicSystem Rework is not just an update β€”
it’s a complete redevelopment focused on:

:heavy_check_mark: Stability
:heavy_check_mark: Performance
:heavy_check_mark: Realism
:heavy_check_mark: Expandability

Config

Config = {}

-- ============================================
-- FRAMEWORK & LOCALE / FRAMEWORK & SPRACHE
-- ============================================
Config.Framework = 'esx'                    -- 'esx' or 'qbcore' / 'esx' oder 'qbcore'
Config.Locale = 'en'                        -- 'de' or 'en' / 'de' oder 'en'
Config.SalaryFallback = 500                 -- QBCore only: fallback salary for insurance % / Nur QBCore: Fallback-Gehalt fΓΌr Versicherungs-Prozent

-- ============================================
-- INTERACTION & MENU / INTERAKTION & MENÜ
-- ============================================
Config.Key = 38                             -- Key to interact (Default: E) / Taste zum Interagieren (Standard: E) -> https://docs.fivem.net/docs/game-references/controls/
Config.Align = 'top-left'                   -- Menu alignment / MenΓΌ-Ausrichtung

-- ============================================
-- HELP REQUEST / HILFE-ANFRAGE
-- ============================================
Config.HelpText = true                      -- Show player how to request help / Spieler anzeigen wie Hilfe angefordert wird
Config.HelpKey = 74                         -- Key to request medic (Default: H) / Taste fΓΌr Notarzt-Anfrage (Standard: H)
Config.HelpCommand = "requestmedic"        -- Command name for help request / Befehlsname fΓΌr Hilfe-Anfrage
Config.HelpNPC = "s_m_m_doctor_01"          -- NPC model for arriving medic / NPC-Modell fΓΌr ankommenden Notarzt -> https://docs.fivem.net/docs/game-references/ped-models/
Config.HelpVehicle = "ambulance"            -- Vehicle model for medic / Fahrzeug-Modell fΓΌr Notarzt
Config.SpawnRange = 100                     -- Distance from player where vehicle spawns / Distanz zum Spieler in der das Fahrzeug spawnt

-- ============================================
-- JOB & REVIVE / JOB & WIEDERBELEBUNG
-- ============================================
Config.JobName = 'ambulance'                -- Job name checked for medics online / Job-Name der auf genug Mediziner online geprΓΌft wird
Config.ReviveEvent = "esx_ambulancejob:revive"  -- Revive event to trigger / AuszulΓΆsendes Revive-Event

-- ============================================
-- NOTIFICATION / BENACHRICHTIGUNG
-- ============================================
Config.Message = function(txt)
    if Framework and Framework.ShowNotification then Framework.ShowNotification(txt) end
end

-- ============================================
-- MONEY SETTINGS / GELD-EINSTELLUNGEN
-- ============================================
Config.GetMoneyMethod = false               -- Use getMoney() instead of getAccount (recommended: false) / getMoney() statt getAccount nutzen (empfohlen: false)
Config.EnableCustomRemoveEvent = false      -- Use custom money removal / Eigene Geld-Abzug-Logik nutzen
Config.UseYourOwnMoneyEvent = false         -- If true, script does not remove money automatically / Wenn true, entfernt das Script kein Geld automatisch

Config.CustomMoneyEvent = function(xPlayer, money)
    -- Custom money removal / Eigener Geld-Abzug
end

-- ============================================
-- PROGRESS BAR / FORTSCHRITTSANZEIGE
-- ============================================
Config.EnableCustom = false                 -- Use custom progress bar / Eigene Fortschrittsanzeige nutzen
Config.CustomProgressBar = function(duration)
    -- Custom progress bar (duration in ms) / Eigene Fortschrittsanzeige (Dauer in ms)
end

-- ============================================
-- DRAW / DISPLAY SETTINGS / ANZEIGE-EINSTELLUNGEN
-- ============================================
Config.EnableDraw = true                    -- Show on-screen text; if false: one-time notification / Text auf dem Bildschirm; bei false: einmalige Benachrichtigung
Config.DrawColor = {r = 255, g = 0, b = 0, a = 255}  -- Text color (RGBA) / Textfarbe (RGBA)
Config.DrawSize = 0.3                       -- Text size / Textgrâße
Config.DrawX = 0.4                          -- Text position X axis / Text-Position X-Achse
Config.DrawY = 0.005                        -- Text position Y axis / Text-Position Y-Achse

-- ============================================
-- MEDICAL INSURANCE (GENERAL) / KRANKENVERSICHERUNG (ALLGEMEIN)
-- ============================================
Config.MedicalInsurance = true              -- Enable health insurance system / Krankenversicherungs-System aktivieren
Config.CombatLogSystem = true               -- If false: players can spawn dead after reconnect (see vsRefundSystem) / Bei false: Spieler kΓΆnnen tot nach Reconnect spawnen
Config.PayIntervall = 15                    -- Insurance payment interval (minutes) / Versicherungs-Zahlungsintervall (Minuten)
Config.MedicalInsuranceNPC = "s_m_m_doctor_01"  -- NPC model at insurance location / NPC-Modell am Versicherungs-Standort
Config.MedicalInsuranceLocation = vector4(307.7221, -1433.4835, 29.9655, 137.9689)  -- NPC coords (x, y, z, heading) / NPC-Koordinaten
Config.FillInsuranceText = 32              -- 3D text background width / Breite des 3D-Text-Hintergrunds

-- ============================================
-- INSURANCE TIER: BASIC / VERSICHERUNGS-STUFE: BASIS
-- ============================================
-- Percentage: calculated on salary at join; updates on next rejoin if job changed / Prozent: wird beim Join auf Gehalt berechnet; aktualisiert sich bei erneutem Join
Config.MedicalInsuranceBasic = "fixed"     -- 'fixed' or 'percentage' / 'fixed' oder 'percentage'
Config.MedicalInsuranceBasicCost = 100      -- Fixed amount or % (e.g. 10 = 10%) / Fester Betrag oder % (z.B. 10 = 10%)
Config.RequiredMedicsBasic = 0              -- Max medics online for NPC to come (0 = only when no medic online) / Max. Mediziner online damit NPC kommt (0 = nur wenn kein Mediziner online)
Config.MedicDurationBasic = 180             -- Time until medic arrives (seconds) / Zeit bis Notarzt eintrifft (Sekunden)
Config.ReviveDurationBasic = 45             -- Revive duration (seconds) / Wiederbelebungs-Dauer (Sekunden)

-- ============================================
-- INSURANCE TIER: DEFAULT / VERSICHERUNGS-STUFE: STANDARD
-- ============================================
Config.MedicalInsuranceDefault = "fixed"
Config.MedicalInsuranceDefaultCost = 250
Config.RequiredMedicsDefault = 1
Config.MedicDurationDefault = 120
Config.ReviveDurationDefault = 30

-- ============================================
-- INSURANCE TIER: PREMIUM / VERSICHERUNGS-STUFE: PREMIUM
-- ============================================
Config.MedicalInsurancePremium = "fixed"
Config.MedicalInsurancePremiumCost = 500
Config.RequiredMedicsPremium = 2
Config.MedicDurationPremium = 60
Config.ReviveDurationPremium = 15

-- ============================================
-- WITHOUT INSURANCE (Config.MedicalInsurance = false) / OHNE VERSICHERUNG
-- ============================================
Config.MedicCost = 1000                     -- One-time cost for treatment / Einmalige Kosten fΓΌr Behandlung
Config.RequiredMedics = 1                   -- Max medics online for NPC to come / Max. Mediziner online damit NPC kommt
Config.MedicDuration = 120                  -- Time until medic arrives (seconds) / Zeit bis Notarzt eintrifft (Sekunden)
Config.ReviveDuration = 60                  -- Revive duration (seconds) / Wiederbelebungs-Dauer (Sekunden)


Optimization

  • IDLE: 0.00ms

  • RUNNING: 0.00ms

Further Information

SHOP: vsMedicSystem

This resource is using the FiveM Asset Escrow system

Code is accessible No
Subscription-based No
Lines (approximately) 1000
Requirements ESX & ESX_Ambulancejob
Support Yes
54 Likes