This is a jailsystem that uses IRL time to jail someone. If he return ingame before the time he will be put in jail again.
This is the code you need to put in esx_policejob and integrate it in the menu you want:
- 1 download the ressource
- 2 put it in your ressource folder somewhere
- 3 in server cfg add: start esx_jb_realtimejailer
- 4 add the code below in police client file
- 5a trigger somewhere in your menus : openJailMenu(GetPlayerServerId(player)) -->olderversion of policejob where player is a variable of your player
- 5b trigger somewhere in your menus : openJailMenu(GetPlayerServerId(closestPlayer)) -->newer version of policejob where closestPlayer is a variable of your player
- 6 done !
function openJailMenu(playerid)
local elements = {
{label = "Cellule 1", value = 'JailPoliceStation1'},
{label = "Cellule 2", value = 'JailPoliceStation2'},
{label = "Cellule 3", value = 'JailPoliceStation3'},
{label = "Cellule fédérale", value = 'FederalJail'},
{label = "Libérer de cellule", value = 'FreePlayer'},
}
ESX.UI.Menu.Open(
'default', GetCurrentResourceName(), 'jail_menu',
{
title = 'Mettre en prison',
align = 'top-left',
elements = elements,
},
function(data3, menu)
if data3.current.value ~= "FreePlayer" then
maxLength = 4
AddTextEntry('FMMC_KEY_TIP8', "Nombre d'heures en prison")
DisplayOnscreenKeyboard(1, "FMMC_KEY_TIP8", "", "", "", "", "", maxLength)
ESX.ShowNotification("~b~Entrez le nombre d'heures que vous voulez mettre la personne en prison.")
blockinput = true
while UpdateOnscreenKeyboard() ~= 1 and UpdateOnscreenKeyboard() ~= 2 do
Citizen.Wait( 0 )
end
local jailtime = GetOnscreenKeyboardResult()
UnblockMenuInput()
if string.len(jailtime) >= 1 and tonumber(jailtime) ~= nil then
TriggerServerEvent('esx_jb_jailer:PutInJail', playerid, data3.current.value, tonumber(jailtime)*60*60)
else
return false
end
else
TriggerServerEvent('esx_jb_jailer:UnJailplayer', playerid)
end
end,
function(data3, menu)
menu.close()
end
)
end
function UnblockMenuInput()
Citizen.CreateThread( function()
Citizen.Wait( 150 )
blockinput = false
end )
end