Início › Documentação › Personalização · origen_importheist

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.

text
custom/
├── client.lua   ← UI, notifications, minigame, fuel, keys, animations
└── server.lua   ← Reward delivery, police detection, vehicle localizer

custom/client.lua

Custom.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.

lua
Custom.ShowHelpNotification = function(key, msg)
    -- your custom notification here
end

Custom.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.

lua
Custom.HideHelpNotification = function()
    -- your custom hide logic here
end

Custom.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:

lua
Custom.ShowNotification = function(msg)
    -- Put your code here if Config.CustomNotify = true
end

Custom.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.

lua
Custom.StartMinigame = function()
    return true
    -- Example with ox_lib:
    -- return exports.ox_lib:skillCheck({'easy', 'easy', 'medium'}, {'w', 'a', 's', 'd'})
end

Custom.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'.

lua
Custom.SetFuel = function(vehicle, fuel)
    -- Example for a custom resource:
    -- exports['my-fuel']:SetFuel(vehicle, fuel)
end

Custom.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.

lua
Custom.GiveVehicleKeys = function(vehicle, plate)
    -- Example for ox_lib keys:
    -- exports.ox_inventory:giveItem(cache.playerId, 'keys', 1, { plate = plate })
end

Custom.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/server.lua

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:

lua
Custom.GetPolices = function()
    -- Replace with your own duty system if needed
    return {}
end

Entrega da recompensa (evento de servidor)

O evento de servidor origen_importheist:reward é tratado dentro de custom/server.lua. Dá dinheiro ou um item ao jogador de acordo com Config.Reward.

lua
-- 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)