[ESX - ENG/DE/FR] Mainhatten-ShotSpotter, Advanced and easy configurable (PAID)

Hey guys,

today I want to present my Advanced Shot-Spotter System for ESX.

Features :

  • Easy to configure
  • Job Whitelist (You can enter Jobs, which should be able to see the Shot Spotter Notification and Blip)
  • If a weapon is equipped with a suppressor, it wont be detected
  • Weapon Blacklist
  • Picture Notification (Changable Image/Title/Sutitle/Message)

Showcase Video:
YouTube Preview

The script comes with a language config, so you can set up this script in any language you want. English, German and French configuration is already there.

Code is accessible No (only Config, Working with Keymaster)
Subscription-based No
Lines (approximately) 280 Lines
Requirements ESX
Support Yes on Discord

ESX v.1.1, ESX v.1.2 and ESX v.1 final and ESX-legacy are supported.

Config File:

Config File
Config = {}
Translation = {}

Config.Locale = "en" -- Current available de/en/fr

Config.AutorizedJobs = {'police'} -- Add more if you want


Config.BlipSettings = {
	FirstBlip = {
		Sprite = 161, -- First Blip | More Blips --> https://docs.fivem.net/docs/game-references/blips/#blips
		Color = 1, -- Default 1 = Red | More Colors https://docs.fivem.net/docs/game-references/blips/#blip-colors
		BlipRadius = 1000.0,
	},
	SecondBlip = {
		DetectionTime = 12000,  --Sets the time the blip will remain on the map after a gunshot is detected. (In milliseconds)
		Sprite = 459, -- Second Blip | More Blips --> https://docs.fivem.net/docs/game-references/blips/#blips
		Color = 1, --  Default 1 = Red | More Colors https://docs.fivem.net/docs/game-references/blips/#blip-colors
		BlipRadius = 150.0,
	},
	RemoveBlips = 100000 -- Specifies the time when the blips should be removed. (In milliseconds)
}




Config.NotifyTime = 10 -- Specifies the time after the shots when the Notify should show up (In milliseconds)
Config.NotifyCooldown = 80000 -- The time in which no new notifications are shown in the zone if you get too many in a row. (In milliseconds)
Config.NotifyPicture = "CHAR_CALL911" -- Insert your Picture ID here. You can find more pictures here --> https://wiki.■■■■■■■■■■■/index.php?title=Notification_Pictures

Config.Notify = function(icon, message, title, subtitle, type, time) -- Configure your Notification Events (This is the default ESX Picture Notification )
	icon = icon or ""
    message = message or "No Input"
	title = title or "No Input"
	subtitle = subtitle or "No Input"
    type = type or "info"
    time = time or 3000
    if IsDuplicityVersion() then
        TriggerClientEvent('esx:showNotification', source, icon, message, title, subtitle, type, time) -- Server Side
	else
        ESX.ShowAdvancedNotification(title, subtitle, message, icon) -- Client Side
    end
end

Config.ShowSubtitle = true -- True if you want to show the Subtitle of the Notification


Config.SoundOptions = { -- If you Disable both it won´t play a sound
	Default = true, 
	Custom = false,
	CustomSettings = { --Insert your Sound Names -- Find your sound here --> https://wiki.■■■■■■■■■■■/index.php?title=FrontEndSoundlist 
		SoundName = "TIMER_STOP", ---> Sound Name from Table "SoundName"
		SoundSetName = "HUD_MINI_GAME_SOUNDSET" ---> Sound Name from Table "SoundSetName"
	}
}


-- Blacklisted Weapons which won´t be detected.
Config.BlacklistedWeapons = {
	'WEAPON_STUNGUN',
	'WEAPON_BZGAS',
	'WEAPON_SNOWBALL',
	'WEAPON_BALL',
	'WEAPON_FLARE',
	'WEAPON_PETROLCAN',
	'WEAPON_FIREEXTINGUISHER'
}


Translation = { -- Feel free to contact me on discord if you want to share more Translation. --> Mainhattan#9673
    ['de'] = {
        ['ShotNotificationTitle'] = 'NOTRUF',
		['ShotNotificationSubtitle'] = 'Schüsse gemeldet',
		['ShotNotificationMessage1'] = 'Es wurden Schüsse in der Nähe gemeldet!',
		['ShotNotificationMessage2'] = '~n~Standort: ~n~~y~',
		['ShotNotificationMessageSpacer'] = ' / ',
    },
	['en'] = {
        ['ShotNotificationTitle'] = 'DISPATCH',
		['ShotNotificationSubtitle'] = 'Shots reported',
		['ShotNotificationMessage1'] = 'Shots have been reported nearby!',
		['ShotNotificationMessage2'] = '~n~Location: ~n~~y~',
		['ShotNotificationMessageSpacer'] = ' / ',
    },
	['fr'] = {
        ['ShotNotificationTitle'] = 'EXPÉDITION',
		['ShotNotificationSubtitle'] = 'Coups de feu signalés',
		['ShotNotificationMessage1'] = 'Des coups de feu ont été signalés à proximité !',
		['ShotNotificationMessage2'] = '~n~Emplacement: ~n~~y~',
		['ShotNotificationMessageSpacer'] = ' / ',
    }
}

Updates

Update - 1.1 - Blip Creation fixed

  • Blip Creation fixed (now really only the authorized jobs can see the blip)

Update - 1.2 - Custom Notification

  • From now on you are able to use custom notifications for your Shot-Spotter.
    You can configure the Notification Events in the config file.

This script is no longer supported by Mainhatten Scripts.

Mainhatten Scripts → CLOSED

The new version of the script can be found here:
SHOP
→ Discord: Discord

Update 1.1

  • Blip Creation fixed (now really only the authorized jobs can see the blip)
    → You can download the update at your Keymaster Site

Update 1.2

  • From now on you are able to use custom notifications for your Shot-Spotter.
    You can configure the Notification Events in the config file.

→ Download available at your Keymaster Site

Hello, on which order i need to start the resource, because only works on me when i reload the script