Comandos#
Medical Creator registra algunos comandos de chat. Algunos dependen de tu framework, porque vienen de su puente.
Comando | Quién | Descripción |
|---|---|---|
| Administradores, | Abre el creador de hospitales. |
| EMS en servicio | Abre el menú EMS. Asignado a F5 por defecto ( |
| Administradores | Reanima a un jugador, o a ti mismo sin id. Se registra en el webhook |
| Administradores, | Muestra en la consola del servidor las camas libres, ocupadas y reservadas. Necesita |
| EMS — ESX | Te cura por completo. |
| EMS — QBCore / Qbox | Te cura por completo. Se registra en el webhook |
| Administradores — QBCore / Qbox | Cura por completo a un jugador, o a ti mismo. Se registra. |
| Administradores — QBCore / Qbox | Derriba a un jugador, o a ti mismo — útil para pruebas. |
[id] es el id de servidor del jugador. Los administradores son ESX admin / superadmin, o QBCore god / admin / ace command. El botón Heal de txAdmin también reanima a través de Medical Creator.
Con
Config.Debug = true— el valor que viene por defecto — se registran comandos de prueba adicionales para la configuración. Establécelo enfalseen un servidor en producción para que los jugadores no puedan usarlos.
Leer el estado de un jugador#
Si un jugador está derribado se publica como un state bag replicado, legible desde cualquier script de cliente o servidor sin llamar a Medical Creator:
-- Server
local state = Player(source).state.dead
-- Client, for yourself
local state = LocalPlayer.state.dead
-- Client, for another player
local state = Player(GetPlayerServerId(playerIndex)).state.dead
-- Values:
-- nil / false alive
-- 'lastStand' downed, crawling, can still be revived
-- 'dead' dead, or lying in a hospital bed after check-in
if state then
-- block robbing, emotes, inventory, phone calls...
endEn ESX el mismo valor también se guarda en Player(source).state.isDead y en users.is_dead; en QBCore y Qbox, en los metadatos isdead y inlaststand — para que los scripts escritos para el trabajo de ambulancia original sigan funcionando.
Reanimar y curar desde tus scripts#
Medical Creator no tiene un export de reanimación: otro recurso envía los mismos eventos de cliente que usa el propio script.
Reanimar a un jugador
-- Server
TriggerClientEvent('ambulance:revivePlayer', targetId)Levanta al jugador donde está con la salud completa, elimina las heridas y los medicamentos, limpia la sangre, reinicia el hambre y la sed a través del framework y cierra su llamada de socorro.
Curar a un jugador
-- Server
TriggerClientEvent('ambulance:healPlayer', targetId, true) -- full heal
TriggerClientEvent('ambulance:healPlayer', targetId, false) -- small heal
TriggerClientEvent('ambulance:healPlayer', targetId, true, true) -- full heal, no notificationUna curación completa restaura la salud y elimina todas las heridas. Una curación pequeña añade un poco de salud y, con Config.AmbulanceItems.heal.healBleed, detiene el sangrado.
Scripts escritos para esx_ambulancejob
TriggerClientEvent('esx_ambulancejob:revive', targetId) -- still works on ESXMedical Creator responde al antiguo evento de reanimación en ESX, así que los menús de administración y otros scripts que lo usaban no necesitan cambios. En QBCore y Qbox, sustituye hospital:client:Revive por ambulance:revivePlayer.
Reaccionar a una muerte#
En el momento en que un jugador cae, se dispara un evento local de cliente con lo que lo mató — útil para un kill feed, la puntuación de una guerra de bandas o terminar un atraco:
-- Client
AddEventHandler('ambulance:onPlayerDeath', function(data)
-- data.killedByPlayer true when another player did it
-- data.killerServerId their server id (when killed by a player)
-- data.deathCause weapon hash (see Config.WeaponNames in shared/data.lua)
-- data.victimCoords where it happened
-- data.killerCoords, data.distance (when killed by a player)
end)La misma tabla se envía al servidor como el evento de red ambulance:onPlayerDeath. Viene del cliente de la víctima, así que trátala como información, no como prueba.
Acciones de EMS desde un menú radial#
Cada acción del menú EMS también es un evento de cliente, así que qb-radialmenu, el radial de ox_lib o cualquier otro menú pueden ofrecerlas. Hacen las mismas comprobaciones que el menú: trabajo, servicio, distancia e ítems.
TriggerEvent('ambulance:interaction:diagnose')
TriggerEvent('ambulance:interaction:revive')
TriggerEvent('ambulance:interaction:heal')
TriggerEvent('ambulance:interaction:sedate')
TriggerEvent('ambulance:interaction:toggle_vehicle') -- put in / take out of the ambulance
TriggerEvent('ambulance:interaction:bill')
TriggerEvent('ambulance:interaction:dispatch')
TriggerEvent('ambulance:interaction:stretcher')
TriggerEvent('ambulance:interaction:wheelchair')
TriggerEvent('ambulance:interaction:pickupMedBag')
TriggerEvent('ambulance:interaction:interactMedBag')Por ejemplo, una entrada del radial de ox_lib:
lib.addRadialItem({
id = 'ems_revive',
icon = 'heart-pulse',
label = 'Revive',
onSelect = function()
TriggerEvent('ambulance:interaction:revive')
end
})Dar ítems desde otros scripts#
Los ítems médicos son ítems de inventario normales, así que una recompensa, una mesa de crafteo o una tienda de trabajo simplemente los añaden con la API de tu inventario — Medical Creator se encarga de lo que ocurre cuando se usan. Los nombres aparecen en Ítems de inventario.
exports.ox_inventory:AddItem(source, 'medikit', 2)
exports.ox_inventory:AddItem(source, 'defib', 1)


