OrigenNetwork
Docs

Installation · origen_police

Our script only supports the following versions of the two most used frameworks. In older versions it may be usable, but we do not provide support since development focuses on the following versions:

1. server.cfg

text
ensure oxmysql/icmysql
ensure qb-core
...(make sure to start the inventory before the script)
 
ensure pma-voice
ensure origen_police

2. SQL

Insert the SQL files into your database:

3. Items

Register all required items in your inventory system. See the full list with blocks for ox_inventory and QBCore:

Items →

We recommend uploading script files without using FileZilla, as it may corrupt our scripts. Use WinSCP or another reliable program instead.

Inventory Modifications

If your inventory script doesn't appear here, you don't need to modify anything inside it.

qb-inventory

At the end of qb-inventory/server/main.lua:

lua
exports('GetStashItems', GetStashItems)
 
RegisterServerEvent('qb-inventory:server:SaveStashItems', function(stashId, items)
    MySQL.insert('INSERT INTO stashitems (stash, items) VALUES (@stash, @items) ON DUPLICATE KEY UPDATE items = @items', {
        ['@stash'] = stashId,
        ['@items'] = json.encode(items)
    })
    if Stashes[stashId] then
    Stashes[stashId].items = items
    end
end)

Clothing Modifications

If your clothing script doesn't appear here, you don't need to modify anything inside it.

qb-clothing

At the end of qb-clothing/client/main.lua:

lua
exports("GetSkinData", function()
    return skinData
end)

Ambulance Modifications

If your ambulance script doesn't appear here, you don't need to modify anything inside it.

esx_ambulancejob

At the end of esx_ambulancejob/client/job.lua:

lua
RegisterCommand('revivep', function()
    local closestPlayer, closestDistance = ESX.Game.GetClosestPlayer()
    revivePlayer(closestPlayer)
end)
 
RegisterCommand('healp', function()
    local closestPlayer, closestDistance = ESX.Game.GetClosestPlayer()
    ESX.TriggerServerCallback('esx_ambulancejob:getItemAmount', function(quantity)
        if quantity > 0 then
            local closestPlayerPed = GetPlayerPed(closestPlayer)
            local health = GetEntityHealth(closestPlayerPed)
            if health > 0 then
                local playerPed = PlayerPedId()
                isBusy = true
                ESX.ShowNotification(_U('heal_inprogress'))
                TaskStartScenarioInPlace(playerPed, 'CODE_HUMAN_MEDIC_TEND_TO_DEAD', 0, true)
                Wait(10000)
                ClearPedTasks(playerPed)
                TriggerServerEvent('esx_ambulancejob:removeItem', 'medikit')
                TriggerServerEvent('esx_ambulancejob:heal', GetPlayerServerId(closestPlayer), 'big')
                ESX.ShowNotification(_U('heal_complete', GetPlayerName(closestPlayer)))
                isBusy = false
            else
                ESX.ShowNotification(_U('player_not_conscious'))
            end
        else
            ESX.ShowNotification(_U('not_enough_medikit'))
        end
    end, 'medikit')
end)

Setup CFG Permissions

Make sure you have all these lines in your server.cfg:

text
add_ace group.admin command allow
add_ace group.admin command.quit deny
add_ace resource.qb-core command allow
add_ace qbcore.god command allow
add_principal qbcore.god group.admin
add_principal qbcore.god qbcore.admin
add_principal qbcore.admin qbcore.mod

Register your license as the qbcore.god group — replace with your own license:

text
add_principal identifier.license:8f1a3xxxxxxxxxxxxxxxx qbcore.god # Player Name

To verify permissions are correctly configured, Config.Maps in config/markers.lua should be empty and the SETTINGS button should appear at the bottom right of the tablet.

lua
Config.Maps = { -- YOU CAN USE THIS OPTION OR THE IN GAME MENU INSIDE THE POLICE TABLET
    -- PLACE YOUR STATION NAME HERE, Example: "default-gta"
}

If configured correctly, you'll see this message in F8 on first start:

text
WARNING: NO ACTIVE MAPS, PLEASE ADD SOME IN THE SETTING TAB OF THE POLICE TABLE

Important

Remember to follow the pma-voice installation steps:

pma-voice Installation →