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
	
	 Nordi98
						Nordi98