1
0
Fork 0
forked from Simnation/Main
This commit is contained in:
Nordi98 2025-08-06 14:31:25 +02:00
parent ea67dd5407
commit b4d6a488f6

View file

@ -170,42 +170,58 @@ if (Config.useContextMenu) then
local item = transferVehMenu:AddItem(model .. " " .. plate)
item.closeMenuOnClick = true
item.OnClick = function()
local nearbyPlayers = GetNearbyPlayersWithNames(5.0)
if #nearbyPlayers == 0 then
Notification("Keine Spieler in der Nähe gefunden")
return
end
-- Spielerauswahl-Menü erstellen
local playerOptions = {}
for _, player in ipairs(nearbyPlayers) do
table.insert(playerOptions, {
title = player.name,
description = "Entfernung: " .. math.floor(player.distance * 10) / 10 .. "m",
serverPlayerId = player.serverId
})
end
lib.registerMenu({
id = 'transfer_vehicle_menu',
title = 'Fahrzeug übergeben',
position = 'top-right',
options = playerOptions,
onSelect = function(selected)
local targetPlayer = playerOptions[selected].serverPlayerId
local success = CB:Trigger("VKC:transferVehicleOwnership", plate, targetPlayer)
if success then
Notification("Du hast dein " .. model .. " an " .. playerOptions[selected].title .. " übergeben")
else
Notification("Übergabe fehlgeschlagen")
end
end
})
lib.showMenu('transfer_vehicle_menu')
item.OnClick = function()
local nearbyPlayers = GetNearbyPlayersWithNames(5.0)
if #nearbyPlayers == 0 then
Notification("Keine Spieler in der Nähe gefunden")
return
end
-- Spielerauswahl-Menü erstellen
local playerOptions = {}
for _, player in ipairs(nearbyPlayers) do
table.insert(playerOptions, {
title = player.name,
description = "Entfernung: " .. math.floor(player.distance * 10) / 10 .. "m",
metadata = {
["Spieler ID"] = player.serverId
},
args = {
serverId = player.serverId,
name = player.name
}
})
end
-- Stelle sicher, dass wir mindestens eine Option haben
if #playerOptions == 0 then
Notification("Keine Spieler in der Nähe gefunden")
return
end
lib.registerMenu({
id = 'transfer_vehicle_menu',
title = 'Fahrzeug übergeben',
position = 'top-right',
options = playerOptions,
onSelect = function(selected, scrollIndex, args)
if args and args.serverId then
local targetPlayer = args.serverId
local success = CB:Trigger("VKC:transferVehicleOwnership", plate, targetPlayer)
if success then
Notification("Du hast dein " .. model .. " an " .. args.name .. " übergeben")
else
Notification("Übergabe fehlgeschlagen")
end
else
Notification("Fehler bei der Spielerauswahl")
end
end
})
lib.showMenu('transfer_vehicle_menu')
end
end
@ -484,55 +500,80 @@ function GenerateKeyInventoryNativeUI()
submenuTransferVehicle:AddItem(vehItem)
end
submenuTransferVehicle.OnItemSelect = function(menu, item, index)
local selectedVehicle = vehicleData[index]
local plate = selectedVehicle[1]
local model = GetLabelText(GetDisplayNameFromVehicleModel(selectedVehicle[2]))
if (model == "NULL") then
model = GetDisplayNameFromVehicleModel(selectedVehicle[2])
end
-- Menü schließen und Spielerauswahl anzeigen
menuPoolNativeUI:CloseAllMenus()
menuOpen = false
-- Spieler in der Nähe abrufen
local nearbyPlayers = GetNearbyPlayersWithNames(5.0)
if #nearbyPlayers == 0 then
lib.notify({
title = "Fahrzeug übergeben",
description = "Keine Spieler in der Nähe gefunden",
position = "top",
type = "error",
icon = "car"
})
return
end
-- Spielerauswahl-Menü erstellen
local playerOptions = {}
for _, player in ipairs(nearbyPlayers) do
table.insert(playerOptions, {
title = player.name,
description = "Entfernung: " .. math.floor(player.distance * 10) / 10 .. "m",
serverPlayerId = player.serverId
})
end
lib.registerMenu({
id = 'transfer_vehicle_menu',
title = 'Fahrzeug übergeben',
position = 'top-right',
options = playerOptions,
onSelect = function(selected)
local targetPlayer = playerOptions[selected].serverPlayerId
submenuTransferVehicle.OnItemSelect = function(menu, item, index)
local selectedVehicle = vehicleData[index]
local plate = selectedVehicle[1]
local model = GetLabelText(GetDisplayNameFromVehicleModel(selectedVehicle[2]))
if (model == "NULL") then
model = GetDisplayNameFromVehicleModel(selectedVehicle[2])
end
-- Menü schließen und Spielerauswahl anzeigen
menuPoolNativeUI:CloseAllMenus()
menuOpen = false
-- Spieler in der Nähe abrufen
local nearbyPlayers = GetNearbyPlayersWithNames(5.0)
if #nearbyPlayers == 0 then
lib.notify({
title = "Fahrzeug übergeben",
description = "Keine Spieler in der Nähe gefunden",
position = "top",
type = "error",
icon = "car"
})
return
end
-- Spielerauswahl-Menü erstellen
local playerOptions = {}
for _, player in ipairs(nearbyPlayers) do
table.insert(playerOptions, {
title = player.name,
description = "Entfernung: " .. math.floor(player.distance * 10) / 10 .. "m",
metadata = {
["Spieler ID"] = player.serverId
},
args = {
serverId = player.serverId,
name = player.name
}
})
end
-- Stelle sicher, dass wir mindestens eine Option haben
if #playerOptions == 0 then
lib.notify({
title = "Fahrzeug übergeben",
description = "Keine Spieler in der Nähe gefunden",
position = "top",
type = "error",
icon = "car"
})
return
end
lib.registerMenu({
id = 'transfer_vehicle_menu',
title = 'Fahrzeug übergeben',
position = 'top-right',
options = playerOptions,
onClose = function()
-- Optional: Öffne das Hauptmenü wieder
GenerateKeyInventoryNativeUI()
keyInvMenuNativeUI:Visible(true)
menuOpen = true
end,
onSelect = function(selected, scrollIndex, args)
if args and args.serverId then
local targetPlayer = args.serverId
local success = CB:Trigger("VKC:transferVehicleOwnership", plate, targetPlayer)
if success then
lib.notify({
title = "Fahrzeug übergeben",
description = "Du hast dein " .. model .. " an " .. playerOptions[selected].title .. " übergeben",
description = "Du hast dein " .. model .. " an " .. args.name .. " übergeben",
position = "top",
type = "success",
icon = "car"
@ -546,11 +587,21 @@ function GenerateKeyInventoryNativeUI()
icon = "car"
})
end
else
lib.notify({
title = "Fahrzeug übergeben",
description = "Fehler bei der Spielerauswahl",
position = "top",
type = "error",
icon = "car"
})
end
})
lib.showMenu('transfer_vehicle_menu')
end
end
})
lib.showMenu('transfer_vehicle_menu')
end
local submenuShowKeys = menuPoolNativeUI:AddSubMenu(keyInvMenuNativeUI, Config.Strings.NUI.keysTitle, Config.Strings.NUI.keysDesc)
submenuShowKeys.ParentItem:RightLabel(">")