Server
This page lists all the available server-side events and exports.
Events (General)
Prison Action Listener
This event is listener for actions happening in prison.
Example code
--- Action Types ---
-- PRISONER_RELEASED: Player is released from prison
-- PRISONER_LOADED: Player rejoins and is jailed since they have a remaining sentence
-- PRISONER_NEW: New player is jailed
-- PLAYER_ESCAPE_FROM_PRISON: Player escaped from prison (Prison break)
-- PLAYER_DESTROYED_WALL: Player destroyed a wall in prison (Prison break)
--- Prisoner Data Structure ---
--  data.prisoner: {
--     state: string,
--     officerName: string,
--     owner: string,
--     id: int,
--     jail_time: float,
--     source: int,
--     prisonerName: string,
--     jail_reason: string,
-- }
AddEventHandler('rcore_prison:server:heartbeat', function(actionType, data)
    -- Your event handling logic here
    if not next(data) then
        return
    end
    local prisoner = data.prisoner
    if not prisoner then
        return
    end
    if actionType == 'PRISONER_NEW' then
        print('New prisoner loaded')
    end
end)
Exports (General)
List of general exports.
Jail
This export is used when you want to jail target citizen.
Example code
local playerId = 1 -- playerId
local jailTime = 5 -- 5 minutes
local jailReason = 'multiple felonies' -- jailReason is optional, not needed
local officerPlayerId = 2 -- officerPlayerId is optional, if used it will be logged in ./jailcp Logs
exports['rcore_prison']:Jail(playerId, jailTime, jailReason, officerPlayerId)Unjail
This export is used when you want to unjail citizen which is in Prison.
Example code
local playerId = 1
local skipTeleport = true -- If you dont want to teleport in front of Prison
exports['rcore_prison']:Unjail(playerId, skipTeleport)UnjailOffline
This export is used when you want to unjail citizen which is offline
Example code
local charId = "ZW32561A"
exports['rcore_prison']:UnjailOffline(charId)GetPrisonerData
This export is used when you want to get more informations about target prisoner.
Example code
local playerId = 1
local data = exports['rcore_prison']:GetPrisonerData(playerId)
--- {
--- state: string,
--- officerName: string,
--- owner: string,
--- id: int,
--- jail_time: float,
--- source: int,
--- prisonerName: string,
--- jail_reason: string,
 
--- }: table
EditPrisonerSentence
This export is used when you want to modify target prisoner sentence
Example code
local playerId = 1
local amount = 10 -- Set target player sentence
exports['rcore_prison']:EditPrisonerSentence(playerId, amount)
IsPrisoner
This export is used when you want to check if target citizen is Prisoner
Example code
local playerId = 1
local state = exports['rcore_prison']:IsPrisoner(playerId)
if state then
    print('Player is prisoner')
else
    print('Player is citizen')
end
AddCredits
This export is used when you want to give target Prisoner credits, if he has account!
Example code
local playerId = 1
local giveAmonunt = 500
exports['rcore_prison']:AddCredits(playerId, giveAmonunt)RemoveCredits
This export is used when you want to remove credits from Prisoner account.
Example code
local playerId = 1
local removeAmount = 500
exports['rcore_prison']:RemoveCredits(playerId, removeAmount)SetSolitary
This export is used when you want to sent Prisoner to Solitary cell
Example code
local playerId = 1
local sentenceAmount = 5 -- This is 5 mins by default
local sentenceReason = 'Attacked Prison Guard' -- optional, not requred
exports['rcore_prison']:SetSolitary(playerId, sentenceAmount)ReleaseFromSolitary
This export is used when you want to release prisoner from solitary
Example code
local playerId = 1
exports['rcore_prison']:ReleaseFromSolitary(playerId)IsPrisonerInSolitary
This export is used when you want to check if Prisoner is in Solitary cell
Example code
local playerId = 1
local state=  exports['rcore_prison']:IsPrisonerInSolitary(playerId)
if state then
    print('Prisoner is in solitary cell')
endStartCOMS
This export is used when you want to send citizen to Community service
Example code
local officerPlayerId = 1 -- If you sent nil instead, the action is not going to logged since initiator is not player but "server"
local targetPlayerid = 2 -- Target player which should have parolle
local parolleAmount = 10 -- How many COMS citizen have to do in cycle
local perollReason = 'Abusing' -- Optional (not required)
exports['rcore_prison']:StartCOMS(officerPlayerId, targetPlayerId, parolleAmount, perollReason)Last updated
Was this helpful?