Configuration File
config.lua
-- Author: SIREC
-- Support / bug reports: https://discord.gg/9XNBaQSmMd
--
--[[
===========================================================================
SS-Archives Configuration
===========================================================================
This file is written to be easy to understand even for server owners who
do not work with Lua often.
IMPORTANT RULES:
1. Change values, not logic.
2. Use Dev = true only while testing.
3. If you do not use an optional integration, disable it here.
4. Read README.md before changing offices, penitentiary settings, or jobs.
===========================================================================
]]
Config = {
--=====================================================================
-- GENERAL SETTINGS
--=====================================================================
Dev = true, -- true = extra console logs for testing | false = recommended for live server
-- Available languages included in l/l.lua:
-- EN / IT / ES / FR / DE / PT / RU / RO
Language = "EN",
SSHousing = true, -- true only if you use SS-Housing integration
SSPlayerShops = true, -- true only if you use SS-PlayerShops integration
WebHook = "", -- Discord webhook URL for archive action logs | leave empty to disable
Align = "right", -- menu alignment used by menuapi
Button = "PRESS", -- menu prompt button text
Key = 0xD9D0E1C0, -- key used to open archive prompts
ServerYear = "1905", -- world/server lore year shown on records
-- Tax system.
-- NOTE: TaxDays is currently disabled in runtime because jailtime is now
-- used as online remaining jail time, not absolute timestamp.
TaxDays = 10,
TaxPercentual = 10,
DrinkItem = "water", -- canteen drink item
FoodItem = "bread", -- canteen food item
BountyHunter = true, -- true if you use SS-BountyHunter integration
PayFromSheriff = true, -- true = bounty money is taken from the sheriff officer
AllowedJobs = {"Guvernator", "marshal", "sheriff", "police"}, -- jobs allowed to open and use the archive
OfficerNotesCooldown = 1, -- minutes between officer notes | minimum is 1
PropertyOnly = {"Primar"}, -- reserved list used by property-related logic
DeleteNotesGrade = 5, -- minimum grade required to remove notes
DeleteJobGrade = 9, -- minimum grade required to delete dossiers
SeizureProperty = 5, -- minimum grade required to seize property/stores
TransferProperty = 8, -- minimum grade required to transfer property/stores
AutoEject = true, -- eject civilians who enter prison zone if not allowed
AutoTeleport = true, -- teleport prisoners back if they escape prison range
AutoDoors = true, -- old door flow placeholder, keep true only if you still need that legacy behavior
NoteBook = "archivesbook", -- usable inventory item that opens the archive UI
DossierItem = "sulf", -- usable item given as a dossier copy
ShowJailDossier = "showdossier", -- command used to show jail paper while jailed
HideJailDossier = "hidedossier", -- command used to hide jail paper while jailed
TimeToCheckJail = 60000, -- milliseconds between jail checks
AutoJail = true, -- true = officer can choose automatic jail when creating a dossier
ShowJailInfo = true, -- true = jail paper can be shown while jailed
--=====================================================================
-- ARCHIVE OFFICES
-- Pos format = {x, y, z, heading}
-- Distance = interaction range
-- Blip = blip hash | false = hide blip
--=====================================================================
Offices = {
[1] = {
Name = "Blackwater Archive",
Pos = {-761.92901611328, -1266.8898925782, 44.050498962402, 170.40016174316},
Blip = 587827268,
Distance = 2.0,
}
},
--=====================================================================
-- PRISON CROP JOB
-- WorkBonus = how many seconds are removed per completed crop
-- Money = false disables payment, or set a number to reward prisoners
--=====================================================================
CropJob = {
Name = "Work for the benefit of the Country",
Angles = {
vector2(3300.67, -593.41),
vector2(3278.85, -596.57),
vector2(3214.08, -554.26),
vector2(3248.91, -501.93),
vector2(3328.92, -552.39)
},
Zcoords = {35, 54},
WorkBonus = 20,
Money = false,
Debug = false,
ReWorkDistance = 8.0,
WaitCrop = 10000,
},
-- Reserved for future jobs logic
Jobs = {},
--=====================================================================
-- PENITENTIARY SETTINGS
-- Cells = possible prison cell spawn points
-- JailPos = manual jail delivery point
-- SpawnBoat / BoatModel = manual jail transport sequence
--=====================================================================
Penintetiary = {
Name = "Sisika Penitetiary",
Angles = {
vector2(3386.60, -636.57),
vector2(3410.79, -678.88),
vector2(3369.20, -727.20),
vector2(3329.68, -703.74),
vector2(3315.48, -655.87)
},
Zcoords = {42, 54},
Debug = true,
Blip = -1489164512,
Pos = {3363.4689941406, -681.2964477539, 46.466829681396},
Canteen = {3334.93603515625, -658.6146850585938, 45.97416305541992, 281.05603027344},
CanteenName = "Sisika Canteen",
CanteenBlip = -1138864184,
CanteenDistance = 2.0,
Cells = {
[1] = {3328.6863, -668.3199, 48.8897, 27.1767},
[2] = {3327.9915, -661.4512, 48.8881, 89.6623},
[3] = {3332.6626, -667.0618, 48.8896, 197.2037},
[4] = {3333.2444, -659.8171, 48.8896, 26.3801},
[5] = {3336.9790, -666.5901, 48.8897, 181.3364},
[6] = {3337.1565, -658.8512, 48.8917, 12.6926},
[7] = {3341.1169, -665.6801, 48.8897, 278.9239},
[8] = {3341.5369, -657.7955, 48.8924, 7.8863}
},
JobPermit = {3380.7498, -659.0895, 46.9061, 28.9527, 45.64087295532226},
JobPermitName = "Job Permission",
JobPermitBlip = 1109348405,
ReleasePos = {2685.7255859375, -1454.185913086, 46.278060913086, 187.82933044434},
Range = 100,
NpcMenuModel = "s_m_m_ambientblwpolice_01",
NpcMenu = {3353.7534179688, -641.92889404296, 44.29126739502, 13.36182308197},
JailPos = {2926.742919921875, -1254.27099609375, 42.38059997558594},
JailDistance = 10.0,
SpawnBoat = {2949.8779296875, -1246.3270263671875, 40.50966644287109, -82.29},
BoatModel = "rowboat",
NpcGuardModel = "s_m_m_skpguard_01",
NpcGuard = {3347.1630859375, -643.75970458984, 44.291255950928, 23.405473709106},
},
}
function ARCHIVESNOTIFY(text)
TriggerEvent("vorp:TipBottom", text, 5000)
end
function ADDFINES(source, charid, amount, tittle, description)
TriggerEvent("S!r@#Blu$$-SS-ARCHIVES:SERVER:SENDFINE", source, charid, amount)
endLast updated