forked from Simnation/Main
edi
This commit is contained in:
parent
10000b6b8c
commit
3a764e7c31
4 changed files with 114 additions and 14 deletions
|
@ -28,6 +28,31 @@ local function playSound(audioName, audioDict)
|
|||
end)
|
||||
end
|
||||
|
||||
local function promptTrackerName(serialNumber, currentName)
|
||||
local input = lib.inputDialog(locale('vt_name_tracker') or 'Name Your Tracker', {
|
||||
{
|
||||
type = 'input',
|
||||
label = locale('vt_tracker_name') or 'Tracker Name',
|
||||
description = locale('vt_name_description') or 'Enter a name to help identify this tracker',
|
||||
default = currentName or '',
|
||||
required = true
|
||||
}
|
||||
})
|
||||
|
||||
if not input or input[1] == '' then return false end
|
||||
|
||||
-- Update the tracker name on the server
|
||||
lib.callback('qb_vehicle_tracker:updateTrackerName', false, function(success)
|
||||
if success then
|
||||
uiNotify(locale('vt_name_updated') or 'Tracker name updated', 'success')
|
||||
else
|
||||
uiNotify(locale('vt_name_failed') or 'Failed to update tracker name', 'error')
|
||||
end
|
||||
end, serialNumber, input[1])
|
||||
|
||||
return true
|
||||
end
|
||||
|
||||
-- Events
|
||||
RegisterNetEvent('qb_vehicle_tracker:client:showTrackerMenu', function(citizenid)
|
||||
lib.callback('qb_vehicle_tracker:getPlayerTrackers', false, function(trackers)
|
||||
|
@ -38,12 +63,45 @@ RegisterNetEvent('qb_vehicle_tracker:client:showTrackerMenu', function(citizenid
|
|||
|
||||
local options = {}
|
||||
for _, tracker in ipairs(trackers) do
|
||||
local displayName = tracker.name or tracker.vehiclePlate
|
||||
|
||||
table.insert(options, {
|
||||
title = (locale('vt_vehicle_plate') or "Vehicle Plate") .. ': ' .. tracker.vehiclePlate,
|
||||
description = (locale('vt_serial_number') or "Serial Number") .. ': ' .. tracker.serialNumber,
|
||||
event = 'qb_vehicle_tracker:client:locateTracker',
|
||||
title = displayName,
|
||||
description = (locale('vt_vehicle_plate') or "Vehicle Plate") .. ': ' .. tracker.vehiclePlate,
|
||||
metadata = {
|
||||
{label = locale('vt_serial_number') or "Serial Number", value = tracker.serialNumber}
|
||||
},
|
||||
icon = 'car',
|
||||
args = tracker.serialNumber
|
||||
onSelect = function()
|
||||
-- Show submenu for this tracker
|
||||
lib.registerContext({
|
||||
id = 'tracker_options_' .. tracker.serialNumber,
|
||||
title = displayName,
|
||||
menu = 'vt_menu',
|
||||
options = {
|
||||
{
|
||||
title = locale('vt_locate_tracker') or "Locate Vehicle",
|
||||
description = locale('vt_locate_description') or "Show the vehicle's location on the map",
|
||||
icon = 'location-dot',
|
||||
onSelect = function()
|
||||
TriggerEvent('qb_vehicle_tracker:client:locateTracker', tracker.serialNumber)
|
||||
end
|
||||
},
|
||||
{
|
||||
title = locale('vt_rename_tracker') or "Rename Tracker",
|
||||
description = locale('vt_rename_description') or "Change the name of this tracker",
|
||||
icon = 'pen',
|
||||
onSelect = function()
|
||||
promptTrackerName(tracker.serialNumber, tracker.name)
|
||||
-- Refresh the menu after renaming
|
||||
Wait(500)
|
||||
TriggerEvent('qb_vehicle_tracker:client:showTrackerMenu', citizenid)
|
||||
end
|
||||
}
|
||||
}
|
||||
})
|
||||
lib.showContext('tracker_options_' .. tracker.serialNumber)
|
||||
end
|
||||
})
|
||||
end
|
||||
|
||||
|
@ -160,7 +218,7 @@ end)
|
|||
RegisterNetEvent('qb_vehicle_tracker:client:locateTracker', function(serialNumber)
|
||||
if serialNumber == nil then uiNotify(locale('vt_not_placed'), 'error') return end
|
||||
|
||||
lib.callback('qb_vehicle_tracker:getTrackedVehicleBySerial', false, function(veh, vehCoords)
|
||||
lib.callback('qb_vehicle_tracker:getTrackedVehicleBySerial', false, function(veh, vehCoords, trackerName)
|
||||
if veh == nil then uiNotify(locale('vt_unable_connect'), 'error') return end
|
||||
|
||||
local blip = AddBlipForCoord(vehCoords.x , vehCoords.y, 0.0)
|
||||
|
@ -173,7 +231,7 @@ RegisterNetEvent('qb_vehicle_tracker:client:locateTracker', function(serialNumbe
|
|||
PulseBlip(blip)
|
||||
SetBlipAsShortRange(blip, false)
|
||||
BeginTextCommandSetBlipName('STRING')
|
||||
AddTextComponentSubstringPlayerName('Tracker ' .. veh)
|
||||
AddTextComponentSubstringPlayerName(trackerName or ('Tracker ' .. veh))
|
||||
EndTextCommandSetBlipName(blip)
|
||||
SetNewWaypoint(vehCoords.x , vehCoords.y)
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue