CN Ambulance
Job EMS avec bridge ESX / QB / QBox, NUI, brancard, distress, facturation et anti combat-log. Fournit esx_ambulancejob.
Dépendances
- Obligatoires :
ox_lib,mysql-async(ou couche compatibleMySQL.Async). - Ciblage (selon
Config.Interaction) :qtarget,qb-target,ox_target, ou modenui. - Inventaire / systèmes : configurés dans
Config.Systems— ox_inventory, qb-inventory, qs, etc. - Optionnel : téléphone distress (ex. gksPhone),
wasabi_crutch,envi-prescriptions,AdvancedParking, carburant / clés véhicules selon config.
Installation
- Conserver le nom de dossier
cn-ambulance. - Dans
server.cfg:ensure ox_libpuisensure cn-ambulance. - Importer les items depuis
items.lua(tables ox_inventory / qb_core / qbox). - SQL optionnels dans
_install_first/sql/(audit factures, etc.) si vous activez les fonctionnalités correspondantes. - Tables mort complète / anti combat-log : créées ou décrites selon
config.lua.
Guide détaillé dans la ressource : install.md.
Configuration
Config.Framework—auto,esx,qb,qbox.Config.InteractionetConfig.Systems— inventory, fuel, vehicleKeys.- Timers :
Config.RespawnTimer,Config.BleedoutTimer, distress (Config.DistressControl, cooldown). - Facturation :
Config.Billing,Config.BillingRealism. - Compat QB hospital :
Config.QBHospitalAlert,Config.QBDoctorAlert,Config.QBGetDoctors. - Debug :
Config.Debugavec scopes (revive, death, stretcher, etc.).
Écrans de mort
L’expérience « mort / agonisant » repose sur la logique client (functions.lua, client.lua) et l’UI NUI (web/), avec timers configurables.
- Bleedout / respawn :
Config.BleedoutTimer,Config.RespawnTimer— définissent le délai avant respawn forcé et les options affichées. - Last stand / crawl :
Config.LastStand,Config.DisableLastStandCrawl. - Touches mort :
Config.EnabledKeys.dead— touches autorisées à l’écran (ex. distress). - Couleur UI :
Config.UIColor(thème interface mort / EMS). - Knockout :
Config.KnockoutFeatureet events associés (cn-ambulance:disableKnockoutLoop, etc.).
web/. Les notifications personnalisées sont documentées en commentaire dans client/client.lua (~ligne 96).
Exports & événements
Cette ressource s’intègre surtout via events et compatibilité hospital / esx_ambulancejob. Exemples côté client :
RegisterNetEvent('cn-ambulance:revive'),cn-ambulance:heal,cn-ambulance:notifyRegisterNetEvent('cn-ambulance:syncRequests')— dispatch demandes EMS- Événements brancard / drag patient :
cn-ambulance:placeOnStretcher,cn-ambulance:dragPatient* - Compat QB :
hospital:server:ambulanceAlert,hospital:server:SetDeathStatus, callbacks doctors
Côté serveur, prise en charge facturation, lit, inventaire ; exports tiers selon config (qb-management, inventaires, etc.).
State bags
La synchronisation de l’état « mort » avec le dispatch utilise une logique serveur/client cohérente avec les statebags Rockstar / OneSync (commentaires dans functions.lua / server.lua — évitement des courses entre setDeathStatus et distress).
Si vous étendez le script, préférez un seul flux serveur pour le statut mort et vérifiez les observateurs clients (timing statebag vs ped).
Personnalisations
- Notifications : remplacer les appels dans
client/client.luapar votre système. - Bridge :
bridge/client.lua,bridge/server.lua,bridge/shared.lua. - Strings :
strings.luapour i18n. - NUI menu métier :
client/nui_menu.lua+web/app.js.
Problèmes fréquents
- Double job ambulance : désinstallez
esx_ambulancejobsi vous utilisez le provide de cn-ambulance. - Target invisible : vérifiez
Config.Interactionet que la ressource target est démarrée avant. - Items manquants : copier depuis
items.luavers votre inventaire. - MySQL errors : vérifier que
mysql-asyncest bien chargé et les tables SQL optionnelles importées.