Inside the script package you just extracted will be two folders. Copy both to a folder in your server's resources folder called [sonoranscripts] note the [] in the name, without them it will not work.
Sonoran Software - MCC - Folders
In the sonoran-mcc folder there will be a folder called config, once inside that folder you should see a file called config.CHANGEME.lua you should rename that to be config.lua and configure the settings inside as you would like them to be configured based on the configuration documentation below.
In the sonoran-mcc folder there is the file sonomcc.ytd, move that file into the sonoran-mcc/stream/ folder. This allows our updater to not override any custom YTD edits like custom liveries.
In the sonoran-mcc/data/ folder there are 4 .meta files rename each file so that you remove.CHANGEME from the name. You should be left with the following 4 file names:
carcols.meta
carvariations.meta
vehiclelayouts.meta
vehicles.meta
Finally, in your server.cfg add the following:
Configuring The Script
Default config.lua
There is no permission configuration required for this resource.
Sonoran CAD Integration
Functionality
The mobile command center is equipped with surveillance cameras on top of the radio antenna. While looking at a vehicle, the license plate will be displayed on-screen.
Additionally, with Sonoran CAD's Wraith integration, a pNotify pop-up will display the vehicle's registration information from Sonoran CAD. Press ENTER to "lock" the plate and return a full search in your Sonoran CAD screen.
Sonoran Software - MCC - ALPR
Sonoran Software - MCC - ALRP Locked
Configuration
The Sonoran CAD integration can be turned either on or off in the config.alpr section. In order for Sonoran CAD integration to work properly you MUST have the Wraith Radar CAD plugin installed. This plugin is part of Sonoran CAD's integration framework.
Without the Wraith Radar plugin properly installed the ALPR WILL NOT work.
Sonoran Radio Integration
Functionality
The mobile command center is equipped with an extendable Sonoran Radio repeater. When extended, the mobile command center will function as a Sonoran Radio tower to increase reception in the area.
Configuration
The Sonoran Radio integration is both automatic and seamless. In order for this to work you MUST have the Sonoran Radio FiveM Script properly installed and configured.
Sonoran Radio's resource must remain named sonoranradio or integration WILL NOT work.
config = {}
config.configuration_version = 1.3 -- Do NOT change unless updating whole config file. Used by updater to tell you when new config file options are available.
config.auto_update = true -- Toggle Auto Updater, requires ace permissions to function. See Install Docs: https://docs.sonoran.store
config.debug_mode = false
config.eBrakeWithSliders = true -- Should the vehicle activate the "E-BRAKE" when the sliders are out
config.speedType = 'mph' -- Which way should the alpr speed display? Options: 'mph' or 'kph'
config.keys = {
-- Use https://docs.fivem.net/docs/game-references/controls/#controls to find the name...
-- and use https://docs.fivem.net/docs/game-references/input-mapper-parameter-ids/keyboard/ to find index parameters for the key options below...
cameraToggle = {cmd = 'mcccamera', name = 'INPUT_PICKUP', indexParam = 'e', lang = 'Access MCC Cameras'}, -- Key to access cameras
interiorLightToggle = {cmd = 'mccintlights', name = 'INPUT_REPLAY_CYCLEMARKERRIGHT', indexParam = 'RBRACKET', lang = 'Toggle MCC Interior Lights'}, -- Key to toggle rear interior lighting
radioRepeaterToggle = {cmd = 'mccradio', name = 'INPUT_REPLAY_CYCLEMARKERLEFT', indexParam = 'LBRACKET', lang = 'Toggle MCC Radio Repeater'}, -- Key to toggle Sonoran Radio repeater
alprLockPlate = {cmd = 'mccplatelock', name = 'INPUT_FRONTEND_ENDSCREEN_ACCEPT', indexParam = 'RETURN', lang = 'Lock the current plate in the MCC ALPR'},
menuToggle = {name = 'INPUT_SCRIPTED_FLY_ZUP', indexParam = 'PAGEUP'} -- Keybind to open the door control menu, can be changed in FiveM settings
}
-- Optional Menu/Commands/Keybinds controls for doors
config.doorControl = {
method = 4, -- What method to use to control the doors | INTEGER | Options: 1 = commands, 2 = menu, 3 = none, 4 = commands & menu
commands = {
baseCmd = {cmd = 'mcctoggle', lang = 'Base MCC Toggle Command'}, -- Base command, see below for options
antenna = {cmd = 'antenna', lang = 'Toggle MCC Antenna'}, -- toggle the antenna
sliders = {cmd = 'sliders', lang = 'Toggle MCC Slide Out Sections'}, -- toggle the sliders
rearDoor = {cmd = 'reardoor', lang = 'Toggle MCC Rear Door'}, -- toggle the read door
frontLeft = {cmd = 'frontleft', lang = "Toggle MCC Driver's Door"}, -- toggle the front left door
frontRight = {cmd = 'frontright', lang = "Toggle Passenger's Door"}, -- toggle the front right door
allDoors = {cmd = 'all', lang = 'Toggle ALL MCC Doors'}, -- toggle all doors
menuToggle = {cmd = 'togglem', lang = 'Toggle MCC Control Menu'} -- command to open the door control menu
}
}
-- Translate the resource by customizing the messages below...
config.language = {
mccHelpMessage = 'Press \n~' .. config.keys.cameraToggle.name .. '~ to access cameras \n~' .. config.keys.interiorLightToggle.name .. '~ to toggle interior lights',
mccRadioHelpMessage = '\n~' .. config.keys.radioRepeaterToggle.name .. '~ to toggle mobile radio repeater',
mccMenuHelpMessage = '\n~' .. config.keys.menuToggle.name .. '~ for more controls',
radioRepeaterOn = 'MCC Radio repeater has been toggled on',
radioRepeaterOff = 'MCC Radio repeater has been toggled off',
notInMCC = 'You must be in the MCC to use this!',
noValidArgument = 'You must provide a valid argument!',
subCommand = 'Subcommand',
subCommandOptions = 'Available options: ',
missingSonoranRadio = 'Sonoran Radio not running, feature unavailable...',
antennaNotUp = 'You must raise the antenna first!\n Use "/mcctoggle antenna" do to so',
slidersOut = 'The MCC sliders are moving out... E brake will now engage.',
slidersIn = 'The MCC sliders are now in... E brake will now disengange',
intLightOn = 'The interior light has been toggled on!',
intLightOff = 'The interior light has been toggled off!',
alprLockPlate = 'Lock Plate'
}
config.alpr = {
enabled = true, -- Enable Autmatic License Plate Reader on MCC Cameras
enableSonoranCad = true, -- Enable sonorancad integration to alert on bolo/warrant/flag and be able to lock to force a CAD license plate lookup
scanAi = false -- Allow passive lookups of AI plates, will be lots of spam if you enable notifying on "no registration" in sonorancad wraithv2 plugin
}
config.radio = {
enabled = true, -- Enable MCC Mobile Repeater (requires sonoranradio resource and name must remain to be "sonoranradio")
range = 750 --MCC Mobile repeater
}