| Key | Where it shows |
| Textos.acessar | Target option / help text on password panels. |
| Textos.abrir / subir / descer | Options on the screen inside the cabin (Open / Up / Down). |
| Textos.sentar / levantar / trocarPose | Chair options (sit, stand up, change the sitting pose). |
| Textos.avisos.cadeiraOcupada | Tried to sit on a chair someone is already using. |
| Textos.avisos.movimento | Called while the elevator is travelling. |
| Textos.avisos.aguardePorta | Called while the door is opening or closing. |
| Textos.avisos.aguardeSegundos | Called again right after arriving (cooldown). %d becomes the seconds. |
| Textos.avisos.aguarde | Asked to “Open” from inside while the door is moving. |
| Textos.avisos.negado | A pode... hook returned false. |
| Textos.notificacao.success / error / info | Titles for success, error and information notifications. |
| Textos.notificacao.region | Accessible name of the notification area. |
Built-in notifications — Config.Notification
By default, the resource displays its own on-screen notifications. In config.lua, adjust the position, display duration and visible count:
Config.Notification = {
position = 'top-right',
durationMs = 4200,
maxVisible = 4,
}
Config.Notificar = nil -- Uses the built-in notification
| Key | Accepted values | Default |
| position | 'top-right', 'top-center' or 'top-left'. | 'top-right' |
| durationMs | Duration in milliseconds, clamped to 250–60000. | 4200 ms |
| maxVisible | Maximum notifications visible at once, clamped to 1–10. | 4 |
Titles and the accessible name use notificacao = { success, error, info, region } in the language file under locales/ selected by Config.Locale. Customize them through Config.Textos.notificacao; you can override only the keys you need. Message bodies remain in the corresponding Textos.avisos entries.
Config.Notificar(texto, tipo)
Optional adapter called on the client for every notification. tipo is 'sucesso', 'erro' or 'info'. Leave Config.Notificar = nil to use the built-in default, or choose one of the examples below to use your system:
-- ox_lib
Config.Notificar = function(texto, tipo)
lib.notify({ description = texto, type = (tipo == 'erro') and 'error' or (tipo == 'sucesso') and 'success' or 'inform' })
end
-- ESX
Config.Notificar = function(texto, tipo) ESX.ShowNotification(texto) end
-- QBCore
Config.Notificar = function(texto, tipo)
QBCore.Functions.Notify(texto, (tipo == 'erro') and 'error' or 'success')
end
-- Classic vRP (Proxy)
Config.Notificar = function(texto, tipo)
local Proxy = module('vrp', 'lib/Proxy')
local vRP = Proxy.getInterface('vRP')
vRP.notify({texto})
return true
end
If the adapter returns nil (including no return) or true, the notification is considered handled and the built-in notification is not displayed. Return false to display the built-in notification. If the function fails, the resource records a diagnostic and displays the built-in notification.
To choose the classic vRP (Proxy) example, start vrp before this resource and add '@vrp/lib/utils.lua' before 'config.lua' in the shared_scripts block of fxmanifest.lua. This loads module, which the adapter uses. The notification uses the presentation provided by your vRP base; to use your city's custom notification system, replace vRP.notify({texto}) with that system's API or event. The example passes arguments in a table, following the official Proxy reference; vRP2 and forks with different APIs require adaptation.
The screen texts (ZONA, CLIMA, AUTO, SUCCESS...) live in Config.paineis.textos, below.