MSK JobGPS - GPS & Panicbutton for ESX and QBCore [ESX/QBCore]

MSK JobGPS

GPS & Panicbutton for ESX and QBCore

Github Download

Description

  • Works on both ESX and QBCore (framework is auto detected through msk_core)
  • Use an Item or Command to activate/deactivate your GPS signal and see the blips of other players with the same job
  • The blip icon shows how a player is travelling: on foot, bike (bicycle & motorcycle), car, boat, helicopter or plane
  • If the player is in OneSync distance the blip is updated in real time, otherwise it is updated every X seconds
  • If you die, change your job, drop the tracker item or leave the server the blip is removed
  • You can configure which jobs may use the GPS or the panicbutton
  • If you use the panicbutton the blip color changes and all players with the same job get a notification
  • The nearest players also get a notification when the panicbutton is used

Requirements

My other Scripts

Paid

Free

7 Likes

can you PLS do a qbcore version. Searching Months for this

nice work bro

1 Like

yes I will do that :slight_smile:

1 Like

Thanks

can you do also a gps button?
Like to send a gps to all on duty Staff
and a keybind to instant set waypoint to the GPS/Panic?

There is the Panicbutton Function. This will send a notification and the blip of that player will change to another color.
A Waypoint will be added too.

You can add the function of your dispatch system for sending coords.

Update v1.1

  • Fixed serverside error at line 124

Update v1.2

  • Fixed error line 139 after player disconnect

u can do like if i drop the item gps the gps deactiave

Already implemented

Can we get maybe showcase?

Update v1.3.4

  • Added Notification if someone activates or deactives the GPS

Update v1.3.5

  • Added Config.StayActivated
  • Changes to the blips

Update v1.3.6

  • Several Bugfixes
  • Added translations.lua

Update v1.3.7

  • Some Bugfixes
  • Added new Translation ['panic_pressed']
1 Like

v1.5.0

Make the whole script framework-agnostic and show how each player is travelling.

Framework support:

  • Route everything through the msk_core abstraction (MSK.*) instead of direct ESX calls, so the script now runs on both ESX and QBCore
  • Usable item registered for both frameworks via MSK.RegisterItem, item ownership checked via MSK.HasItem
  • Job change handled for ESX (esx:setJob) and QBCore (QBCore:Server:OnJobUpdate)
  • Disconnect handled via the base playerDropped event plus esx:playerLogout and QBCore:Server:OnPlayerUnload
  • Death reported framework-agnostic via msk_core:onPlayerDeath
  • Drop the es_extended dependency and imports, depend on msk_core only (framework is auto-detected)

Vehicle-type blips:

  • The server determines each tracked player’s category via GetVehiclePedIsIn and GetVehicleType (OneSync) and sends it with the blip data
  • Blip sprite now reflects on foot, bike (bicycle and motorcycle), car, boat, helicopter or plane
  • Sprites are configurable in config.lua, live updated within OneSync range and every refresh tick beyond it

v1.4.2

  • Poll GPS item ownership inventory-agnostic via MSK.HasItem in the refresh loop, so dropping the tracker under ox_inventory (and other non-ESX inventories) deactivates the GPS too
  • Keep esx:onRemoveInventoryItem as the instant path for the ESX default inventory
  • Shared deactivation logic extracted into handleGpsItemRemoved

v1.4.1

  • Removed the “notifyNearestPlayers” Net event; neighbor notifications and distance checks now run on the server side
  • Converted esx:playerLogout, esx:playerDropped, and esx:setJob to AddEventHandler so clients can no longer spoof them
  • esx:setJob: Fixed inverted condition and incorrect job field; GPS is now actually cleared when changing jobs
  • Only send a slimmed-down player data DTO to clients instead of the complete xPlayer object
  • Protected against null access in the client’s removeBlipById after the Wait
  • Rate limit for the panic button; no more double notifications; playerJobs cleaned up upon disconnect
1 Like