-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathconfig.lua
More file actions
167 lines (146 loc) · 5.24 KB
/
config.lua
File metadata and controls
167 lines (146 loc) · 5.24 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
Config = {}
Config.Debug = false
Config.Locale = 'en'
-- Must match the jobs listed in bc-mdt's Config.Departments police entry.
-- Mismatches cause officers to be locked out of either the duty ped or the MDT.
Config.PoliceJobs = { 'police', 'bcso', 'sasp' }
-- Duty / Front Desk Peds
Config.DutyPeds = {
{
model = 's_m_y_cop_01',
coords = vec4(441.1, -978.85, 29.69, 177.49), -- MRPD Front Desk
scenario = 'WORLD_HUMAN_COP_IDLES',
label = 'Front Desk',
icon = 'fas fa-user-shield',
distance = 4.0,
}
}
-- Armory Peds
Config.ArmoryPeds = {
{
model = 's_m_y_blackops_01',
coords = vec4(454.07, -979.98, 29.69, 86.48), -- MRPD Armory
scenario = 'WORLD_HUMAN_GUARD_STAND',
label = 'Police Armory',
icon = 'fas fa-gun',
distance = 2.0,
shopId = 'police_armory'
}
}
Config.ArmoryShop = {
id = 'police_armory',
label = 'Police Armory',
items = {
{ name = 'weapon_pistol', price = 0 },
{ name = 'weapon_nightstick', price = 0 },
{ name = 'weapon_flashlight', price = 0 },
{ name = 'ammo-9', price = 0 },
{ name = 'handcuffs', price = 0 },
{ name = 'gsrtestkit', price = 0 },
{ name = 'radio', price = 0 },
{ name = 'bandage', price = 0 },
{ name = 'medkit', price = 0 },
{ name = 'sandwich', price = 0 },
{ name = 'water', price = 0 },
},
}
Config.HelpCallCooldown = 60 -- 60 seconds
Config.JailTimeLimit = { min = 1, max = 120 }
Config.JailReleaseCoords = vector4(427.1, -981.0, 30.7, 0.0) -- MRPD Outside
Config.JailLocations = {
{
coords = vector3(459.7, -998.2, 24.9), -- MRPD Cell 1
radius = 5.0
},
{
coords = vector3(459.7, -1001.5, 24.9), -- MRPD Cell 2
radius = 5.0
}
}
Config.MaxSpikeStrips = 20 -- Max total spike strips deployed server-wide at once
-- Dashcam: same `body_cam` item when driver of class-18 vehicle (see client body_cam export). defaultKey "" keeps K free.
-- Set defaultKey e.g. "J" if you also want a FiveM keybind (driver seat, class 18 only).
Config.DashcamKeybind = {
name = 'policesystem_dashcam',
description = 'Toggle police dashcam (driver seat, emergency vehicle)',
defaultKey = '',
}
-- World XY footprint for P_ld_stinger_s (oriented box: long axis = entity heading + 90°).
-- Tuned to match deploy: strip length ~4.5m along the perpendicular-to-heading axis.
Config.SpikeStripOBB = {
halfLength = 2.35, -- ~4.7m along strip
halfWidth = 0.55, -- ~1.1m across strip (tyre contact width)
-- Nudge sample point from wheel bone toward the contact patch (meters, along vehicle forward).
-- Wheel bones sit at hub height; a small negative value pulls the test “down” the road so the
-- footprint matches the visual strip instead of feeling “high” / early.
wheelAlongOffset = -0.12,
}
-- Alcohol amounts added to metadata when drinking — adjust per item as needed
-- Scale is 0–100000 (100000 = max BAC of ~0.40 g/dL)
Config.AlcoholAmounts = {
beer = 15000,
wine = 25000,
whiskey = 40000,
vodka = 50000,
}
-- Linear decay of `metadata.alcohol` (0–100000) while online. Full scale → 0 in this many minutes.
-- Set to 0 to disable wear-off (not recommended).
Config.AlcoholWearOffMinutes = 15
Config.Objects = {
{ label = 'cone', prop = 'prop_roadcone02a' },
{ label = 'barrier', prop = 'prop_barrier_work05' },
{ label = 'spike_strip', prop = 'P_ld_stinger_s' },
{ label = 'roadblock', prop = 'prop_mp_barrier_02' },
}
-- Police impound is separate from qbx_garages (policesystem_impounds + player_vehicles only).
-- Title for ox_lib impound menus (match qbx style).
Config.ImpoundMenuTitle = 'Impound Lot'
-- Where released vehicles spawn after paying the clerk (server-side spawn).
Config.ImpoundExit = {
coords = vec3(407.2, -1645.58, 29.31), -- Davis lot exit (near default impound spawn)
heading = 228.28,
}
-- Impound Ped (civilian: ox_lib menu styled like qbx impound)
Config.ImpoundPed = {
model = 's_m_y_cop_01',
coords = vec4(400.27, -1630.71, 28.29, 228.71), -- Davis Impound Lot
scenario = 'WORLD_HUMAN_CLIPBOARD',
label = 'Impound Clerk',
icon = 'fas fa-car',
distance = 2.0,
}
-- Garage Peds
Config.GaragePeds = {
{
model = 's_m_y_cop_01',
coords = vec4(459.05, -1017.1, 27.15, 92.02), -- MRPD Garage
spawnPoint = vec4(446.18, -1024.79, 27.64, 1.26),
scenario = 'WORLD_HUMAN_CLIPBOARD',
label = 'Police Garage',
icon = 'fas fa-car',
distance = 2.0,
}
}
-- Evidence Locker — ox_inventory stash at the police station
Config.EvidenceLocker = {
coords = vec3(476.56, -993.02, 24.91), -- MRPD evidence room
size = vec3(1.0, 1.0, 2.0),
rotation = 0.0,
slots = 50,
maxWeight = 100000,
}
-- Configurable Vehicles List
Config.PoliceVehicles = {
{
label = 'Police Buffalo',
model = 'police2',
price = 0,
groups = { 'police' },
},
{
label = 'Sheriff SUV',
model = 'sheriff',
price = 0,
groups = { 'police' },
},
}