Para desarrolladores

ox_target, qtarget, qb-target

Llámalos como siempre. HZ-TextUi responde a 24 exports de ox_target:

addBoxZone, addSphereZone, addPolyZone, removeZone, zoneExists, addGlobalPed, addGlobalVehicle, addGlobalObject, addGlobalPlayer, addGlobalOption y sus remove*, addModel / removeModel, addLocalEntity / removeLocalEntity, addEntity / removeEntity, getTargetOptions, isActive, disableTargeting.

Los nombres PascalCase de qtarget y qb-target también se sirven: AddBoxZone, AddCircleZone, AddPolyZone, AddEntityZone, AddTargetModel, AddTargetEntity, AddTargetBone, AddGlobalPed / Vehicle / Object / Player, y sus Remove*. Los filtros de job, gang e item se mantienen.

Los campos de opción siguen a ox_target y qb-target: label, icon, distance, onSelect, canInteract, groups, items, menuName, openMenu.

Los prompts HZ

Ocho exports manejan el TextUI 3D directamente, con un pin visible por proximidad en vez de con Alt:

exports['hz_textui']:create3DTextUI('my-id', {
    coords = vector3(-1461.18, -31.48, 54.63),
    displayDist = 6.0,     -- distancia a la que aparece el pin
    interactDist = 2.0,    -- distancia a la que se abre la etiqueta
    enableKeyClick = true,
    keyNum = 38, key = 'E',
    text = 'My interaction',
    theme = 'green',       -- 'green' o 'red'
    job = 'all',
    canInteract = function() return true end,
    triggerData = { triggerName = 'my:event', isServer = false, args = {} },
})

exports['hz_textui']:update3DTextUI('my-id', 'New text', 'red')
exports['hz_textui']:delete3DTextUI('my-id')

Los demás: create3DTextUIOnEntity, create3DTextUIOnPlayers, delete3DTextUIOnPlayers, openTextUi para un menú 3D con scroll, y closeTextUi.

Lo único que hay que saber sobre canInteract

Las opciones se guardan por referencia en el estado Lua de HZ-TextUi. Si tu recurso reinicia sin retirar lo que registro, su canInteract apunta a un estado que ya no existe y falla en cada comprobación.

HZ-TextUi descarta la opción tras tres fallos e imprime cual y desde que recurso, en lugar de llenarte la consola.

Retira lo que registraste cuando tu recurso se detenga, o registralo de nuevo al arrancar.