Aller au contenu

OSP Ambulance V2

Guide français de OSP Ambulance Job pour DayOne WL. Cette page reformule la documentation officielle et décrit uniquement le fonctionnement en jeu.

Les réglages, touches et objets peuvent différer selon la configuration du serveur. En cas d'écart, le comportement observé sur DayOne WL prévaut.

Documentation officielle OSP Ambulance Job{ .md-button }

Présentation

Démonstration

OSP Ambulance Job est un système médical FiveM qui gère les constantes vitales, les blessures localisées, les fractures, les traitements, les brancards et le suivi hospitalier.

Voir la vidéo de présentation officielle

Installation serveur

Cette partie concerne uniquement l'administration du serveur :

  1. Extraire la ressource dans le dossier des ressources du serveur.
  2. La démarrer dans server.cfg après toutes ses dépendances.
  3. Importer les objets nécessaires dans le framework ou l'inventaire.
  4. Régler en priorité config/general.lua.
  5. Réaliser les intégrations avancées dans les fichiers ouverts, par exemple client/client_open.lua.
  6. Consulter la FAQ avant d'ouvrir une demande d'assistance.

Commandes et touches

Commande Touche par défaut Fonction
/medicalsystem O Ouvre l'interface médicale.
/skelly K Affiche ou masque le schéma des blessures.
/editskelly Selon la version Déplace et redimensionne le schéma.
/911ems — Envoie une alerte aux EMS en service.
/clearsounds — Arrête les sons proches restés bloqués.
/woundeditor — Ouvre l'éditeur de blessures s'il est activé.

Commandes réservées à l'administration :

Commande Fonction
/ambulanceconfig Ouvre la configuration en jeu.
/kill [ID] Force la mort du joueur indiqué.
/revive [ID] Réanime le joueur indiqué.

Les joueurs peuvent modifier les raccourcis dans les paramètres FiveM.

Utilisation en jeu

Interface médicale

Ouvrez l'interface avec O. Pour examiner une personne proche, utilisez le bouton + à gauche du nom, puis sélectionnez le patient.

Constantes vitales

Indicateur Interprétation en jeu
Pouls De 0 à 250 BPM ; environ 80 BPM est considéré comme idéal.
Tension Valeurs systolique et diastolique ; la plage habituelle indiquée est de 90/60 à 130/80.
Saturation Une SpO2 de 95 à 100 % est considérée comme normale.
Température Affichée en degrés sur les moniteurs compatibles.
Douleur Évolue selon les blessures et les traitements.
Niveau de sang Diminue avec les hémorragies et remonte avec la stabilisation ou une perfusion adaptée.

États de réanimation

Quatre mécanismes existent selon la configuration :

  1. Dernier souffle : traiter toutes les plaies externes, suturer si nécessaire et administrer l'épinéphrine selon le protocole du serveur. Contrôler ensuite le sang, le pouls et la tension.
  2. RCP : pratiquer la réanimation cardio-pulmonaire sur un patient en asystolie. Selon les réglages, elle peut suffire ou devoir être associée au défibrillateur.
  3. Défibrillateur : connecter l'ECG, identifier le rythme et commencer avec une charge inférieure à 100 joules avant d'augmenter progressivement après un échec. Il peut être utile sur certains rythmes anormaux comme la fibrillation ventriculaire ou les torsades.
  4. Kit de réanimation : restaure immédiatement l'état du patient. Il constitue une solution de dernier recours, comparable à une réanimation administrative.

Certaines blessures sont déclarées non survivables. Dans ce cas, le corps peut uniquement être placé dans une housse mortuaire selon les règles RP du serveur.

Régénération

La santé, le sang et la douleur commencent à se normaliser lorsque le patient est stable :

  • pouls, tension et saturation dans des limites viables ;
  • aucune plaie encore ouverte ;
  • une plaie déjà emballée mais restant à suturer ne bloque pas nécessairement la régénération.

Brancard

  1. Utilisez l'objet stretcher pour faire apparaître le brancard.
  2. Interagissez avec lui par la cible ou l'interface textuelle pour le prendre.
  3. Appuyez sur E pour le poser.
Option Effet
Prendre Permet de déplacer le brancard, y compris avec un patient.
Patient dedans/dehors Installe le joueur proche ou retire le patient présent. À proximité d'un lit médical, le patient peut être transféré directement.
Plier Met le brancard à plat, notamment pour transporter une housse mortuaire.
Monter/descendre Ajuste la hauteur pour le RP.
RCP Permet la RCP lorsque le brancard est à plat.

Écrans de l'hôpital

Moniteurs de soins intensifs

Les écrans placés près des lits affichent les constantes du patient connecté :

  • vert : pouls et tracé ;
  • rouge : tension systolique et diastolique ;
  • bleu : saturation en oxygène ;
  • orange : température ;
  • partie basse : numéro du moniteur.

Écrans d'accueil

Les grands écrans de l'hôpital peuvent montrer le personnel en service et sa disponibilité, les patients annoncés en approche et leur heure estimée d'arrivée.

Un Code bleu se déclenche lorsqu'un moniteur détecte des constantes critiques. L'alerte indique le numéro du moniteur concerné. Sur place, interagissez avec ce moniteur pour arrêter l'alarme.

Matériel médical

Matériel Usage en jeu Précaution
Morphine Réduit fortement la douleur et ralentit le pouls. Stabiliser d'abord une tension basse. Risque de dépendance et de surdose.
Épinéphrine Augmente le pouls et réduit légèrement la douleur. Surveiller le pouls et la tension après administration.
Propofol Provoque une sédation rapide. Réservé aux situations et protocoles adaptés.
Narcan Neutralise une surdose d'opioïdes et peut interrompre une sédation compatible. Ne traite pas les blessures ou la perte de sang.
Sang Remonte progressivement le niveau de sang. Vérifier impérativement la compatibilité.
Solution saline Soutient le niveau de sang, en 250 ou 500 ml. Moins efficace qu'une poche de sang ; ne ferme pas une plaie.
Kit de suture Empêche une plaie traitée de se rouvrir. Emballer la plaie avant de suturer.
Garrot Stoppe temporairement une hémorragie sur un membre. Augmente la douleur et ne constitue pas un soin définitif.
Pansements Contrôlent les plaies selon leur type et leur efficacité configurée. Choisir le pansement adapté à la blessure.
Sac médical Inventaire médical portable posé dans le monde. Récupérer le matériel après intervention.
Pager Transmet des informations aux écrans de l'hôpital. Vérifier les informations avant l'envoi.
Kit de réanimation Restaure immédiatement un patient. Solution exceptionnelle.
Housse mortuaire Transporte un patient déclaré décédé. Le joueur ne peut plus en sortir avant réapparition ou reconnexion.

Système sanguin

Les poches de sang ne s'achètent pas : elles sont obtenues par les dons des joueurs.

Procédure de don

  1. Installer le donneur sur le fauteuil prévu.
  2. Prélever un échantillon.
  3. Analyser l'échantillon à la station dédiée.
  4. Enregistrer le groupe dans le dossier médical du donneur.
  5. Prélever les poches de sang total.
  6. Les ranger dans le réfrigérateur à sang.
  7. Contrôler régulièrement leur date d'expiration.

Compatibilité

Receveur Groupes compatibles
O- O-
O+ O-, O+
A- O-, A-
A+ O-, O+, A-, A+
B- O-, B-
B+ O-, O+, B-, B+
AB- O-, A-, B-, AB-
AB+ Tous les groupes

Une transfusion incompatible provoque une réaction ABO pouvant devenir mortelle dans le jeu. O- est donneur universel et AB+ receveur universel.

Radiographie et fractures

Une zone jaune foncé portant la mention Needs X-raying indique une fracture possible, même sans plaie externe. Posez une attelle adaptée pour limiter les troubles moteurs pendant le transport.

À l'hôpital :

  1. Installer le patient dans l'appareil de radiographie.
  2. Interagir avec le moniteur adjacent.
  3. Attendre le résultat dans l'interface médicale.
  4. Si l'os apparaît en rouge, traiter la fracture avec le plâtre approprié.

Schéma des blessures

/skelly ou K affiche une vue des zones blessées, accessible même sans l'interface médicale complète. Utilisez /editskelly pour déplacer le panneau et modifier sa taille, puis validez avec Entrée.

Ordonnances et maladies

Affection Symptômes Contagieuse Traitement courant
Infection respiratoire Toux et sons de toux Oui Sirop contre la toux
Douleur aiguë Douleur persistante Non Antalgique prescrit
Anxiété Hausse du stress Non Anxiolytique
Insomnie Vitesse de course réduite Non Mélatonine

Médicaments disponibles : paracétamol pour une douleur faible, tramadol pour une douleur modérée, Vicodin pour une douleur forte, Xanax contre l'anxiété et mélatonine contre l'insomnie.

Pour prescrire :

  1. Ouvrir l'onglet Traitement du patient.
  2. Choisir la procédure d'ordonnance et le médicament adapté.
  3. Contrôler les ordonnances actives dans l'onglet Dossier.
  4. Le patient récupère ensuite son traitement auprès du PNJ de pharmacie ; son assurance peut modifier le prix.

Dépendances et sevrage

Le tramadol, le Vicodin et la morphine peuvent provoquer une dépendance en cas d'utilisation répétée. Une consommation excessive peut entraîner une surdose mortelle.

Le sevrage peut réduire la vitesse de déplacement, provoquer des battements audibles, une perte de santé, des vomissements ou de la fièvre. Son intensité et sa durée dépendent de la substance et de la configuration.

Éditeur de blessures

Lorsqu'il est activé par l'administration, /woundeditor permet d'ajouter ou de retirer des blessures pour une scène RP, par exemple simuler une fracture à traiter. Cette fonction est désactivée par défaut.

Utilisation développeur

Cette section résume les points d'intégration. Les signatures pouvant changer avec les versions, vérifiez toujours la référence développeur officielle.

État médical du joueur

L'export suivant lit les données médicales d'un joueur :

local playerId = GetPlayerServerId(PlayerId())
local ambulanceData = exports.osp_ambulance:GetAmbulanceData(playerId)
local pulse = ambulanceData.Pulse

Pour enregistrer l'état du joueur local :

LocalPlayer.state:set('BodyDamage', ambulanceData, true)

Pour enregistrer l'état d'un autre joueur :

TriggerServerEvent('osp_ambulance:SaveDataSv', playerId, ambulanceData)

Champs courants de BodyDamage : isDead, inLastStand, Conscious, Pulse, BloodPressure, Temp, oxygenSaturation, cardiacState, Pain, bloodType, insurvivable, BodyPartDamage.Wounds, BodyPartDamage.Bleeding, BodyPartDamage.Fractures et BodyPartDamage.BloodLevel.

Événements et exports utiles

Événements client principaux :

Événement Déclenchement
osp_ambulance:OnPlayerDead Mort ou entrée en dernier souffle.
osp_ambulance:OnPlayerDeath Mort complète.
osp_ambulance:OnPlayerLastStand Changement de l'état de dernier souffle.
osp_ambulance:OnPlayerSpawn Réanimation ou sortie d'un état de mort.
osp_ambulance:addictionStateCl Apparition ou suppression d'une dépendance.
osp_ambulance:overdoseStartCl Début d'une surdose.
osp_ambulance:overdoseTreatedCl Traitement d'une surdose.

Exports client principaux :

  • GetAmbulanceData(playerId?) : lit BodyDamage ;
  • isDead() : indique si le joueur local est mort ou en dernier souffle ;
  • GetLocalAddictions() : retourne les dépendances locales ;
  • IsOverdosing() : indique si une surdose active n'est pas traitée ;
  • IsAddictiveDrugItem(itemName) : vérifie si un objet est addictif.

Le serveur expose aussi la lecture des données, l'enregistrement d'une substance addictive, le suivi d'une prise, la lecture ou la suppression des dépendances et l'état de surdose.

Vérifier si un joueur est mort

local isDead = exports.osp_ambulance:isDead()

L'export retourne true lorsque le joueur local est mort ou en dernier souffle.

Médicament personnalisé

Copiez une entrée existante du même type dans la configuration, puis adaptez-la. Une perfusion utilise notamment :

  • onUse() au moment de l'utilisation ;
  • onTick() chaque seconde pendant l'administration ;
  • onFinish() lorsque le produit est épuisé.

Ne mélangez pas les structures : une entrée de type bandage doit conserver la structure d'un pansement, et non celle d'une perfusion.

Intégration FFA ou paintball

Dans client_open.lua, la fonction disableAllSystems() permet de neutraliser les systèmes de mort OSP pendant une session externe. Faites-lui retourner true lorsque l'export de votre ressource FFA indique qu'une session est active.

Objets d'inventaire

OSP fournit des définitions distinctes pour l'ancien et le nouveau qb-inventory, ox_inventory et ESX. Les principaux identifiants sont :

  • soins : field_dressing, elastic_bandage, quick_clot, packing_bandage, sewing_kit, tourniquet ;
  • médicaments : epinephrine, morphine, propofol, narcan ;
  • perfusions : saline250ml, saline500ml, blood500ml_<groupe> ;
  • équipement : stretcher, wheelchair, crutch, bodybag, ecg, medical_bag ;
  • orthopédie : neckbrace, neckcast, legsplint, legcast, armsplint, armcast, castsaw ;
  • prescriptions : prescription, cough_syrup, paracetamol, tramadol, vicodin, xanax, melatonin.

Utilisez les blocs officiels correspondant exactement à votre inventaire plutôt que de convertir manuellement leur syntaxe.

Banque de société

Dans server_open.lua, recherchez les exports qb-management ou qb-banking, puis remplacez-les par l'export d'ajout d'argent de votre système bancaire. Conservez les arguments de société et de montant attendus.

Écran de mort personnalisé

  1. Définir Config.CustomDeathScreen = true.
  2. Déclencher l'ouverture de l'écran externe dans les emplacements prévus de client_open.lua.
  3. Déclencher sa fermeture lors de la réanimation.

FAQ

Erreur de syntaxe dans un fichier Lua verrouillé

  • Transférer l'archive ZIP, puis l'extraire directement sur le serveur.
  • Éviter le transfert fichier par fichier susceptible d'altérer les ressources protégées.
  • Utiliser des artifacts FiveM en version 4752 ou plus récente.

Problèmes entre joueurs ou avec l'interface médicale

  • Mettre à jour les artifacts FiveM.
  • Activer OneSync Infinity dans txAdmin : les state bags en dépendent.
  • Fournir les journaux client et serveur lors d'une demande d'assistance.

Le garage ne fait pas apparaître les véhicules

Chaque grade EMS doit posséder une entrée correspondante dans Config.AuthorizedVehicles. Ajoutez une entrée pour chaque grade supplémentaire et vérifiez les virgules Lua.

Problèmes d'inventaire ou de framework

Réglez Config.UsedInventory sur une chaîne vide pour l'inventaire par défaut, sur 'ox' pour ox_inventory ou sur 'qs' pour qs-inventory.

Avec Qbox, retirez les ressources médicales conflictuelles qbx_ambulance et qbx_medical. Si un téléphone ou un inventaire reste bloqué après une réanimation, utilisez osp_ambulance:OnPlayerDead et osp_ambulance:OnPlayerSpawn comme événements d'intégration.

Désactiver la chute lors d'une blessure

Dans la configuration de chaque blessure concernée, réduisez ou désactivez la probabilité causeStaggering. Cette valeur représente le pourcentage de chance de déclencher le ragdoll.


Synthèse française non officielle, basée sur la documentation publique OSP Development consultée le 21 septembre 2026. Pour les configurations et extraits complets à jour, utilisez la documentation officielle liée en haut de page.