local QBCore = exports['qb-core']:GetCoreObject() local MenuPool = NativeUI.CreatePool() local MainMenu = NativeUI.CreateMenu("Admin Menü", "Optionen auswählen") MenuPool:Add(MainMenu) -- Variables local zoneRadius = 50.0 local zoneBlip = nil -- Sperrzone erstellen function AddZoneMenu(menu) local submenu = MenuPool:AddSubMenu(menu, "Sperrzone") local radiusItem = NativeUI.CreateSliderItem("Radius", {50, 100, 200, 300, 400, 500}, 1, false, "Wähle die Größe der Zone") submenu:AddItem(radiusItem) local createZoneItem = NativeUI.CreateItem("Zone erstellen", "Erstellt eine Sperrzone") submenu:AddItem(createZoneItem) submenu.OnItemSelect = function(sender, item, index) if item == createZoneItem then local playerPed = PlayerPedId() local coords = GetEntityCoords(playerPed) -- Zone erstellen if zoneBlip then RemoveBlip(zoneBlip) end zoneBlip = AddBlipForRadius(coords.x, coords.y, coords.z, zoneRadius) SetBlipColour(zoneBlip, 1) SetBlipAlpha(zoneBlip, 128) QBCore.Functions.Notify("Sperrzone erstellt mit Radius: " .. zoneRadius .. " Meter", "success") elseif item == radiusItem then zoneRadius = radiusItem:IndexToItem(index) end end end -- Serverweite Ankündigungen function AddAnnouncementMenu(menu) local submenu = MenuPool:AddSubMenu(menu, "Ankündigungen") local announcementItem = NativeUI.CreateItem("Nachricht senden", "Sende eine Nachricht an alle Spieler") submenu:AddItem(announcementItem) submenu.OnItemSelect = function(sender, item, index) if item == announcementItem then local message = KeyboardInput("Gib die Nachricht ein:", "", 200) if message then TriggerServerEvent("qbcore:announcement", message) end end end end -- Tastendruck zum Öffnen des Menüs Citizen.CreateThread(function() AddZoneMenu(MainMenu) AddAnnouncementMenu(MainMenu) MenuPool:RefreshIndex() while true do Citizen.Wait(0) MenuPool:ProcessMenus() if IsControlJustReleased(0, Config.OpenMenuKey) then local playerData = QBCore.Functions.GetPlayerData() if Config.AllowedJobs[playerData.job.name] then MainMenu:Visible(not MainMenu:Visible()) else QBCore.Functions.Notify("Du hast keine Berechtigung, dieses Menü zu verwenden.", "error") end end end end) function KeyboardInput(textEntry, exampleText, maxStringLength) AddTextEntry('FMMC_KEY_TIP1', textEntry) DisplayOnscreenKeyboard(1, "FMMC_KEY_TIP1", "", exampleText, "", "", "", maxStringLength) while UpdateOnscreenKeyboard() == 0 do DisableAllControlActions(0) Wait(0) end if GetOnscreenKeyboardResult() then return GetOnscreenKeyboardResult() end return nil end