forked from Simnation/Main
ed
This commit is contained in:
parent
ea67dd5407
commit
b4d6a488f6
1 changed files with 135 additions and 84 deletions
|
@ -170,42 +170,58 @@ if (Config.useContextMenu) then
|
||||||
|
|
||||||
local item = transferVehMenu:AddItem(model .. " " .. plate)
|
local item = transferVehMenu:AddItem(model .. " " .. plate)
|
||||||
item.closeMenuOnClick = true
|
item.closeMenuOnClick = true
|
||||||
item.OnClick = function()
|
item.OnClick = function()
|
||||||
local nearbyPlayers = GetNearbyPlayersWithNames(5.0)
|
local nearbyPlayers = GetNearbyPlayersWithNames(5.0)
|
||||||
|
|
||||||
if #nearbyPlayers == 0 then
|
if #nearbyPlayers == 0 then
|
||||||
Notification("Keine Spieler in der Nähe gefunden")
|
Notification("Keine Spieler in der Nähe gefunden")
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
-- Spielerauswahl-Menü erstellen
|
-- Spielerauswahl-Menü erstellen
|
||||||
local playerOptions = {}
|
local playerOptions = {}
|
||||||
for _, player in ipairs(nearbyPlayers) do
|
for _, player in ipairs(nearbyPlayers) do
|
||||||
table.insert(playerOptions, {
|
table.insert(playerOptions, {
|
||||||
title = player.name,
|
title = player.name,
|
||||||
description = "Entfernung: " .. math.floor(player.distance * 10) / 10 .. "m",
|
description = "Entfernung: " .. math.floor(player.distance * 10) / 10 .. "m",
|
||||||
serverPlayerId = player.serverId
|
metadata = {
|
||||||
})
|
["Spieler ID"] = player.serverId
|
||||||
end
|
},
|
||||||
|
args = {
|
||||||
lib.registerMenu({
|
serverId = player.serverId,
|
||||||
id = 'transfer_vehicle_menu',
|
name = player.name
|
||||||
title = 'Fahrzeug übergeben',
|
}
|
||||||
position = 'top-right',
|
})
|
||||||
options = playerOptions,
|
end
|
||||||
onSelect = function(selected)
|
|
||||||
local targetPlayer = playerOptions[selected].serverPlayerId
|
-- Stelle sicher, dass wir mindestens eine Option haben
|
||||||
local success = CB:Trigger("VKC:transferVehicleOwnership", plate, targetPlayer)
|
if #playerOptions == 0 then
|
||||||
|
Notification("Keine Spieler in der Nähe gefunden")
|
||||||
if success then
|
return
|
||||||
Notification("Du hast dein " .. model .. " an " .. playerOptions[selected].title .. " übergeben")
|
end
|
||||||
else
|
|
||||||
Notification("Übergabe fehlgeschlagen")
|
lib.registerMenu({
|
||||||
end
|
id = 'transfer_vehicle_menu',
|
||||||
end
|
title = 'Fahrzeug übergeben',
|
||||||
})
|
position = 'top-right',
|
||||||
|
options = playerOptions,
|
||||||
lib.showMenu('transfer_vehicle_menu')
|
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
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -484,55 +500,80 @@ function GenerateKeyInventoryNativeUI()
|
||||||
submenuTransferVehicle:AddItem(vehItem)
|
submenuTransferVehicle:AddItem(vehItem)
|
||||||
end
|
end
|
||||||
|
|
||||||
submenuTransferVehicle.OnItemSelect = function(menu, item, index)
|
submenuTransferVehicle.OnItemSelect = function(menu, item, index)
|
||||||
local selectedVehicle = vehicleData[index]
|
local selectedVehicle = vehicleData[index]
|
||||||
local plate = selectedVehicle[1]
|
local plate = selectedVehicle[1]
|
||||||
local model = GetLabelText(GetDisplayNameFromVehicleModel(selectedVehicle[2]))
|
local model = GetLabelText(GetDisplayNameFromVehicleModel(selectedVehicle[2]))
|
||||||
if (model == "NULL") then
|
if (model == "NULL") then
|
||||||
model = GetDisplayNameFromVehicleModel(selectedVehicle[2])
|
model = GetDisplayNameFromVehicleModel(selectedVehicle[2])
|
||||||
end
|
end
|
||||||
|
|
||||||
-- Menü schließen und Spielerauswahl anzeigen
|
-- Menü schließen und Spielerauswahl anzeigen
|
||||||
menuPoolNativeUI:CloseAllMenus()
|
menuPoolNativeUI:CloseAllMenus()
|
||||||
menuOpen = false
|
menuOpen = false
|
||||||
|
|
||||||
-- Spieler in der Nähe abrufen
|
-- Spieler in der Nähe abrufen
|
||||||
local nearbyPlayers = GetNearbyPlayersWithNames(5.0)
|
local nearbyPlayers = GetNearbyPlayersWithNames(5.0)
|
||||||
|
|
||||||
if #nearbyPlayers == 0 then
|
if #nearbyPlayers == 0 then
|
||||||
lib.notify({
|
lib.notify({
|
||||||
title = "Fahrzeug übergeben",
|
title = "Fahrzeug übergeben",
|
||||||
description = "Keine Spieler in der Nähe gefunden",
|
description = "Keine Spieler in der Nähe gefunden",
|
||||||
position = "top",
|
position = "top",
|
||||||
type = "error",
|
type = "error",
|
||||||
icon = "car"
|
icon = "car"
|
||||||
})
|
})
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
-- Spielerauswahl-Menü erstellen
|
-- Spielerauswahl-Menü erstellen
|
||||||
local playerOptions = {}
|
local playerOptions = {}
|
||||||
for _, player in ipairs(nearbyPlayers) do
|
for _, player in ipairs(nearbyPlayers) do
|
||||||
table.insert(playerOptions, {
|
table.insert(playerOptions, {
|
||||||
title = player.name,
|
title = player.name,
|
||||||
description = "Entfernung: " .. math.floor(player.distance * 10) / 10 .. "m",
|
description = "Entfernung: " .. math.floor(player.distance * 10) / 10 .. "m",
|
||||||
serverPlayerId = player.serverId
|
metadata = {
|
||||||
})
|
["Spieler ID"] = player.serverId
|
||||||
end
|
},
|
||||||
|
args = {
|
||||||
lib.registerMenu({
|
serverId = player.serverId,
|
||||||
id = 'transfer_vehicle_menu',
|
name = player.name
|
||||||
title = 'Fahrzeug übergeben',
|
}
|
||||||
position = 'top-right',
|
})
|
||||||
options = playerOptions,
|
end
|
||||||
onSelect = function(selected)
|
|
||||||
local targetPlayer = playerOptions[selected].serverPlayerId
|
-- 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)
|
local success = CB:Trigger("VKC:transferVehicleOwnership", plate, targetPlayer)
|
||||||
|
|
||||||
if success then
|
if success then
|
||||||
lib.notify({
|
lib.notify({
|
||||||
title = "Fahrzeug übergeben",
|
title = "Fahrzeug übergeben",
|
||||||
description = "Du hast dein " .. model .. " an " .. playerOptions[selected].title .. " übergeben",
|
description = "Du hast dein " .. model .. " an " .. args.name .. " übergeben",
|
||||||
position = "top",
|
position = "top",
|
||||||
type = "success",
|
type = "success",
|
||||||
icon = "car"
|
icon = "car"
|
||||||
|
@ -546,11 +587,21 @@ function GenerateKeyInventoryNativeUI()
|
||||||
icon = "car"
|
icon = "car"
|
||||||
})
|
})
|
||||||
end
|
end
|
||||||
|
else
|
||||||
|
lib.notify({
|
||||||
|
title = "Fahrzeug übergeben",
|
||||||
|
description = "Fehler bei der Spielerauswahl",
|
||||||
|
position = "top",
|
||||||
|
type = "error",
|
||||||
|
icon = "car"
|
||||||
|
})
|
||||||
end
|
end
|
||||||
})
|
end
|
||||||
|
})
|
||||||
lib.showMenu('transfer_vehicle_menu')
|
|
||||||
end
|
lib.showMenu('transfer_vehicle_menu')
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
local submenuShowKeys = menuPoolNativeUI:AddSubMenu(keyInvMenuNativeUI, Config.Strings.NUI.keysTitle, Config.Strings.NUI.keysDesc)
|
local submenuShowKeys = menuPoolNativeUI:AddSubMenu(keyInvMenuNativeUI, Config.Strings.NUI.keysTitle, Config.Strings.NUI.keysDesc)
|
||||||
submenuShowKeys.ParentItem:RightLabel(">")
|
submenuShowKeys.ParentItem:RightLabel(">")
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue