A Police Management Interface for FiveM roleplaying servers using the QBcore framework
Police Management Interface: qb-pmi [WIP]
This PMI was built for the purpose of getting rid of all the other google sheets and discord channels we were using to keep track of police things. Not all features might make sense for your server.
WIP
Development of this resources is still ongoing. Theres a lot to do so its going to take some time. Here how ever are some screenshots of things that are being built at the moment.
Dependencies
Installation
Please read this carefully otherwise the PMI will not work.
SQL
Run the qb-pmi.sql
file in your database to ensure you have the tables needed for the PMI
Config file changes
enableOxmysql
– Set to true
if you are using oxmysql instead of ghmattimysql
Required Functions
These functions need to be added to other resources in order for PMI functionality to work fully
qb-policejob/client/main.lua
RegisterNetEvent('police:client:setDuty')
AddEventHandler('police:client:setDuty', function(duty)
if(PlayerJob.name == nil) then
PlayerJob = QBCore.Functions.GetPlayerData().job
end
onDuty = duty
end)
Optional Functions
These functions or triggers improve the feel and experience of using the PMI. You do not need to do these but it is recommended.
Automatic updating of on duty vehicles
Where you take out the police vehicle add the following code to send the vehicle to the PMI (change the vehicle
variable to the correct variable with the vehicle the player is in)
TriggerServerEvent("qb-pmi:server:vehicleTakeout", GetVehicleNumberPlateText(vehicle), GetEntityModel(vehicle))
Then for storing the vehicle add the following for while the player is still in the vehicle
TriggerServerEvent("qb-pmi:server:vehicleStore", GetVehicleNumberPlateText(GetVehiclePedIsIn(PlayerPedId())))
Auto setting a units radio channel
You need to add a call to update the officers radio channel on the PMI
HINT: If you are using pma-voice you need to go to pma-voice/client/module/radio.lua
and add it in the setRadioChannel(channel)
function.
TriggerServerEvent('qb-pmi:server:setOfficerRadio', channel)
The channel
variable should be the numerical channel value.
Development Setup [Not needed for normal usage]
The source files for the UI are included in client/pmi-source
, these can be used to change the PMI or add new things.
Disclaimer: Just because you changed something or added a new feature to the PMI does not give you rights to release the whole PMI as your own work. If its an amazing feature that everyone and there dog needs then make a pull request on github and I can see if it can become a permanent part of the project.
Setup
- Open the
client/pmi-source
directory and runnpm install
to install node modules - To view the UI in your browser do
npm run serve
- Make any changes you want an then run
npm run build
to build the files. - The build files automatically go to the html directory, now just restart the resource on your server and you should see the changes.