About this script
A doctor for the hours when nobody is on duty.
Players bring unconscious or injured people to the emergency doctor, pick them from a patient list and pay for the treatment. The doctor turns to the patient, gets to work and brings the person back after a few seconds. The station only opens while few medics are on duty, so it never takes work away from your ambulance job.
Revive Station keeps roleplay going at night and on quiet days, without handing out free revives.
How it works
1. Carry or drag the person to the doctor.
2. Talk to the doctor and pick the patient from the list.
3. Choose cash or bank and pay.
4. The doctor treats the patient. Both get a confirmation with the remaining time.
Features
• Patient list with IC names: The server lists everyone at the station who needs help, with their character name, distance and condition. Unconscious and injured people are grouped, unharmed players are left out.
• Revive and wound care: Unconscious people get revived, injured people get their wounds treated. Each treatment has its own price and duration. Injured players can also treat themselves.
• Self revive at the station: A downed player lying next to the station can call the doctor with a key. The price is taken from bank or cash, in the order you set.
• Never replaces your medics: The station closes as soon as a set number of medics is on duty. Medics on duty can not use it themselves. The medic jobs are set in the config.
• Confirmation with the remaining time: Payer and patient get a confirmation that stays on screen while the doctor works, plus a progress bar. A second message follows once the treatment is done.
• Automatic refunds: If the patient is carried away, revived by someone else or disconnects during the treatment, the payer gets the money back.
• One patient at a time: Every doctor treats one person at a time. Patients in treatment are marked in the list. Cooldowns per payer and per patient stop abuse.
• Health insurance item: Players carrying the insurance item pay less. Item name and discount are set in the config.
• Aftercare items: Hand out items like bandages after a revive or a wound treatment. Items that do not fit into the inventory are skipped.
• Income for your medics: Payments can go to a society account, for example the ambulance job, or leave the economy completely.
• Visible doctor: Each station has its own doctor ped with a scenario. During a treatment the doctor turns to the patient and works on them, visible for every player nearby.
• Discord log: Every treatment with payer, patient, price, account and station.
• Own interface: A custom NUI in the Goliath design. English and German included, every text editable.
Compatibility
• Framework, inventory, interaction and ambulance job are detected automatically on start.
• Frameworks: ESX Legacy, QBCore, Qbox, custom bridge
• Inventories: ox_inventory, qb-inventory, ps-inventory, lj-inventory, qs-inventory, codem-inventory, tgiann-inventory, origen_inventory, core_inventory, ak47_inventory, jaksam_inventory, chezza_inventory, ESX default inventory, custom bridge
• Ambulance jobs: esx_ambulancejob, qb-ambulancejob, qbx_medical, wasabi_ambulance v1 and v2, ars_ambulancejob, p_ambulancejob, osp_ambulance, ak47_ambulancejob, brutal_ambulancejob, or standalone without an ambulance job
• Interaction: ox_target, qb-target or TextUI with a key
• Requires: ox_lib and OneSync
• Database: none needed, nothing to import
Security
• The NUI only sends what the player wants. Every rule is checked on the server.
• The payer must stand at the doctor and the patient must lie at the station.
• Whether someone is down is read from the ambulance job, the framework and state bags, never from the client.
• Only patients the server offered to the player can be treated.
• The server takes the money, waits for the treatment time itself and checks everything again before the revive.
• Double clicks are locked. Revive and heal events only go from the server to the patient.
Performance
• No database. Away from a station the script only checks every 2.5 seconds.
• The medic count is cached. Close to a station the check runs twice per second, the key prompt only while a player is down there.
• Doctor peds only spawn when a player is near.
Configuration
• Any number of stations with label, doctor name, ped, scenario and map blip
• Prices and durations for revive and wound care
• Health threshold that counts as injured
• Accounts players can pay with
• Society account or money sink
• Medic jobs and the number of medics that closes the station
• Insurance item and discount
• Aftercare items for revive and wound care
• Self revive with distance, key and accounts
• Cooldowns per payer and per patient
• Distance to the doctor and radius around the station
• Hooks for developers: CanUse, PaySociety, OnLog and your own notifications and progress bar in the editable files. Exports: Open and Close (client), IsOpen, GetMedicsOnDuty and IsDown (server). Server event goliath_revive:treated after every treatment.
Installation
1. Put goliath_revive into your resources folder.
2. Add "ensure goliath_revive" to your server.cfg after your framework, inventory, ambulance job and ox_lib.
3. Set your stations, prices and the medic rule in config.lua.
4. Optional: create the insurance item on your server or set Config.Insurance to false.
Open Source edition
The complete source code, nothing encrypted: server, client and the full NUI. An Escrow edition with the protected core is available in the Escrow category.
Support
Questions? The Goliath Scripts support on Discord helps you out. Join the Discord




