Início › Documentação › Personalização · origen_importheist
A pasta custom/ contém a camada de extensão do script. Estes ficheiros não têm escrow e foram pensados para serem modificados, adaptando-os às frameworks, recursos e preferências do teu servidor.
custom/
├── client.lua ← UI, notifications, minigame, fuel, keys, animations
└── server.lua ← Reward delivery, police detection, vehicle localizerCustom.ShowHelpNotification(key, msg)Mostra uma notificação de ajuda contextual (p. ex. «Prime E para assaltar»). É chamada quando o jogador está dentro de uma zona de interação.
| Parâmetro | Tipo | Descrição |
|---|---|---|
key |
string |
Indicação de tecla a mostrar (depende da framework) |
msg |
string |
Texto da mensagem |
A implementação por omissão usa qb-core:DrawText ou ESX.ShowHelpNotification. Substitui o corpo pelo teu próprio sistema quando Config.CustomNotify = true.
Custom.ShowHelpNotification = function(key, msg)
-- your custom notification here
endCustom.HideHelpNotification()Oculta a notificação de ajuda contextual. É chamada quando o jogador sai da zona de interação.
A implementação por omissão chama qb-core:HideText no QBCore. Substitui-a se usares outro recurso de notificações.
Custom.HideHelpNotification = function()
-- your custom hide logic here
endCustom.ShowNotification(msg)Mostra uma notificação padrão ao jogador (p. ex. mensagens de recompensa, erros).
| Parâmetro | Tipo | Descrição |
|---|---|---|
msg |
string |
Texto da mensagem |
Controlada por Config.CustomNotify em config/_framework.lua:
false (por omissão) → usa a notificação nativa do QBCore/ESXtrue → executa o teu bloco de código personalizadoCustom.ShowNotification = function(msg)
-- Put your code here if Config.CustomNotify = true
endCustom.StartMinigame() → booleanÉ chamada quando o jogador tenta saquear um cacifo de um veículo. Tem de devolver true para permitir a ação ou false para a negar.
A implementação por omissão devolve sempre true (sem minijogo). Substitui-a pelo export do teu próprio minijogo.
Custom.StartMinigame = function()
return true
-- Example with ox_lib:
-- return exports.ox_lib:skillCheck({'easy', 'easy', 'medium'}, {'w', 'a', 's', 'd'})
endCustom.SetFuel(vehicle, fuel)Define o nível de combustível do veículo gerado. É chamada depois de um veículo ser entregue.
| Parâmetro | Tipo | Descrição |
|---|---|---|
vehicle |
integer |
Handle da entidade do veículo |
fuel |
number |
Nível de combustível (0–100) |
Controlada por Config.FuelSystem em config/_framework.lua. Valores suportados de origem: 'none', 'LegacyFuel', 'ps-fuel', 'cdn-fuel', 'qs-fuelstations', 'ox_fuel'.
Custom.SetFuel = function(vehicle, fuel)
-- Example for a custom resource:
-- exports['my-fuel']:SetFuel(vehicle, fuel)
endCustom.GiveVehicleKeys(vehicle, plate)Dá a propriedade do veículo ao jogador depois de concluir o assalto. É chamada a partir do servidor através de um evento de cliente depois de o veículo ser gerado.
| Parâmetro | Tipo | Descrição |
|---|---|---|
vehicle |
integer |
Handle da entidade do veículo |
plate |
string |
Texto da matrícula do veículo |
A implementação por omissão usa vehiclekeys:client:SetOwner (o predefinido do QBCore). Substitui-a se usares sistemas de chaves personalizados.
Custom.GiveVehicleKeys = function(vehicle, plate)
-- Example for ox_lib keys:
-- exports.ox_inventory:giveItem(cache.playerId, 'keys', 1, { plate = plate })
endCustom.PoliceCall(text, coords, veh, _Trigger)Envia um alerta à polícia quando o jogador entra num armazém (se Config.NotifyCopsOnEntry = true). Internamente dispara o evento de servidor SendAlert:police com os metadados do veículo.
| Parâmetro | Tipo | Descrição |
|---|---|---|
text |
string |
Mensagem do alerta (pode conter marcadores de formato para o modelo/cor) |
coords |
vector3 |
Localização do alerta |
veh |
integer|nil |
Handle da entidade do veículo, ou nil se não houver veículo |
_Trigger |
boolean |
Se for true, regista também o veículo no localizador GPS |
Esta função já vem ligada e normalmente não é preciso modificá-la. Personaliza-a apenas se o teu servidor usar outro recurso de alertas.
Custom.PlayAnim(type, dict, anim, time, move)Reproduz uma animação do ped a partir da tabela Config.Animations. Usada internamente nas ações 'search' e 'checking'.
| Parâmetro | Tipo | Descrição |
|---|---|---|
type |
string |
Chave de animação de Config.Animations |
dict |
string |
Dicionário de animação |
anim |
string |
Nome da animação |
time |
integer|false |
Duração em ms, ou false para repetir indefinidamente |
move |
boolean |
Se o ped se pode mover durante a animação |
Custom.GetPolices() → integer[]Devolve uma tabela com os IDs de servidor de todos os polícias em serviço. Usada para verificar Config.MinCops e para enviar as atualizações do localizador GPS.
Implementação por omissão:
QBCore.Functions.GetPlayersOnDuty('police')exports['origen_police']:GetPlayersInDuty('police')ESX.GetExtendedPlayers('job', 'police')Custom.GetPolices = function()
-- Replace with your own duty system if needed
return {}
endO evento de servidor origen_importheist:reward é tratado dentro de custom/server.lua. Dá dinheiro ou um item ao jogador de acordo com Config.Reward.
-- Automatically triggered by the script — not a public API.
-- Modify if you need custom reward logic (e.g. adding XP, logging, etc.)
RegisterServerEvent('origen_importheist:reward', function(total)
local Player = FW_GetPlayer(source)
if Config.Reward.useItem then
Player.Functions.AddItem(Config.Reward.item, total)
else
Player.Functions.AddMoney(Config.Reward.account, total)
end
end)