Live Updates – You can make live updates to signs around the map with our in-game menu.
Multiple Icons – We’ve got multiple icons including speeds (20, 30, 40, 50, 50 & National Speed (UK)) along with arrow left, arrow right and lane closed.
Textures Editable – You can re-texture the speeds should you wish to do so.
Custom Menu – We’ve designed an in-game menu which is realistic for you to easily update the lanes.
Fully Synced – This is fully synced to all players.
Permissions – We’ve added support for QBCore, ESX and vRP permissions straight out of the box.
Pannello di controllo – Il nostro pannello di controllo in gioco consente ai tuoi giocatori di impostare facilmente l'icona o la velocità utilizzata sopra le corsie in tempo reale.
Modifiche remote – I portali autostradali possono essere aggiornati in tutta la mappa usando un solo comando, con una mappa che ti permette di selezionare la posizione desiderata da modificare.
Sistema di videosorveglianza – Visualizza e sposta facilmente le telecamere a circuito chiuso sui portali in tutta la mappa dal pannello di controllo.
Modalità USA / UK / UE – Smart Motorways supporta tre modalità, inclusi Stati Uniti, Regno Unito ed Europa. Ciò significa che supportiamo un'ampia gamma di velocità diverse fin da subito per il tuo server.
Integrazione Smart Signs – Smart Motorways è integrato con Smart Signs, il che significa che se hai una copia di entrambi potrai aggiungere messaggi/icone su una nuova bacheca sopra ogni portale.
Integrazione telecamere di velocità intelligenti – Smart Motorways è integrato con Smart Speed Cameras, il che significa che se hai una copia di entrambi, le telecamere su tutti i portali diventeranno attive e si adatteranno dinamicamente al limite di velocità impostato sopra ogni singola corsia, aiutando con l'applicazione della velocità.
Supporto icone – Oltre al supporto per le velocità, abbiamo icone che includono freccia sinistra e corsia chiusa.
Registrazione Discord – La nostra risorsa può integrarsi in Discord con la registrazione tramite webhook. Questo può registrare qualsiasi modifica sui portali autostradali e conservare un registro per il futuro.
Insegne preconfigurate – Abbiamo preconfigurato oltre 60 posizioni sulla mappa, il che significa che Smart Motorways è pronto all'uso fin da subito.
Risparmio di Memoria – Tutte le modifiche apportate a Smart Motorways sulla mappa verranno salvate in memoria, il che significa che saranno ancora presenti dopo i riavvii. Puoi facilmente cancellare tutti i segnali con il nostro comando /resetsmartmotorways.
Texture Emissive – Queste icone sono luminose sia di giorno che di notte, il che le rende in grado di catturare l'attenzione dei conducenti in ogni momento della giornata.
Supporto multi corsia – Abbiamo il supporto per strade a due, tre e quattro corsie.
Aggiungi facilmente posizioni – Con il nostro comando per sviluppatori, puoi aggiungere facilmente nuove posizioni nel gioco che vengono salvate automaticamente per il riavvio successivo.
Configurazione
config = {
-- We've included speed options for the UK, EU, and US based servers
-- Simply type "UK", "EU", or "US" to change the speed options
iconPack = "UK",
-- If you add custom icons, you can add them here
-- Speed-related icons will be used for speed cameras, and must contain the speed limit in the name as numbers only.
-- E.g. an icon of speed_60 will be used for a speed limit of 60. An icon of 3_speed_40 would result in a speed limit of 340.
-- Do NOT edit this section unless you know what you are doing and have modelled custom icons.
iconPacks = {
["UK"] = {
"arrow_left",
"arrow_right",
"red_x",
"speed_20",
"speed_30",
"speed_40",
"speed_50",
"speed_60",
"national_speed",
},
["EU"] = {
"arrow_left",
"arrow_right",
"red_x",
"speed_20",
"speed_30",
"speed_40",
"speed_50",
"speed_60",
"speed_70",
"speed_80",
"speed_90",
"speed_100",
"speed_110",
"speed_120",
"speed_130",
"speed_140",
"speed_150",
},
["US"] = {
"arrow_left",
"arrow_right",
"red_x",
"bv_motorway_speed_15",
"bv_motorway_speed_20",
"bv_motorway_speed_25",
"bv_motorway_speed_30",
"bv_motorway_speed_35",
"bv_motorway_speed_40",
"bv_motorway_speed_45",
"bv_motorway_speed_50",
"bv_motorway_speed_55",
"bv_motorway_speed_60",
"bv_motorway_speed_65",
"bv_motorway_speed_70",
"bv_motorway_speed_75",
"bv_motorway_speed_80",
"bv_motorway_speed_85",
},
},
cctvKeys = {
up = {0, 172},
down = {0, 173},
left = {0, 174},
right = {0, 175},
leaveCam = {0, 200},
},
-- The distance in which the sign and its speed limits will load/unload at
loadDistance = 200.0,
-- This will enable debug printing on both the client and the server. This should be set to false most of the time.
developerMode = false,
integrations = {
smartSpeedCameras = {
enabled = false, -- Only enable if you have the Smart Speed Cameras resource installed and up to date
resourceName = "SmartSpeedCameras", -- This is the name of the resource which Smart Speed Cameras is installed under
cooldown = 60, -- This is the cooldown in seconds between speed camera detections. This is to prevent spam fines.
},
smartSigns = {
enabled = false, -- Only enable if you have the Smart Signs resource installed and up to date
resourceName = "SmartSigns", -- This is the name of the resource which Smart Signs is installed under
}
},
saveSpeedsOnChange = true, -- If this is set to true, the speeds will be saved to locations.json when changed. If false, the speeds will reset on restart.
saveTextOnChange = true, -- If this is set to true, the text will be saved to locations.json when changed. If false, the text will reset on restart.
saveIconOnChange = true, -- If this is set to true, the icon will be
closeMenuButton = {0, 177},
-- This allows you to enable Discord logging for the signs
-- You must add your webhook in sv_utils.lua
logging = {
enabled = false,
displayName = "Smart Motorways",
colour = 31487,
title = "**New Sign Log**",
icon = "https://i.imgur.com/dcOQmpA.jpg",
footerIcon = "https://i.imgur.com/n3n7JNW.png",
dateFormat = "%d-%m-%Y %H:%M:%S", -- Day-Month-Year Hour-Minute-Second
},
resetSignsCommand = {
enabled = true,
commandName = "resetsmartmotorway",
Permissions = {
EnablePermissions = false, -- If set to false, all below job checks will be disabled, even if they are enabled in the config.lua
AcePermissions = {
Permission = "update.motorway.sign",
Enabled = false,
},
ESX = {
Enabled = false,
CheckJob = {
Enabled = false, -- Enable this to use ESX job check
Jobs = {"police"} -- A user can have any of the following jobs, allowing you to add multiple
}
},
-- We've added vRP integration. All you need to do is enable it below. Then, configure if you wish to check for groups or permissions, or even both
vRP = {
Enabled = false,
CheckGroup = {
Enabled = false, -- Enable this to use vRP group check
Groups = {"police"}, -- A user can have any of the following groups, meaning you can add different jobs
},
CheckPermission = {
Enabled = false, -- Enable this to use vRP permission check
Permissions = {"police"} -- A user can have any of the following permissions, allowing you to add multiple
},
},
-- We've added QBCore integration. All you need to do is enable it below. Then, configure if you wish to check for jobs or permissions, or even both
QBCore = {
Enabled = false,
CheckJob = {
Enabled = false, -- Enable this to use QBCore job check
Jobs = {"police"}, -- A user can have any of the following jobs, meaning you can add different jobs
},
CheckPermission = {
Enabled = false, -- Enable this to use QBCore permission check
Permissions = {"police"}, -- A user can have any of the following permissions, allowing you to add multiple
},
},
-- We've added QBX integration. All you need to do is enable it below. Then, configure if you wish to check for jobs or permissions, or even both
QBX = {
Enabled = false,
CheckJob = {
Enabled = false, -- Enable this to use QBX job check
Jobs = {"police"}, -- A user can have any of the following jobs, meaning you can add different jobs
}
},
},
},
selectSignCommand = {
commandName = "selectsign",
Permissions = {
EnablePermissions = false, -- If set to false, all below job checks will be disabled, even if they are enabled in the config.lua
AcePermissions = {
Permission = "update.motorway.sign",
Enabled = false,
},
ESX = {
Enabled = false,
CheckJob = {
Enabled = false, -- Enable this to use ESX job check
Jobs = {"police"} -- A user can have any of the following jobs, allowing you to add multiple
}
},
-- We've added vRP integration. All you need to do is enable it below. Then, configure if you wish to check for groups or permissions, or even both
vRP = {
Enabled = false,
CheckGroup = {
Enabled = false, -- Enable this to use vRP group check
Groups = {"police"}, -- A user can have any of the following groups, meaning you can add different jobs
},
CheckPermission = {
Enabled = false, -- Enable this to use vRP permission check
Permissions = {"police"} -- A user can have any of the following permissions, allowing you to add multiple
},
},
-- We've added QBCore integration. All you need to do is enable it below. Then, configure if you wish to check for jobs or permissions, or even both
QBCore = {
Enabled = false,
CheckJob = {
Enabled = false, -- Enable this to use QBCore job check
Jobs = {"police"}, -- A user can have any of the following jobs, meaning you can add different jobs
},
CheckPermission = {
Enabled = false, -- Enable this to use QBCore permission check
Permissions = {"police"}, -- A user can have any of the following permissions, allowing you to add multiple
},
},
-- We've added QBX integration. All you need to do is enable it below. Then, configure if you wish to check for jobs or permissions, or even both
QBX = {
Enabled = false,
CheckJob = {
Enabled = false, -- Enable this to use QBX job check
Jobs = {"police"}, -- A user can have any of the following jobs, meaning you can add different jobs
}
},
},
},
directionColours = {
["north"] = 17,
["south"] = 18,
["east"] = 17,
["west"] = 18,
},
-- Here you can translate the resource into another language
translations = {
selectSignHelp = "Select a smart motorways sign",
editingSign = "Now editing sign ID: ",
hasBeenSetTo = " has been set to: ",
speedLimitOfLane = "Speed limit of lane ",
symbolOfLane = "Symbol of lane ",
speedUnit = "mph",
resetAll = "All lanes have been reset.",
resetSignsHelp = "Reset all Smart Motorways",
},
-- We do not recommend editing below this section:
-- The offsets which the signs are placed at in comparison to the sign
spawnOffsets = {
-- Offsets for two lane setups
[2] = {
[1] = {x = -3.9, y = -2.1, z = 3.65},
[2] = {x = 1.61, y = -2.1, z = 3.65}
},
-- Offsets for three lane setups
[3] = {
[1] = {x = -6.04, y = -2.2, z = 3.65},
[2] = {x = -0.925, y = -2.2, z = 3.65},
[3] = {x = 3.82, y = -2.2, z = 3.65}
},
-- Offsets for four lane setups
[4] = {
[1] = {x = -9.7801, y = -2.2, z = 3.65},
[2] = {x = -3.21, y = -2.2, z = 3.65},
[3] = {x = 2.52, y = -2.1, z = 3.65},
[4] = {x = 8.0501, y = -2.1, z = 3.65}
}
},
-- Here you can define the various locations of the signs around the map.
-- Here you can configure the sound effect which is played when a sign is successfully updated
soundEffect = {
enabled = true,
name = "CONFIRM_BEEP",
dict = "HUD_MINI_GAME_SOUNDSET",
},
gantryModels = {
[2] = `2_lane`,
[3] = `3_lane`,
[4] = `4_lane`,
},
}
Setup guide
The delivered package includes a London Studios documentation shortcut; these local notes preserve the essential deployment boundary.
Requirements and preparation
Choose ACE, ESX, QBCore or QBX permissions for motorway controls.
A map/location review before enabling the preconfigured gantries.
Installazione
Estrarre SmartMotorways and open the package documentation shortcut.
Configure permissions, commands and enabled gantry locations in config.lua.
Start the resource and add any custom locations with its developer workflow on staging.
Configuration checkpoints
Verify remote sign changes, persistence after restart and reset behavior.
Safety: Back up the affected resource and database tables, use credentials owned by your server, and complete a staging test before replacing a live resource. The full configuration remains in the download package.