Patrones de uso
Mostrar un aviso mientras el jugador está en una zona
Llama a show una vez al entrar y a hide una vez al salir. No llames a show en cada frame.
CreateThread(function()
local promptVisible = false
local location = vector3(-1037.0, -2737.0, 20.2)
while true do
local playerCoords = GetEntityCoords(PlayerPedId())
local nearby = #(playerCoords - location) < 2.0
if nearby and not promptVisible then
exports.jex_interactions:show({
id = 'atm',
key = 'E',
label = 'Usar cajero',
})
promptVisible = true
elseif not nearby and promptVisible then
exports.jex_interactions:hide('atm')
promptVisible = false
end
Wait(250)
end
end)
Mostrar una tecla no gestiona su pulsación: la lógica de la interacción sigue siendo de tu recurso.
if promptVisible and IsControlJustReleased(0, 38) then -- INPUT_CONTEXT / E
TriggerEvent('my_resource:openMenu')
end
Varias acciones con prioridad
exports.jex_interactions:show({
id = 'primary_action',
key = 'E',
label = 'Abrir',
priority = 100,
})
exports.jex_interactions:show({
id = 'secondary_action',
key = 'G',
label = 'Inspeccionar',
priority = 50,
})
Si hay más avisos que Config.MaxVisible, los de menos prioridad esperan a que quede sitio.
Declarar la dependencia en el manifest
No hace falta si el orden de arranque ya está garantizado en server.cfg. Si prefieres que tu recurso no arranque sin el HUD, decláralo:
dependency 'jex_interactions'
client_script 'client.lua'