🆘REVIVE STATION

This documentation covers all configuration options available to server owners. The script automatically detects your framework (ESX, QBCore) and requires baseevents to function properly.

1) Overview

Risk Revive Station is a player-operated revival system featuring:

  • 💊 Pay-to-revive mechanics with customizable pricing

  • ⏱️ Two-tier revival system (fast/expensive or slow/cheap)

  • 👨‍⚕️ Doctor presence requirement (optional)

  • 📍 Multiple station locations (NPCs or markers)

  • 🎯 ox_target support for modern interactions

  • 📊 Discord webhook logging with full identifier tracking

  • 🌍 Multi-language support (easily expandable)

  • 🎨 Fully customizable UI and visuals


2) Basic Configuration

Framework Detection

Config.Framework = "auto"

Options: "auto", "esx", "qb" Recommended: Leave as "auto" for automatic detection

Language

Add custom languages in Config.Locales (see Section 11)

Payment Method

Options: "cash" or "bank" Effect: Determines which account is charged for revivals

Revive Radius

Maximum distance in meters for both:

  • Reviver must be within radius of station

  • Target (dead player) must be within radius of station

Examples:


3) Doctor Requirement System

How it works:

  • System counts online players with jobs listed in DoctorJobs

  • If count < MinimunDoctor, revive station is disabled

  • Players see error: "Too many doctors online" (counter-intuitive, needs locale fix)

Configuration examples:

No doctor requirement (always available):

Require at least 1 doctor offline:

Require multiple EMS jobs offline:

Best practice explanation: The current logic is inverted - it checks if doctors are below the minimum and allows revives when there are fewer doctors. This is typically used when you want the revive station to be a backup option when no EMS is available.


4) Pricing System

How it works:

  • Players choose between two revival options

  • low price = slower revival time

  • high price = faster revival time

  • Both options revive the player fully

Pricing strategies:

Budget-friendly server:

Balanced economy:

High-stakes server:

Discourage use (prefer EMS):


5) Revive Time System

Time is in milliseconds

How it works:

  • low time = longer wait, cheaper price

  • high time = shorter wait, higher price

  • Timer shows countdown in UI

  • Player is revived when timer reaches 0

Time conversion reference:

Configuration examples:

Quick revival (encourage use):

Slow revival (discourage use):

Instant revival (high tier only):


6) Revive Events Configuration

How it works:

  • When a player is revived, all events in this list are triggered

  • Ensures compatibility with various ambulance/hospital scripts

  • Add your server's custom revive events here

Common ambulance script events:

ESX Legacy:

QBCore:

Custom ambulance scripts:

⚠️ IMPORTANT: If your revive events don't work, check your ambulance script documentation for the correct event names.


7) Location System

Each location can be either a marker or NPC:

Location Types

NPC (Recommended):

  • Spawns a non-playable character

  • More immersive and visible

  • Better for ox_target integration

  • Players interact by pressing E or using ox_target

Marker:

  • Shows a 3D marker on the ground

  • Less immersive but uses fewer resources

  • Good for multiple locations

  • Players interact by standing in marker and pressing E

Adding New Locations

NPC Location:

Marker Location:

Pillbox Hospital:

Sandy Shores Medical Center:

Paleto Bay Clinic:

Common NPC Models

Marker Types

  • 1 — Cylinder (default)

  • 21 — Arrow pointing down (recommended)

  • 27 — Circle outline

  • 29 — Flat circle

Full Marker Listarrow-up-right


8) Blip Configuration

Blip customization:

  • sprite: Icon type — Blip Spritesarrow-up-right

  • color: Color ID (0-85)

  • scale: Size multiplier

  • name: Text displayed on map

  • visible: true = show blips, false = hide blips

Popular sprites:

Popular colors:

Examples:

Hospital theme (green):

Emergency theme (red):

Hide blips completely:


9) Notification System

To use default notifications:

To integrate other systems:

ox_lib:

mythic_notify:

t-notify:

QBCore native:


10) ox_target Integration

How it works:

  • When UseOxTarget = true, script uses ox_target for interactions

  • Recommended: Use type = "npc" for locations when using ox_target

  • Provides eye-targeting instead of proximity prompts

Enabling ox_target:

Popular icons:

⚠️ IMPORTANT:

  • ox_target must be installed and started

  • Works best with NPC stations (type = "npc")

  • Marker stations will use sphere zones (less precise)


11) Localization System

Adding Custom Language

In config.lua or separate locales file:

Spanish:

French:

Then set the language:


12) Discord Webhooks

What it logs:

  • Reviver name and server ID

  • Reviver Discord mention (if linked)

  • Target name and server ID

  • Target Discord mention (if linked)

  • Price paid

  • Timestamp

  • Full identifiers (license, steam, XBL, Discord, etc.) for both players

Setup Instructions

1. Create Discord webhook:

  • Open Discord server settings

  • Go to "Integrations" → "Webhooks"

  • Click "New Webhook"

  • Name it "Revive Station Logs"

  • Select channel (staff-only recommended)

  • Copy webhook URL

2. Configure webhook:

3. Customize appearance:

Color examples:

Use SpyColorarrow-up-right to convert HEX to decimal

Custom avatar:

Custom username:

To disable webhooks:


13) Complete Configuration Examples

Example 1: Free Revival (No EMS Required)

Example 2: Serious RP Server

Example 3: Balanced Public Server

Example 4: Economy Server (Discourage Use)


14) Troubleshooting

❌ "baseevents is not installed or started"

Cause: Required dependency missing or not started

Note: baseevents is pre-installed by default on every FiveM server. This error only appears if you accidentally deleted it or it's not being started.

Solution:

  1. Check server.cfg - Ensure this line exists:

  1. If baseevents is missing/deleted:

    Download RISK-SCRIPTS optimized version:

file-archive
2KB

❌ "No dead players nearby"

Possible causes:

  • Players not actually dead (just injured)

  • Outside Config.ReviveRadius

  • Death detection not working

Solution:

  • Increase Config.ReviveRadius

  • Verify baseevents is running

  • Check ambulance script compatibility

  • Ensure dead players are within radius of station

❌ "You don't have enough money"

Cause: Insufficient funds Solution:

  • Check Config.MoneyType (cash vs bank)

  • Lower Config.Prices

  • Give player money: /givemoney [id] 50000

❌ "Too many doctors online"

Cause: Misunderstanding of MinimunDoctor logic Solution:

  • Logic is inverted - it works when doctors < minimum

  • Set Config.MinimunDoctor = 0 to always allow

  • Or set to high number if you want it to work when doctors ARE online

Possible causes:

  • Too far from location

  • ox_target enabled but not installed

  • Dead yourself

Solution:

  • Stand very close to NPC/marker

  • If using ox_target, ensure it's started

  • Make sure you're not dead

  • Check console for errors (F8)

❌ Revive doesn't work

Possible causes:

  • Wrong revive events in Config.ReviveEvents

  • Ambulance script incompatibility

  • Player outside radius

Solution:

  • Check ambulance script documentation for correct event names

  • Add custom events to Config.ReviveEvents

  • Verify both players are within Config.ReviveRadius of station

  • Check server console for errors

❌ Discord webhooks not sending

Possible causes:

  • Invalid webhook URL

  • ConfigDC.enable = false

  • Webhook deleted from Discord

Solution:

  • Create new webhook

  • Copy full URL including token

  • Set ConfigDC.enable = true

  • Test with a revival

❌ NPC not spawning

Possible causes:

  • Wrong model name

  • Model not loaded

  • Coordinates incorrect

Solution:

  • Use correct ped model (check FiveM docsarrow-up-right)

  • Verify coordinates with /getcoords

  • Check console for model loading errors

❌ Blips not showing

Cause: Config.Blip.visible = false Solution:


15) Best Practices

Balance pricing with revival time — Faster revival = higher cost ✅ Use doctor requirement strategically — Set to 0 for always-available, or 1+ for backup-only ✅ Place stations strategically — Hospitals, clinics, not random locations ✅ Use NPCs for better visibility — More immersive than markers ✅ Enable webhooks for logging — Track usage patterns and potential abuse ✅ Test with ox_target — Better UX if you use it ✅ Keep revival radius reasonable — 5-10 meters recommended ✅ Add multiple locations — Cover different areas of the map ✅ Customize for your economy — Don't make too cheap or too expensive ✅ Require baseevents — Essential dependency, always ensure it

Last updated