Inicio › Documentación › Personalización · origen_importheist

Personalización · origen_importheist

La carpeta custom/ contiene la capa de extensión del script. Estos ficheros no tienen escrow y están pensados para modificarse y adaptarlos a los frameworks, recursos y preferencias de tu 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)

Muestra una notificación de ayuda contextual (p. ej. «Pulsa E para atracar»). Se llama cuando el jugador está dentro de una zona de interacción.

Parámetro Tipo Descripción
key string Indicación de tecla que se muestra (depende del framework)
msg string Texto del mensaje

La implementación por defecto usa qb-core:DrawText o ESX.ShowHelpNotification. Sustituye el cuerpo por tu propio sistema cuando Config.CustomNotify = true.

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

Custom.HideHelpNotification()

Oculta la notificación de ayuda contextual. Se llama cuando el jugador sale de la zona de interacción.

La implementación por defecto llama a qb-core:HideText en QBCore. Sustitúyela si usas otro recurso de notificaciones.

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

Custom.ShowNotification(msg)

Muestra una notificación estándar al jugador (p. ej. mensajes de recompensa, errores).

Parámetro Tipo Descripción
msg string Texto del mensaje

Lo controla Config.CustomNotify en config/_framework.lua:

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

Custom.StartMinigame() → boolean

Se llama cuando el jugador intenta saquear una taquilla de un vehículo. Debe devolver true para permitir la acción o false para denegarla.

La implementación por defecto siempre devuelve true (sin minijuego). Sustitúyela por el export de tu propio minijuego.

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)

Establece el nivel de combustible del vehículo generado. Se llama después de entregar un vehículo.

Parámetro Tipo Descripción
vehicle integer Handle de la entidad del vehículo
fuel number Nivel de combustible (0–100)

Lo controla Config.FuelSystem en config/_framework.lua. Valores compatibles de serie: '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)

Da la propiedad del vehículo al jugador tras completar el atraco. Se llama desde el servidor mediante un evento de cliente una vez generado el vehículo.

Parámetro Tipo Descripción
vehicle integer Handle de la entidad del vehículo
plate string Texto de la matrícula del vehículo

La implementación por defecto usa vehiclekeys:client:SetOwner (el predeterminado de QBCore). Sustitúyela si usas sistemas de llaves 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)

Envía un aviso a la policía cuando el jugador entra en un almacén (si Config.NotifyCopsOnEntry = true). Internamente dispara el evento de servidor SendAlert:police con los metadatos del vehículo.

Parámetro Tipo Descripción
text string Mensaje del aviso (puede contener marcadores de formato para el modelo/color)
coords vector3 Ubicación del aviso
veh integer|nil Handle de la entidad del vehículo, o nil si no hay vehículo
_Trigger boolean Si es true, registra además el vehículo en el localizador GPS

Esta función viene ya conectada y normalmente no hace falta modificarla. Personalízala solo si tu servidor usa otro recurso de avisos.


Custom.PlayAnim(type, dict, anim, time, move)

Reproduce una animación del ped desde la tabla Config.Animations. Se usa internamente para las acciones 'search' y 'checking'.

Parámetro Tipo Descripción
type string Clave de animación de Config.Animations
dict string Diccionario de animación
anim string Nombre de la animación
time integer|false Duración en ms, o false para repetir indefinidamente
move boolean Si el ped puede moverse durante la animación

custom/server.lua

Custom.GetPolices() → integer[]

Devuelve una tabla con los IDs de servidor de todos los policías en servicio. Se usa para comprobar Config.MinCops y para enviar las actualizaciones del localizador GPS.

Implementación por defecto:

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

Entrega de la recompensa (evento de servidor)

El evento de servidor origen_importheist:reward se gestiona dentro de custom/server.lua. Da dinero o un objeto al jugador según 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)