mySpeedcam - radar controls with police functions, revenue stats and more [ESX/QB]

Welcome to the release of mySpeedcam!

Features:

  • Place speedcams everywhere (physical objects)
    → Temporary and permanent speedcams are possible. Also temporary radars are saved in the database, so they’ll stay after a server restart and you don’t have to place them agin and again.

    → Also there is a command or menu integration, so your police officers could place temporary speedcams everywhere

  • Set up and edit max speed, flash range, label, society and more

  • Overview menu to see all current speedcams on the map

  • Speedcam Income menu to check how much profit every speedcame generates

    → Also you can see who was the last player which was caught speeding

  • All objects are synced between all players

  • Different societies for different speedcams are possible.

    → For example the LSPD could get the fines in the city and the Sheriff Department could get the fines in Sandy Shores and Paleto

  • Configurable jobs, which shouldn‘t get fines. They‘ll still be flashed to keep It realistic.

    → You can set up that the job is only allowed to speed, when the emergency light is on.

Showcase:

Create menu:
Can for example be opened by police officers (configurable)

Speedcam overview:

Speedcam earnings:

Event triggers
You can trigger two simple client events to open the following menus

Create a speedcam menu:

TriggerEvent('myRadarcontrol:createRadar')

Speedcam-Stats menu:

TriggerEvent('myRadarcontrol:openBossmenu')

Example integration for esx_policejob:
I’ve added those two events to the F6 menu of the esx_policejob for example.
To do this, you can go to the client/main.lua and add a new category below the existing ones:

Part 1
ESX.UI.Menu.Open('default', GetCurrentResourceName(), 'police_actions', {

        title    = 'Police',

        align    = 'top-left',

        elements = {

            {label = _U('citizen_interaction'), value = 'citizen_interaction'},

            {label = _U('vehicle_interaction'), value = 'vehicle_interaction'},

            {label = _U('object_spawner'), value = 'object_spawner'},

            {label = 'Speedcams', value = 'speedcams'}

    }}, function(data, menu)

And afterward I’ve aded a new submenu with those two events:

Part 2
elseif data.current.value == 'object_spawner' then
			ESX.UI.Menu.Open('default', GetCurrentResourceName(), 'citizen_interaction', {
				title    = _U('traffic_interaction'),
				align    = 'top-left',
				elements = {
					{label = _U('cone'), model = 'prop_roadcone02a'},
					{label = _U('barrier'), model = 'prop_barrier_work05'},
					{label = _U('spikestrips'), model = 'p_ld_stinger_s'},
					{label = _U('box'), model = 'prop_boxpile_07d'},
					{label = _U('cash'), model = 'hei_prop_cash_crate_half_full'}
			}}, function(data2, menu2)
				local playerPed = PlayerPedId()
				local coords, forward = GetEntityCoords(playerPed), GetEntityForwardVector(playerPed)
				local objectCoords = (coords + forward * 1.0)

				ESX.Game.SpawnObject(data2.current.model, objectCoords, function(obj)
					SetEntityHeading(obj, GetEntityHeading(playerPed))
					PlaceObjectOnGroundProperly(obj)
				end)
			end, function(data2, menu2)
				menu2.close()
			end)
		elseif data.current.value == 'speedcams' then
			ESX.UI.Menu.Open('default', GetCurrentResourceName(), 'citizen_interaction', {
				title    = 'Speedcams',
				align    = 'top-left',
				elements = {
					{label = 'Place a speedcam', action = 'place'},
					{label = 'Speedcam statistics', action = 'stats'},
			}}, function(data2, menu2)
				if data2.current.action == 'place' then
					TriggerEvent('myRadarcontrol:createRadar')
					menu2.close()
					menu.close()
				else
					TriggerEvent('myRadarcontrol:openBossmenu')
					menu2.close()
					menu.close()
				end
			end, function(data2, menu2)
				menu2.close()
			end)
		end

If you have trouble regarding his change, simply contact me, so I can send you a main.lua, which already contains those changes.

Regarding Escrow

This script is managed through the FiveM Keymaster.
Regarding this we paid the highest attention to the opportunity that everybody can simply modify everything without any encryption.
For this matter we only included about some unimportant lines of code, which never have to be modified and can’t cause any problems into the escrow file. So I can promise 100% that you will never even notice this protection, when you aren’t willed to leak the script.

Dependencies:

  • ESX (All versions) or QBCore

  • NativeUI

Price: 8.99€ + tax
You can get this script in my store: https://luis-scripts.tebex.io/package/4986070

Feel free to check out our last script as well:

  • myGarage: Allrounder garage system with property / job garages, saved deformation, AdvancedParking support and much more
6 Likes

I’d love this for the QB framework.

5 Likes

hmm so the radar is not saved after a reboot right ?

1 Like

Hey,

the radar is also saved after a reboot. But of course the police officers could remove them at any time.

best ! go right in my pocket now :stuck_out_tongue: nice job

1 Like

One other question… we can change the trigger ? exemple if im using other billing script ?

This is exactly the same as this: [PAID] [ESX] Sloth SpeedCam - #26 by SlothScripts

Even the notifies, the prop and the instructions for the integration in esx_policejob are EXACTLY the same…

Yeah of course.
Everything can be changed. And there are already config settings for
myBilling, okokBilling and esx_billing. Also you can easily implement your custom billing system.
Same for the notifications

Hey,

basically both are SpeedCam scripts, so a little similarity isn’t suprising.
But this script is a way different then the one you linked there.
My example for the policejob is copied from the policejob, so also a similar change there isn’t really uncommon.

But at least I can’t see any similarity in the “Create speedcam” menus,
or in the speedcam overview menus. I guess the other script doesn’t have sch a function at all.
Also I wasn’t able to find a description of a revenue menu in the other topic.
Furthermore in the other toipic there isn’t any option described where you can see who was the last, who was caught speeding. Also that’s a freazire of my script.

Also the other script has features, I didn’t thought about while developing mine:
For example in my script you can’t decide whether the owner or the driver will get the invoice.

And those are just the differences I noticed after having a short look at the feature lust of his post.
Iam pretty sure I’d find more, when I take a closer look.
But I don’t have his script and I can promise that this release has nothing to do with his.

2 Likes

Not really, sloth_speedcams has some major problems, and the support is also disastrous. Btw. the sloth-speedcam is out of date / the developer doesnt care anymore and no sign of life of him on his own discord since months, but he is everyday online.

@Luiiis always has quality code and great ideas. I will definitely pick this one up. Keep up the great work!

1 Like

nice release!

1 Like

mySpeedcam - Fix - 26.02.2022

  • Fixed some sync issues

Nice!!! Hope to see this for QB-Core :heart_eyes:

Hey @Ivan_Groebel
I’m sorry if you see it that way. However, there are no open support tickets from you, these are usually processed within 24 hours. If you are dissatisfied with the support or the script, please contact me and tell me what exactly you don’t like. I’m sure we’ll find a solution that meets exactly your demands. Furthermore, there are currently no known/reported bugs.

To get to the topic, this Speedcam is a bit similar to mine, but the code is different and not stolen.
@Luiiis I wish you great success with your script.

Hey, have a few questions

  1. can players destroy the cam with vehicles? (Object)
  2. Can you set the speed from mph to kmh?

regards

Hey,

  1. players can’t move or destory the speedcams
  2. of course…as always time format, mph/kmh can be changed simply in the Config.

Best regards,
Luis

1 Like

please create for qbcore

2 Likes

Update - 06.06.2022

  • Added support for QBCore

mySpeedcam - Update - 13.07.2022

  • Added Config options:
Config.showPlateAtDispatch = true
Config.showPlayernameAtDispatch = false
  • Added the police dispatch to the Translations part